VGKAMI
Advertise Get listed

Game Guides

Counter-Strike 2 Server Admin Commands and How to Use Them

October 26, 2026 11 min read

Counter-Strike 2 server administration has three separate control layers: the developer or server console, authenticated RCON, and plugin permissions. Use the console for a local game or a server you can access directly, RCON for broad remote control, and a permission plugin when staff need only selected actions such as kicking, banning, or changing maps. The right command can still appear to do nothing if it is entered in the wrong channel, requires a cheat flag, or is unavailable in the server’s build.

This guide explains how to enable and use each interface, shows the commands administrators use most often, and provides a safe workflow for granting access without handing every moderator the server’s RCON password.

What are the three ways to administer a CS2 server?

Choose the interface by where you are connected and how much authority the operator should have. A local console and the dedicated-server console execute commands directly; external RCON reaches the server over the network; plugin chat commands expose only the actions assigned to a player’s identity.

Method Where you type Control scope Dependency Best use
Developer console In-game console opened with ~ Client settings and commands for a locally hosted or accessible session Built into the game; console must be enabled Testing, local practice, and direct administration
Dedicated-server console The host process, terminal, or hosting panel console Server-side commands and ConVars Dedicated server access or a provider panel Live server maintenance without joining the game
External RCON An RCON client or hosting panel Broad server control authenticated by the RCON password -usercon, a non-empty rcon_password, and the provider’s connection details Remote operation by trusted owners and administrators
Plugin permissions Usually a chat prefix such as !, /, or ., plus plugin or server console Only the flags assigned to each SteamID64 CounterStrikeSharp and an admin plugin with a valid admins.json Delegating moderation without exposing full RCON

Valve describes the console as a text-based interface for executing commands and changing global settings. That distinction matters: a plugin command typed in chat is not the same thing as a console command, and an external RCON client normally sends the command itself rather than adding an in-game rcon prefix.

How do I enable and use the CS2 developer console?

Enable the console before trying local commands. This interface is useful for a listen server, a practice session, or a server where you already have console access.

  1. Open Settings > Game.
  2. Set Enable Developer Console (~) to Yes.
  3. Press the ~ key to open the console. On keyboards with a different layout, use the key assigned to the console in your controls.
  4. Enter one command per line and press Enter. Watch the console response, then confirm the effect in the next round, map, or player list.

Local commands may affect your client rather than the dedicated server. If another player cannot see the change, repeat the command in the server console or through RCON. A command that changes a server ConVar may also be blocked unless the host permits it or sv_cheats 1 is enabled.

How do I use RCON in Counter-Strike 2?

RCON is the remote, server-side interface for operators who are not sitting at the server console. CS2’s external Source RCON workflow requires the server to start with -usercon and to have a non-empty rcon_password. A hosting panel may provide its own connection form, so follow that provider’s documented address, port, and authentication method.

Prepare the server

  1. Add -usercon to the server’s launch options if the host requires it.
  2. Set a strong, non-empty rcon_password in the server configuration or startup environment.
  3. Restart the server when the host requires a restart for launch-option changes.
  4. Keep the password out of public chat, screenshots, scripts shared with moderators, and source-control repositories.

Connect from an RCON client or panel

  1. Enter the server address and the RCON port supplied by the host. The game port and RCON port are not necessarily the same.
  2. Authenticate with the configured RCON password.
  3. Send a bare command such as status; do not prepend the in-game text rcon unless the particular client explicitly documents that syntax.
  4. Read the returned output. A successful connection should return the server’s status rather than only a local-client response.

For example, a hosting panel may show an input labelled “Command.” Entering rcon status in that panel is valid only if the panel specifically asks for the in-game prefix; many external clients expect just status. This small difference is a common source of failed or apparently ignored commands.

When should RCON be restricted?

RCON has server-wide authority. Use it only for trusted operators, rotate the password after staff changes, and prefer a permission plugin for routine moderator work. If a host offers IP restrictions, encrypted transport, or separate operator accounts, enable those controls rather than distributing one shared password.

How do I give someone admin access without giving them RCON?

Use CounterStrikeSharp permissions. Its admins.json maps a SteamID64 to named flags, allowing a moderator to run only the commands needed for the job. Keep the root flag for the server owner and assign immunity values so lower-ranked staff cannot act on protected administrators.

Assign an identity and flags

Find the person’s SteamID64, then add an entry in the plugin’s admins.json. The exact JSON nesting can vary with the installed admin plugin, so preserve the structure generated by that plugin. A representative entry looks like this:

{
  "76561198000000000": {
    "identity": "Moderator",
    "flags": ["@css/generic", "@css/kick", "@css/ban", "@css/slay"],
    "immunity": 20
  }
}

The numeric identity above is an example format; replace it with the administrator’s real SteamID64. Common flags include @css/generic, @css/kick, @css/ban, @css/unban, @css/slay, @css/changemap, @css/cvar, @css/config, @css/chat, @css/vote, @css/password, @css/cheats, @css/rcon, and @css/root.

Choose the smallest useful permission set

Role Typical flags Why
Chat moderator @css/generic, @css/chat, optionally @css/slay Handles chat and immediate player issues without map or configuration control
Match moderator Moderator flags plus @css/kick, @css/ban, and @css/changemap Runs a scheduled match and removes disruptive players
Configuration operator @css/cvar, @css/config, and only the moderation flags required Changes settings without granting unrestricted RCON
Owner @css/root Reserved for the person responsible for the server

Immunity values run from 0 to 100. A higher-immunity administrator can be protected from actions by someone with a lower value, depending on the plugin’s enforcement rules. After editing the file, reload the plugin or restart the server as its documentation requires, then verify the account in-game.

Verify the plugin is active

From the server console or RCON, run meta list to inspect the plugin loader and css_plugins list to confirm the admin plugin is loaded. If either command does not show the expected component, changing admins.json will not create working permissions.

Which CS2 commands are used for player moderation and inspection?

Start with identity and state inspection before taking action. The output of status can include connected players and identifiers; users helps find user IDs on servers that support it.

Command Purpose Example
status Displays server state and connected-player information where supported status
users Lists users and their server user IDs users
kick Removes a player from the server kick <user-or-player>
dropclient Drops a client connection dropclient <userid>
banid Adds an identifier to the server’s ban list banid <userid-or-id>
addip Adds an IP address to an IP ban list where supported addip <minutes> <ip>
listid Lists stored identifier bans listid
listip Lists stored IP bans listip

Parameter syntax and accepted identifiers can vary by build and host implementation. Run status first, copy the identifier exactly as displayed, and check the command’s help output or the current server reference before applying a permanent ban.

What commands change the map, round, and match length?

Use maps to list valid map names before changing level. Then apply the narrowest change: a level change for a new map, a match restart for a clean restart, or a round restart when the host supports that control.

Command Effect Example
maps Lists maps known to the server maps
changelevel <map> Loads a different map changelevel de_dust2
mp_restartgame 1 Restarts the match after a short delay mp_restartgame 1
sv_restartround Restarts the round using the server’s supported setting sv_restartround

A map change interrupts the current match and may reload configuration files. Warn players before using it on a public server, and verify that the target name appears in maps or the host’s map list.

Which commands control teams, time, money, and friendly fire?

Match pacing is controlled by ConVars. Set them in the server console, RCON, or a plugin that has the appropriate configuration permission. Defaults and accepted ranges can change with the running build, so query the live server rather than relying on a value copied from an older Counter-Strike version.

ConVar Controls Example use
mp_autoteambalance Automatic balancing between teams Enable or disable balancing for a format
mp_limitteams Maximum team-size difference Allow or restrict uneven teams
mp_freezetime Freeze period at round start Adjust buy and setup time before movement
mp_roundtime Round duration Set a shorter practice round or longer event round
mp_timelimit Map time limit Control when a map rotates by time
mp_maxrounds Maximum rounds on a map Set a finite match length
mp_winlimit Rounds needed to end a map by wins Use a win-based end condition
mp_friendlyfire Damage to teammates Enable it for a competitive ruleset
mp_buytime Buy period duration Give players more or less purchase time
mp_startmoney Starting money Set an economy baseline for a match
mp_c4timer Bomb timer Adjust the time between plant and detonation

When changing several values, apply them through a versioned configuration file or a documented startup sequence. That makes the intended rules reproducible after a restart instead of leaving a one-off console change that silently disappears.

How do I add bots and create a practice session?

Bot and warmup commands are useful on a private server, but commands marked with the cheat flag require sv_cheats 1. Do not enable cheats on a public production server merely to test a practice command.

  • bot_add adds a bot according to the server’s available parameters.
  • bot_kick removes bots.
  • mp_warmup_time changes the warmup duration.
  • mp_restartgame applies a clean restart after practice settings are in place.

Keep a separate practice configuration and restore normal competitive values before opening the server to players. If a command is rejected, inspect its current flags and the server’s cheat state rather than repeatedly sending the same line.

What is a safe workflow for every administrative change?

A repeatable sequence prevents wrong-channel errors and makes updates easier to audit.

  1. Identify the running build. CS2 OpenDev’s command reference currently indexes build 25966348 (2026) and more than 1,138 commands. Confirm that the server you operate matches the reference version.
  2. Classify the item. Determine whether you are using a command, a ConVar, a plugin command, or a configuration-file setting. A ConVar may have replication or permission rules that a simple command does not.
  3. Select the channel. Use the local console for a local session, the dedicated console for direct server work, external RCON for remote server control, or plugin chat for a delegated staff action.
  4. Check identity and connectivity. Run status; on a plugin server also run meta list and css_plugins list.
  5. Apply one narrow change. Avoid combining unrelated settings in one untracked paste. Record the exact command and its intended value.
  6. Verify the result. Read the response and observe the next round, map state, player list, or plugin output.
  7. Persist the decision. Put recurring settings in the server’s configuration-management process so an update or restart does not revert them unexpectedly.

Why does my CS2 admin command not work?

Most failures have a predictable cause. Work through the branch that matches the symptom instead of changing several settings at once.

Nothing happens

Check whether the line was entered in chat, the local console, the server console, or RCON. A chat prefix such as ! belongs to a plugin command; a native console command typed into chat will usually be ignored. If the command is server-side, move it to the server console or an authenticated RCON session.

Permission denied

Inspect the SteamID64 key, JSON syntax, required @css/* flag, and immunity ordering in admins.json. Confirm that the plugin reloaded the file and that the account is connected under the identity you edited.

RCON authentication fails

Verify the -usercon launch option, the non-empty rcon_password, the address and port supplied by the host, and the command format expected by the client. External clients commonly require a bare command while an in-game console uses the rcon prefix.

The server says unknown command or behavior changed

Compare the running CS2 build with the build-specific command reference. A command can be renamed, removed, gain a new flag, or accept different ranges after an update. Check whether the item is a plugin command that disappeared because its plugin failed to load.

A plugin command is missing

Run meta list and css_plugins list. If the loader or plugin is absent, fix that installation or startup problem before editing permissions; an inactive plugin cannot process chat prefixes.

Where can I check command flags and current availability?

Use a build-matched command index rather than assuming that a command from an older Counter-Strike release still behaves identically. CS2 OpenDev labels commands with flags such as cheat and replicated: a cheat-marked command requires sv_cheats 1, while a replicated value is sent to and enforced on connected clients. Treat those labels as operational constraints, not as decoration.

Before changing a live server, confirm the installed game build, the host’s wrapper or panel behavior, and the plugin version. Hosting providers can abstract RCON and configuration paths, so their documented connection method takes precedence over a generic client tutorial.

Quick reference: commands administrators use most

Task Command Channel note
Inspect players and server status Use server console or RCON for authoritative output
List maps maps Run before selecting a map name
Change map changelevel <map> Interrupts the current match
Restart match mp_restartgame 1 Short delay before restart
Inspect plugin loader meta list Plugin/server console or RCON
Inspect CounterStrikeSharp plugins css_plugins list Requires CounterStrikeSharp
Add a bot bot_add Keep practice changes isolated
Remove bots bot_kick Use in a private or practice configuration
Set warmup duration mp_warmup_time Check the live value and accepted range

Frequently Asked Questions

Can I run CS2 server commands from the main menu?

The developer console can be opened from the main menu after it is enabled, but a command still affects only the session and permissions available at that moment. Dedicated-server changes require the server console, RCON, or a plugin with authority on that server.

How do I find a player’s SteamID64 for admin permissions?

Use the server’s player and identity output, such as status where supported, then copy the SteamID64 exactly into the permissions file. Test the account after reloading the plugin because a typo creates a valid-looking entry that matches nobody.

Will a CS2 command survive a server restart?

A command entered interactively changes the live process and may be lost when the server restarts or changes map. Put recurring values in the host’s managed configuration or startup settings, then verify them after an update.

Why can one admin ban players but not change the map?

Plugin permissions are independent flags. The account may have @css/ban without @css/changemap; add only the missing flag, reload the permission configuration, and leave broader RCON or root access unassigned.