CS2 RCON Commands: Counter-Strike 2 Server Admin Reference
How RCON works on a CS2 dedicated server (and why the in-game rcon prefix is broken), plus the commands that matter: status, kick, banid/writeid, match cvars, bot control, map and mode switching, and the CS:GO-to-CS2 changes that catch admins out.
Counter-Strike 2 runs a dedicated server with the standard Source RCON protocol (TCP). This reference covers connecting, moderation, match settings, bots, and the CS2-specific differences from CS:GO.
How CS2 RCON works
RCON uses TCP on the game port (default 27015). Two requirements:
- The launch flag
-userconmust be present, or the RCON listener never starts. rcon_passwordmust be set (non-empty).
cs2 -dedicated -usercon +map de_dust2 +rcon_password "mypassword"
The in-game rcon prefix is broken in CS2. In CS:GO you could type rcon <command> from a connected client's console. That was disabled at CS2 launch and never restored. Use an external Source RCON tool that connects over TCP - it sends commands bare (e.g. changelevel de_mirage, not rcon changelevel de_mirage).
Moderation
| Command | Syntax | Notes |
|---|---|---|
status | status | Lists userid, name, SteamID (server console only), ping. |
kick | kick <name> | Kick by name (partial match). |
kickid | kickid <userid> [reason] | Kick by the numeric userid from status. |
banid | banid <minutes> <steamid> [kick] | Ban a SteamID; 0 = permanent. Add kick to remove immediately. |
banid takes minutes, not seconds, and does not kick on its own unless you add the kick argument. Bans are in-memory until you run writeid/writeip. Add exec banned_user.cfg and exec banned_ip.cfg to your server.cfg so bans reload on restart.
The numeric userid is session-scoped and changes between maps - always re-run status before using kickid. CS2 SteamIDs use the STEAM_1:X:XXXXXXXX format, not SteamID64.
banid 0 STEAM_1:0:12345678 kick # permanent ban + kick
writeid # persist it
Match settings
| Cvar | Description |
|---|---|
mp_maxrounds <n> | Rounds before the map ends. |
mp_roundtime <minutes> | Round length (use mp_roundtime_defuse on bomb maps). |
mp_freezetime <seconds> | Buy/freeze phase at round start. |
mp_startmoney <amount> | Starting money. |
mp_maxmoney <amount> | Money cap (default 16000). |
mp_friendlyfire <0|1> | Team damage. |
mp_autoteambalance <0|1> | Auto-balance at round end. |
mp_warmup_end |
Bots
| Command | Description |
|---|---|
bot_add [T|CT] [difficulty] | Add a bot. Difficulty: easy, normal, hard, expert. |
bot_kick [T|CT|name] | Kick bots (no args = all). |
bot_quota <n> | Maximum simultaneous bots. |
bot_difficulty <0-3> | Difficulty for bots added afterwards. |
bot_stop <0|1> | Freeze all bots. |
Maps and modes
| Command | Description |
|---|---|
changelevel <map> | Switch map without a full restart. |
map <map> | Full map load with a clean reset. |
host_workshop_map <id> | Load a Steam Workshop map by its numeric ID. |
sv_cheats <0|1> | Gate for cheat-flagged commands (private servers only). |
exec <file> | Run a .cfg from the cfg/ folder. |
hostname <name> | Set the browser server name. |
sv_password <pw|0> | Password-protect the server (0 = open). |
game_type and game_mode set the mode together and take effect on the next map load (best set as launch args):
| Mode | game_type | game_mode |
|---|---|---|
| Casual | 0 | 0 |
| Competitive | 0 | 1 |
| Wingman | 0 | 2 |
| Arms Race | 1 | 0 |
| Deathmatch | 1 | 2 |
CS:GO to CS2 changes worth knowing
- The in-game
rconprefix no longer works - external tool only. god(full invulnerability) is replaced bybuddha true(you survive but take damage).sv_grenade_trajectory 1is nowsv_grenade_trajectory_prac_pipreview 1.sv_hibernateis nowsv_hibernate_when_empty.statusno longer shows SteamIDs to connected players - only from the server console/RCON.
Quick reference
status # userids + SteamIDs (server console)
kickid 5 "Rule break" # kick by userid
banid 0 STEAM_1:0:12345678 kick # permanent ban + kick
writeid # persist bans
changelevel de_mirage # switch map
mp_restartgame 1 # restart match
say "Server restarting soon"
Running these in MantaScope
MantaScope's web RCON connects to your CS2 server over the Source RCON protocol from the browser - so you can run these commands, manage bans that persist across restarts, and automate restarts and announcements without a separate desktop tool.