-
Notifications
You must be signed in to change notification settings - Fork 15
CS2-Multiserver is an administration tool for a niche use case, so there aren't easy guides to follow or lots of people to ask.
It is required that users
- have some networking, game server and/or linux administration knowledge
- read the FAQ, manual and error messages
- are comfortable experimenting with settings
- try troubleshooting themselves
When asking questions or opening issues, remember that CS2-Multiserver is free software, created by unpaid volunteers in their free time, so ...
- Be respectful and patient
- Do not ask irrelevant questions (for example about linux or networking in general)
- Include all information you can that might be relevant
- steps to reproduce
- modifications you made or configuration specific to your case
- command line output
- log files (please remove credentials before posting them)
If you have the knowledge and capacity, please also help with issues from others, add to the documentation, or write guides.
- CS2: The game Counter-Strike 2, latest entry of the Counter-Strike series and successor of the popular "Counter-Strike: Global Offensive" aka CS:GO.
-
cs2-multiserver, MSM: Shell scripts to install, manage and launch dedicated game servers for CS2. Launch on the command line as
cs2-server. - Base Installation: The place where the game files of CS2 are initially installed to. This acts as a source for the files of the instances.
-
Instance: An individual game server, with individual configuration and log files. Core game files shared with other instances and the base installation. Instances are specified on the command line with an
@-prefix.
Please see the section "Getting Started" of the README.
cs2-multiserver creates the folder msm.d/cs2 in your user's home directory. There, you can find the subfolders ...
- base: By default, this is where the Base Installation is saved to.
- inst-...: For each instance, the directory of the game files.
- cfg: The configuration files for cs2-multiserver, separated by instance. These are used to generate the autoexec file and the launch command.
- log: Logs of MSM and the game server, separated by instance.
- tmp: Temporary files.
- addons: Reserved for potential future MSM addons.
If you are limited on disk space, it is okay to occasionally delete the log and tmp files.
For each instance, edit ~/msm.d/cs2/cfg/inst-myinstance/server.conf and edit the __PORT__ variable. Each instance must use its own port, and the server will not launch if the port is already in use. Recommended values are 27015 (default), 27115, 27215, ...
The game mode is set by choosing a PRESET. Presets are just reusable configuration files, located at ~/msm.d/cs2/cfg/presets. Some presets are included, but if they do not match your needs, you can edit them or create new ones.
Choose a preset when launching a server with PRESET=deathmatch cs2-server @myinstance start, or set the default preset per instance by editing __PRESET__ in server.conf.
The available maps on a server are determined by the __MAPGROUP__ of the preset. On starting the server, the first entry of __MAPS__ is loaded first. You can override them on the command line using MAPGROUP=mg_casualsigma MAP=de_ancient cs2-server @myinstance start.
If you want to host workshop maps, create a collection and specify the WORKSHOP_COLLECTION_ID.
Just delete the instance folder (~/msm.d/cs2/inst-...).
Yes. During cs2-server setup, when you are asked to select the base installation directory, paste or enter the path to your existing CS2 installation and you are good to go.
For many cvars, there are corresponding configuration variables in presets, server.conf and gotv.conf.
For those that are not covered, you can add extra cvars in server.conf with AUTOEXEC_CUSTOM, such as
AUTOEXEC_CUSTOM=(
"mp_autokick 0"
"mp_autoteambalance 0"
"mp_freezetime 0"
"sv_airaccelerate 400"
"exec myconfig.cfg"
)
These are executed directly on server start. Currently, there is not a way to override the game mode settings. If you know how to do it, please share it in Discussion #28.
In contrast to many other tools, the command line arguments are not provided by the user, but generated from the configuration options. The following table shows some common arguments and the respective configuration variables:
| Command line argument | Configuration variable. | File | Comments |
|---|---|---|---|
-ip 123.45.67.89 |
IP=123.45.67.89 |
server.conf | |
-port 27215 |
PORT=27215 |
server.conf | |
-maxplayers 12 |
MAXPLAYERS=12 |
preset | |
-authkey 1234abcd... |
APIKEY=1234abcd... |
- | see Discussion #44 |
+sv_setsteamaccount 5678abcd... |
GSLT=5678abcd... |
server.conf | see Discussion #26 |
+tv_enable 1 |
TV_ENABLE=1 |
gotv.conf | |
+host_workshop_collection 789 |
WORKSHOP_COLLECTION_ID=789 |
preset |
If you are used to running console commands or setting cvars through the command line (prefixed with a plus-sign, for example +exec myconfig.cfg), please use AUTOEXEC_CUSTOM instead. Please also see the previous sections How do I select a different map or game mode? and How can I set server variables? of this FAQ.
If it is still necessary to add some new command line argument, please open an issue with the details and it can be added to the list.
- Check for error messages
- Connect to the server console using
cs2-server @myinstance consoleor ... - Open the game logs at ~/msm.d/cs2/log/inst-myinstance
- Connect to the server console using
- Take note of any warnings displayed by cs2-multiserver
- Enable script debugging mode with
export MSM_DEBUG=1