JetStorm -- A Shellscript collection to ease game server administration

1. Installing

   JetStorm does not really need to be installed. Just extract it to
   somewhere in your home directory, like ~/jetstorm (default).

   If you do want to install it to another directory (like /usr/local),
   you can do so, but you will need to tell JetStorm where it is located
   in order for it to be able to find its command scripts. This can be
   done by putting a jetstorm.conf file in either /etc/jetstorm.conf,
   or /usr/local/etc/jetstorm.conf, and defining the JETBASE variable
   to point to the path jetstorm.sh resides in.

   Config files are being sourced if found, in this order:

   If none of these exist, JetStorm will exit with an error message about
   it not being configured.

   If you want to be able to run jetstorm as a command, consider
   symlinking jetstorm.sh to ~/bin (and adding that to your PATH if

   Before I forget, there is one thing: The edit* commands will try to use the
   EDITOR environment variable to start your favorite editor. If that variable
   is unset, doom will come upon you in form of an error message about an
   unset variable. You might want to add a line of this sort to your login
     export EDITOR=vi

2. Environment setup

   Jetstorm _expects_ you to have set up a general repository, in which
   you keep all your Mods and Plugins (because basically, that's what I'm
   doing). Per default, this repository is expected to reside in
   ~/sourcemod, but this can be changed by setting the REPOBASE variable
   in the configuration.

   JetStorm does not care about whether or not you use a VCS for the Repo,
   the repo is simply a common directory from where mods are being symlinked.

   The expected layout of this repo is just like you would install the mods
   in the game server:


   So, nothing special there. Just set up your configs and modules to be as
   generally-usable as possible, which will save you the hassle of configuring
   the general stuff every time you install a new server.

3. Game server setup

   For each game server, JetStorm _expects_ to find a file named
   jetstorm.conf (see examples/jetstorm_gameserver.conf for an example of this
   file), which will name a few details about this server and the game it is
   running. (It also expects you to use one server install for exactly one
   game, because again, that's what I'm doing). It expects this file to be in
   the game server root directory (the one that contains steam, srcds_run and
   all that stuff).

   If this file is in place, JetStorm is ready to do its magic.

4. Using JetStorm

   To use JetStorm, cd to the root directory of your game server and run
   jetstorm.sh (if you symlinked it to your path, simply typing jetstorm
   should do the trick). You will be greeted with a brief help message that
   explains the basic command syntax, telling you to use the command "help"
   in order to get an idea about which commands exist, and what they do. Since
   these commands are self-documenting, I'm not going to do that here. :)

   Per default, you can abbreviate commands when calling them if the
   abbreviation you use is not ambiguous. This means, you can abbreviate the
   editjet command to "editj" and it will still work; however you can't abbr.
   it to "edit" because then JetStorm wouldn't be able to tell if you wanted
   "editjet", "editmeta" or "editplugin". Don't worry, if the abbreviation
   is abiguous you will get a nice error message, and an indication about
   the commands that matched your pattern.

   Note though that the help and editjet commands do not perform this kind of
   matching. You will need to pass the exact target command as arguments.

5. Hacking JetStorm

   If you want to create a new command or edit an existing one, the easiest
   way is by running "jetstorm editjet <command>", which will open the
   according shell script for you to edit.

   If you made a new command script which you'd like to donate, please feel
   free to send it to me at <diese-addy@funzt-halt.net>.