JetStorm -- A Shellscript collection to ease game server administration
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
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 <firstname.lastname@example.org>.