- One script to rule them all.
- Game server support provided via extensible gamedata system to reduce duplication and increase ability to support more games
- Decent enough config backend that exposes most of what game server admins want in flat files
- Creates separate directory for all LGSM files. Defaults to 'lgsm' in the same directory as the script. The structure of this directory is:
- functions Functions for LGSM. These are like modules, whatever functionality you need from LGSM is mostly handled by these scripts.
- gamedata Data files that describe the games that can be installed. There is a README.md in this folder with more detail on how this system works. This is still very much a work in progress, and may have some serious changes made. In addition, a majority of the games have NOT been tested with the new lgsm-core and gamedata system, so I'd appreciate anyone that wants to help me sort out the remainder of the games.
- servers Each game gets its own directory, for instance 'insserver' for the Insurgency LGSM
- cfg Server configuration files. These files are split out from the script so that upgrading the script doesn't require manual editing, the data and code are being separated.
- _default.cfg Generated regularly by the main script, this will always be overwritten so do not edit it if you want to keep your changes!
- _common.cfg The config executed by all your instances. Put defaults for your deployment here, for example ip is a common setting.
- $instance.cfg These configs are created for each instance of LGSM. For example, if I install insserver and create another instance by symlinking to it with "inspvpserver", I will have insserver.cfg and inspvpserver.cfg files here. These files will never be overwritten by the LGSM.
- log Log files. Includes script, console, server by default. I am in the process of defining logging settings in gamedata and cfg files to add flexibility and intelligence here.
- tmp These are "temp files" generated by the gamedata parser. Feel free to take a look at them, but they get regenerated every time the script is ran, so don't make any changes here that you want to keep. Make the changes in the cfg files.
- cfg Server configuration files. These files are split out from the script so that upgrading the script doesn't require manual editing, the data and code are being separated.
- tmp General purpose temporary file storage.
- Better GitHub integration Supports using Git hashes to check for updated files. Self-bootstrapping sort of works....
- Config files for defaults are in a central location, but will be templated and moved to gamedata at some point.
- Dependencies handled in standard way via gamedata files. Different versions of the files are referenced by MD5 hashes for a widely supported method of identifying binary content.
- SteamCMD and server support for beta and workshop files
- sourcemod command to install latest MetaMod and SourceMod to your game server instance
The Linux Game Server Managers are command line tools for quick, simple deployment and management of various dedicated game servers and voice comms servers.
Game servers traditionally are not easy to manage yourself. Admins often have to spend hours just messing around trying to get their server working. LGSM is designed to be a simple as possible allowing Admins to spend less time on management and more time on the fun stuff.- Backup
- Console
- Details
- Installer (SteamCMD)
- Monitor (including email notification)
- Update (SteamCMD)
- Start/Stop/Restart server
- Debian based (Ubuntu, Mint etc.).
- Redhat based (CentOS, Fedora etc.).
- GLIBC >= 2.15 recommended [specific requirements].
- Tmux >= 1.6 recommended (Avoid Tmux 1.8).