Best CS2 Server Settings
A clean CS2 server.cfg for whatever you're running — 5v5 competitive, casual, deathmatch, wingman or a practice/retakes server. The game_type and game_mode combo that picks the mode, the mp_ ruleset that shapes the match, the override file Valve's mode configs load for you, and why there is no 128-tick setting.
CS2 is configured in two places: launch parameters (mode, map, GSLT, port — set once at start) and server.cfg / mode configs (the rules that shape each match). The mode itself is a game_type + game_mode pair, and it's the thing people get wrong most often.
Below are the mode combos, a solid competitive ruleset, the override file, and the 64-tick reality. New to it? Start with how to make a CS2 server, and add plugins via how to install CS2 plugins.
What you'll need
A quick checklist before you begin — have these ready and the rest is easy.
- A CS2 dedicated server (app 730) installed via SteamCMD.
- A valid GSLT (sv_setsteamaccount) to list it publicly.
- Access to server.cfg and your launch parameters.
- The right game_type / game_mode pair for your mode.
- (Optional) Metamod + CounterStrikeSharp for practice/retakes plugins.
Configure your CS2 server, setting by setting
Pick the mode with game_type + game_mode
The mode is a pair of values, not one setting. Set them in the launch line: Competitive 0/1, Casual 0/0, Wingman 0/2, Deathmatch 1/2, Custom/practice 3/0 (for surf, retakes, KZ via plugins). game_alias competitive (or casual, wingman, deathmatch) sets both at once.
+game_type 0 +game_mode 1 // Competitive 5v5 // Casual 0/0 · Wingman 0/2 · Deathmatch 1/2 · Custom 3/0
Set the core server.cfg
The essentials every server needs: name, a GSLT so it can be public, RCON, passwords and cheats off. sv_lan 0 makes it an online server.
hostname "My ESAGAMES CS2 Server" sv_setsteamaccount "YOUR_GSLT" rcon_password "changeme" sv_password "" // set to lock the server sv_lan 0 sv_cheats 0
Dial in the competitive ruleset
For 5v5, the mp_ convars set round count, economy, team balance and overtime. The round, money and timer values match Valve's shipped gamemode_competitive.cfg (MR12, 24 rounds). That file leaves overtime off, so mp_overtime_enable 1 is your choice if you want ties played out.
mp_maxrounds 24 mp_overtime_enable 1 mp_friendlyfire 1 mp_autoteambalance 1 mp_limitteams 1 mp_startmoney 800 mp_maxmoney 16000 mp_roundtime 1.92 mp_freezetime 15
Set the warmup & match flow
Warmup, ready-up and knife-round behaviour shape how a match starts. For pugs, a warmup with a ready command (via a plugin like MatchZy) is standard; for casual play a short fixed warmup is enough.
mp_warmuptime 60 mp_warmup_pausetimer 1 // hold warmup until ready mp_halftime 1
Leave the rate convars at Valve's values
CS2 keeps only two server rate convars. sv_maxrate 0 means unlimited bandwidth, and sv_minrate is raised to 98304 by Valve's gameinfo.gi. The CS:GO-era sv_mincmdrate, sv_maxcmdrate, sv_minupdaterate and sv_maxupdaterate do not exist in CS2, so delete them from old configs.
sv_maxrate 0 // sv_minrate: 98304 from gameinfo.gi, no need to set it
Put mode rules in the _server.cfg Valve runs for you
When a mode loads, CS2 runs Valve's gamemode_competitive.cfg and then gamemode_competitive_server.cfg from game/csgo/cfg/, so anything in the _server.cfg wins. Each mode has its own pair: casual, competitive2v2 (wingman), deathmatch, armsrace, custom. Keep shared settings (name, passwords) in server.cfg and leave Valve's own mode files untouched.
game/csgo/cfg/server.cfg // shared: hostname, passwords game/csgo/cfg/gamemode_competitive_server.cfg // your 5v5 rules game/csgo/cfg/gamemode_deathmatch_server.cfg // your DM rules
A clean, correct config
game_type + game_mode is the #1 gotcha
The mode is a pair, not one value. 0/1 is competitive, 1/2 is deathmatch. Set the wrong pair and the server loads a mode you didn't want, ignoring half your rules.
CS2 is fixed at 64 tick
Unlike CS:GO there is no tickrate convar to raise: CS2 is hardcoded to 64 tick, and Valve designed sub-tick so tick rate does not matter for moving, shooting or throwing. Spend the effort on the route to your players instead.
One _server.cfg per mode
Valve runs gamemode_<mode>_server.cfg right after its own mode file, so each mode keeps its own overrides without editing Valve's files. Far cleaner than one giant server.cfg you keep re-editing.
GSLT to go public
Without a valid GSLT (sv_setsteamaccount) for app 730 the server can't be listed publicly. Generate one per server and keep it secret.
Common problems & fixes
Hit a snag? These are the issues people run into most — and how to solve them.
The server loads the wrong mode
game_type and game_mode are a pair. Competitive is 0/1, deathmatch 1/2 — set BOTH correctly in the launch line, not just one.
My mp_ convars have no effect
The mode config isn't being exec'd, or the mode loaded overrides them. Move them into gamemode_competitive_server.cfg (or the _server.cfg of your mode) and check the mode pair matches.
The server won't appear publicly
No valid GSLT. Set sv_setsteamaccount with a token generated for app 730, and make sure UDP 27015 is open.
Players report choke or bad reg
Check that an old config is not capping sv_maxrate (0 = unlimited) and delete CS:GO-era cmdrate/updaterate lines, which CS2 does not have. After that it is route quality: CS2 is fixed at 64 tick, so host closer to your players.
Skip the setup — host it with ESAGAMES
Want a competition-ready CS2 server without hand-editing configs? Our CS2 hosting lets you edit configs, change maps, manage RCON and restart from a web panel, with Metamod and CounterStrikeSharp support on a protected Frankfurt network — instant setup.
Frequently asked questions
How do I set the game mode on a CS2 server?
The mode is a game_type + game_mode pair: Competitive is 0/1, Casual 0/0, Wingman 0/2, Deathmatch 1/2, and Custom/practice 3/0. Set both values in the launch line, or use game_alias — setting only one loads the wrong mode.
What is the best server.cfg for competitive CS2?
For MR12 5v5: mp_maxrounds 24, mp_overtime_enable 1, mp_friendlyfire 1, mp_autoteambalance 1, mp_startmoney 800, mp_maxmoney 16000, mp_roundtime 1.92 and mp_freezetime 15 — plus the core sv_setsteamaccount (GSLT), rcon_password and sv_cheats 0.
Does CS2 support 128-tick servers?
No. CS2 is hardcoded to 64 tick and has no tickrate convar. Valve's sub-tick system is designed so tick rate does not matter for moving, shooting or throwing, so host on a well-peered network close to your players instead.
How do I make a CS2 practice or retakes server?
Run it as a custom game (game_type 3, game_mode 0), then install Metamod:Source + CounterStrikeSharp and a practice or retakes plugin. See our how to install CS2 plugins guide for the load order.
Why is my CS2 server ignoring my config?
Usually the config isn't being exec'd, or the game_type/game_mode pair loads a different mode that overrides your convars. Confirm the launch line sets the right mode, and put mode rules in gamemode_<mode>_server.cfg, which CS2 runs right after Valve's mode file.
How do I set the round count and economy?
mp_maxrounds sets total rounds (24 for MR12), mp_startmoney and mp_maxmoney set the economy, and mp_roundtime / mp_freezetime set the timing. Put these in gamemode_competitive_server.cfg so they apply every time competitive loads.
Keep reading
Counter-Strike 2 is a trademark of Valve Corporation. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by Valve. You must own a legitimate copy of the game to play on Steam-secured servers.