Zh/Counter-Strike 2/Dedicated Servers

This page outlines how to setup and run an Dedicated Server.
== Recommended system requirements ==
Linux:
* Minimum RAM: 2GB
* Storage: 33GB 
* Requires Glibc 2.31
* CPU: minim x86-64-v2 (with popcnt)
== Download the CS2 Dedicated server ==
This describes the process of installing/updating the CS2 dedicated server. These steps are required every time the game is updated. To automate this process for future updates, see SteamCMD#Automating SteamCMD.
1. Download and install SteamCMD.
2. Start SteamCMD. At the prompt, set your CS2 Dedicated Server install directory. 
Examples:
* Windows:
 force_install_dir c:\cs2-ds\
 force_install_dir .\cs2-ds\
* Linux:
 force_install_dir /full/path/to/cs2-ds/
3. Install or Update CS2.
If this is your first time installing or if you are trying to verify the integrity of the server files:
 app_update 730 validate
If this is simply an update to an existing CS2 dedicated server:
 app_update 730
4. Once finished, type at the prompt to properly log off of the Steam servers.
== Registering Game Server Login Token ==
No. GSLT must be created just like with CSGO. Seem to be able to use the same one from CSGO. I was unsure how to add/use it properly. Using +sv_setsteamaccount <TOKEN> on command line. With CSGO you set this in autoexec.cfg
No Steam account token was specified. Logging into anonymous game server account. Connections will be restricted to LAN only. To create a game server account go to http://steamcommunity.com/dev/managegameservers
== Starting the Server ==
=== === 
Head to the folder where you downloaded the application and open a terminal there.
Head to the executable for the server that is stored in - But don't click on it as it will just launch the game.
In the terminal run the following command to start the server:
 .\cs2.exe -dedicated +map de_dust2
=== === 
Head to the folder where you downloaded the application.
Head to the executeable that is stored in 
Run the following command to start the server:
 ./cs2 -dedicated +map de_dust2
== Command-Line Parameters ==
A list of useful related to Counter-Strike 2 dedicated servers.
Command-line parameters are additional arguments specified before the program starts and can be set by appending them after the / executable file.
Parameter	Example	Description
 	n/a 	Allows Counter-Strike 2 to launch as a dedicated server.
 	 	Allows the server IP to be set. Useful if a CS2 server needs to be bound to a specific IP address.
 	n/a 	Allows VAC to be disabled.
 	 	Set the number of slots for the game server.
 	 	Set the game server game/query port.
== Console Variables (cvars) ==
A list of useful related to Counter-Strike 2 dedicated servers.
 can be loaded from a config file, by including them with command-line parameters using e.g or from the console.
Console Variable (cvar)	Example	Description
 	 	Hostname for server.
 	 	map <mapname> :Load a new map.
 	 	Set the configuration of game type and mode based on game alias like 'deathmatch'.
 	 	Server is a lan server ( no heartbeat, no authentication, no non-class C addresses ).
 	 	Log server information in the log file.
== Game Modes & Types ==
 Competitive:
 game_alias competitive <- sets both game mode and game type commands
 game_mode 1
 game_type 0
 
 Wingman
 game_alias wingman <- sets both game mode and game type commands
 game_mode 2
 game_type 0
 
 Casual
 game_alias casual <- sets both game mode and game type commands
 game_mode 0
 game_type 0
 
 Deathmatch
 game_alias deathmatch <- sets both game mode and game type commands
 game_mode 2
 game_type 1
 
 Custom
 game_alias custom <- sets both game mode and game type commands
 game_mode 0
 game_type 3
== Tools and Helpers ==
=== Docker ===
If your server is running Docker, you can simply use:
 docker run -d --name=cs2 -p 27015:27015 -p 27020:27020 joedwards32/cs2
The container will automatically update the game on startup, so if there is a game update just restart the container. 
The config is located within the container here: 
You can find the associated Docker Hub page
=== CS2 Multiserver ===
A launch and update script for Linux and WSL to run multiple game servers on one machine. It was originally made to run CS:GO LAN tournaments as painlessly and efficiently as possible.
 It includes: 
* Guided setup and game update (cs2-server setup, cs2-server update)
* Game files are shared between instances, saving disk space and bandwidth
* Additional control upon launch via environment variables (MAP="de_inferno" cs2-server @lan01 start)
* Console access and support for logfiles
 More Info and Download: 
 Multiserver on GitHub. Testing, feedback and contributions are welcome!
== Advanced Configuration ==
== Troubleshooting ==
=== ===
==== Failed to load module '/home/your_user/.steam/sdk64/steamclient.so' ====
This is a common issue with a fairly easy fix.
The reason for this error is that doesnt place the file in the folder it should, as the games typically look for it there. So what you need to do is the following. And you might even have to create the ~/.steam/sdk64 directories.
Create a symlink (shortcut) to the file like this:
 ln -s /home/your_user/PATHTOYOUR/steamcmd/linux64/steamclient.so /home/your_user/.steam/sdk64/
Replace with the username you are using.
=== === 
==== Failed to initialize Steamworks SDK for gameserver. Failed to load module 'C:\Program Files (x86)\Steam\steamclient64.dll' ====
In order to lauch the current version steam has to be installed.