Switching a dedicated Counter-Strike 2 server rapidly between a grenade utility practice environment and an official 5v5 competitive match is essential for team training sessions. Restarting the server process or manually altering startup arguments wastes valuable practice time; the correct architecture uses isolated, executable configuration scripts.
This guide targets self-hosted Linux CS2 dedicated server administrators. As of October 28, 2026, competitive matchmaking rules map to +game_type 0 +game_mode 1, while practice setups take advantage of Source 2's native trajectory preview cvars.
Game mode integer mappings and launch arguments#
In Counter-Strike 2, game modes are designated by integer pairs supplied during server initialization:
| Game Mode | game_type | game_mode | Description |
|---|---|---|---|
| Competitive | 0 | 1 | Standard 5v5 rules, overtime, purchase armor |
| Casual | 0 | 0 | 10v10, free armor, friendly fire disabled |
| Wingman | 0 | 2 | 2v2 tactical play on single bomb-site maps |
| Deathmatch | 1 | 2 | Free-for-all respawns, open weapon selection |
| Custom | 3 | 0 | Full parameter control through script files |
Example startup command for a baseline competitive server:
./game/bin/linuxsteamrt64/cs2 -dedicated \
-port 27015 \
+game_type 0 \
+game_mode 1 \
+map de_mirage \
-maxplayers 12
Crafting the practice configuration (practice.cfg)#
For grenade line-up drills, flashbang timing, and position training, create game/csgo/cfg/practice.cfg:
cat << 'EOF' > /srv/cs2/game/csgo/cfg/practice.cfg
sv_cheats 1
bot_kick
mp_warmup_end
mp_freezetime 0
mp_roundtime 60
mp_roundtime_defuse 60
mp_maxmoney 60000
mp_startmoney 60000
mp_buytime 99999
mp_buy_anywhere 1
sv_infinite_ammo 1
ammo_grenade_limit_total 5
sv_showimpacts 1
sv_showimpacts_time 10
sv_grenade_trajectory_prac_pipreview 1
sv_grenade_trajectory_prac_trailtime 8
mp_restartgame 1
EOF
The cvar sv_grenade_trajectory_prac_pipreview 1 enables Source 2's native picture-in-picture window, displaying real-time camera views of where your grenade lands while aiming.
Crafting the competitive match configuration (comp.cfg)#
To restore regulation rules, create game/csgo/cfg/comp.cfg, which disables cheats and reapplies tournament standards:
cat << 'EOF' > /srv/cs2/game/csgo/cfg/comp.cfg
sv_cheats 0
exec gamemode_competitive.cfg
mp_freezetime 15
mp_warmup_pausetimer 0
mp_warmup_start
bot_quota 0
mp_restartgame 1
EOF
Executing exec gamemode_competitive.cfg restores Valve's baseline timer, economic, and armor configurations, while sv_cheats 0 guarantees competitive integrity.
Switching modes dynamically via console or RCON#
Toggle between modes in real time from the in-game developer console or an external RCON tool without restarting the server daemon.
To activate practice mode:
rcon exec practice.cfg
To initialize a competitive match:
rcon exec comp.cfg
The server instantly reapplies variables and executes mp_restartgame 1 to reset round states in one second.
If you coordinate tournament servers and team training using Nexardo, maintain shared configuration templates across your fleet: rapid profile switching keeps practice schedules on track before official matches.




