Comment on page
Adding a new Game Server
Adding a new game server is one of the most common things developers do. This guide will help you add a new game server to LinuxGSM.
replace gameserver with the name of the new server e.g rustserver
Firstly create a new
lgsm/config-default/config-lgsm/gameserver. An existing _default.cfg file can be used as a template.
Update all the variables in the new
_default.cfgfile to fit the new server.
Some common variables that will need updating:
## SteamCMD Loginsection only if required.
startparametersare any parameters the executable requires to run the game server.
appidused to download a game server from Steam. Remove if not using steam.
steammasterused if the game servers are listed on the Steam master servers.
stopmodedefines how a server can safely exit.
querymodedefines the type of query monitor that can be used to check the server is responding.
- console type highlights to users if the console outputs and is interactive.
- Game Server Details
- Various directory and config variables.
Add the new server details to
serverlist.csvas well as add any dependency requirements to all the distro csv files found in
Some game servers require alterations before they can start common examples include:
- copying library files to serverfiles
- symlinking files
- creating directories
- adding a directory to
If this is required a fix module will need to be created.
- 1.Create a new module called
fix_[shortname].sh(use an existing example as guidance)
- 2.Add the required fixes to the module
- 3.Add the module to
- 4.Add the fix to
Most game servers use the valve protocol for allowing queries, however, others are available. Look for any developer documentation to try and find out if querying is supported.
query-rawcommand to assist in testing the querying of the new game server.
Most game servers require a minimum glibc version. Use the
detect-glibccommand to find out the minimum glibc version required.
Various game server info will need to be parsed from game server configs or variables. Use the info_*.sh modules to add this info.
Not all game servers use SteamCMD. If this is the case a custom update module will need to be created. There are a number of examples in the code that can be used as a baseline.
Some game servers may require bespoke commands to complete tasks. Examples of this include Teamspeak 3 and Unreal Tournament 2004. Take a look at the
core_getopts.shmodule for examples of how to add commands.