How to Host a Counter-Strike 2 Server
A guide to hosting a Counter-Strike 2 dedicated server - installing via SteamCMD, configuring server.cfg, setting up workshop maps, and running practice or community servers.
Counter-Strike 2 dedicated servers are free to run and are provided directly by Valve. This guide covers what you need to know to get one running - from installation to ongoing updates.
CS2 dedicated server basics
CS2 dedicated servers use the Source 2 engine. Valve distributes the server as a free Steam app (app ID 730), the same ID as the game itself. You do not need a CS2 licence to run a dedicated server - anonymous SteamCMD access is sufficient. The server binary runs on both Linux and Windows.
Requirements
CS2 dedicated servers typically use 2 to 4 GB RAM for standard play, though usage can spike higher with many players or workshop content loaded. CPU requirements are modest by modern standards - the server is single-threaded for game logic.
Linux is the recommended OS for running CS2 servers in production. Windows works, but Linux generally has lower overhead, better uptime characteristics, and is what most hosting providers use. The rest of this guide assumes Linux.
Installing via SteamCMD
SteamCMD is Valve's command-line Steam client for server use. Install it on your server, then run:
./steamcmd.sh +force_install_dir ./cs2 +login anonymous +app_update 730 +quit
This downloads the full CS2 dedicated server to the ./cs2 directory. The download is several gigabytes, so allow time for it to complete. The +login anonymous flag means you do not need a Steam account for the base server install.
Configuring server.cfg
Create your server configuration file at game/csgo/cfg/server.cfg. Key settings to include:
hostname "Your Server Name"sv_password ""- leave blank for a public server, or set a password for private usercon_password "yourpassword"- required for remote admin accessmp_autoteambalance 1- automatically balance team sizesmp_maxrounds 30- rounds per half (15 per side on standard competitive)
CS2 inherits many mp_ convars from CS:GO. Most standard CS:GO configs transfer with minimal changes.
Starting the server
Launch the server with:
./game/bin/linuxsteamrt64/cs2 -dedicated -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2
game_type 0 and game_mode 0 sets competitive mode. Change +map de_dust2 to whichever map you want to start on. The server will appear in the community server browser once it is running and has an open public port.
Workshop maps
Running workshop maps requires a Workshop auth token generated from your Steam account. Go to the CS2 Dedicated Server page on the Steamworks developer site, generate a token for your Steam account, and pass it as a launch argument:
-authkey YOUR_TOKEN_HERE
Once the auth key is set, you can load workshop maps by their Workshop ID using +host_workshop_map WORKSHOPID in the launch arguments.
Keeping the server updated
CS2 updates frequently, often in response to competitive patches or security fixes. An outdated server binary may refuse connections from updated clients. Set up a simple update script that runs before each server restart:
./steamcmd.sh +force_install_dir ./cs2 +login anonymous +app_update 730 +quit
You can run this as a cron job or include it in your server startup script. SteamCMD will exit immediately if the server is already up to date, so there is no harm in running it on every restart.
Zeros Host does not currently offer CS2 hosting. If you are looking for managed game server hosting for Garry's Mod, Minecraft, Rust, Terraria, or Project Zomboid, see our pricing page. If CS2 hosting is something you want to see added, use the contact form to let us know.
Still stuck after reading this?
Ask in our Discord - we help with hosting questions whether or not you host with us.