Counter-Strike 2 game modes and server.cfg explained

A Counter-Strike 2 server can run competitive matches, relaxed casual games, deathmatch warmups and more. Two things decide what you get: the game mode you start it with, and the settings in your server.cfg. This guide explains both, so you can run exactly the kind of server you want.

Game type and game mode

CS2 uses a pair of numbers to choose the mode, game_type and game_mode. They are given when the server starts:

+game_type 0 +game_mode 1 +map de_dust2
Modegame_typegame_mode
Casual00
Competitive01
Wingman02
Arms Race10
Demolition11
Deathmatch12

On a managed panel, the start-up page usually has fields for these, so you can change them without typing the whole line. Changing the mode needs a restart, and often a map change.

Choosing the map

The starting map is set with +map, for example +map de_mirage. For a map from the Steam Workshop, use +host_workshop_map followed by the workshop ID:

+host_workshop_map 123456789

A rotation lets your server change maps by itself. Many servers use a plugin or a map list, so players are not stuck on one map all night. See How to install CounterStrikeSharp on CS2 for plugin options.

The config file

The file server.cfg lives in the game's cfg folder, at game/csgo/cfg/ in a typical installation. It runs each time the server loads a map. Open it in the file manager and add one setting per line:

hostname "My CS2 Server | Competitive"
sv_password ""
rcon_password "a-long-random-password"
sv_cheats 0
mp_maxrounds 24
mp_roundtime 1.92
bot_quota 0
sv_lan 0

What the common ones do:

  • hostname is the name in the server browser.
  • sv_password is the join password. Leave it empty for a public server.
  • rcon_password protects remote administration. Use a long random value, and read What RCON is and how to use it safely.
  • sv_cheats should be 0 on any server where players compete. Cheats let players use commands like noclip.
  • mp_maxrounds sets the number of rounds in a match.
  • mp_roundtime is the length of each round in minutes.
  • bot_quota is how many bots fill empty slots. Set 0 for no bots.
  • sv_lan must be 0 for a server that people on the internet can join.

Many more mp_ settings exist for money, freeze time, buy time and friendly fire. Change a few at a time and test with a friend.

Listing the server

For a server to appear in the public list, it needs a login token tied to your Steam account. Getting a Game Server Login Token for CS2 explains how.

Practical setups

Competitive practice: game type 0, mode 1, mp_maxrounds 24, no bots, a password if only your team plays.

Casual hangout: game type 0, mode 0, a larger player cap, bots on to fill empty seats.

Warmup deathmatch: game type 1, mode 2, a short rotation of maps, respawns on.

If you run several kinds, ask yourself whether one server should do it all. A server that switches between serious matches and play often confuses people and breaks your config. Two servers, one for each, are usually easier to run well.

When changes do not apply

  • You changed the file but nothing happened. Many settings only load at map start, so change the map or restart.
  • A setting reverts. A plugin or a mode config may override it. The game mode loads its own config files, and server.cfg runs after. Look for lines later in the chain that set the same value.
  • The server will not start. A mistake in the start-up line is the usual cause. Check the console, as described in How to read your server logs.

Keep a copy of server.cfg before you edit it. And Editing config files without breaking them covers common mistakes with quotes and encodings.


Still stuck? Open a ticket on Discord - run /ticket in any channel, pick a department, and include your Server ID or Invoice ID so we can jump straight in.