Counter-Strike 2

How to Add an Admin to a CS2 Server

The exact admins.json entry, which flags to give, groups for a bigger staff and how to reload without a restart.

TheGameHosting Team 4 min read
Add an Admin to Your CS2 Server
Background: Counter-Strike 2 © Valve

To add admin CS2 server permissions, install CounterStrikeSharp and add your SteamID64 to game/csgo/addons/counterstrikesharp/configs/admins.json with the flag @css/root, then run css_admins_reload in the server console or restart. Counter-Strike 2 has no built-in admin list, and SourceMod does not run on CS2, so CounterStrikeSharp's admin framework is what admin plugins read.

This guide assumes Metamod:Source and CounterStrikeSharp are already working. If meta list does not show CounterStrikeSharp, follow how to install CounterStrikeSharp on a CS2 server first and come back.

How admin works on a CS2 server

  • Without plugins: there are no admin ranks. Whoever has the server console controls the server. On TheGameHosting that is the Console tab of the panel, and Users lets you share the panel with a co-admin without giving away your account.
  • With CounterStrikeSharp: admins.json gives each Steam account a set of flags. CounterStrikeSharp provides the permission system; the commands themselves (kick, ban, map change, slay) come from the admin plugin you install, which checks these flags.

Find your SteamID64

The identity field accepts a SteamID64, the 17-digit number that starts with 7656119, or the older STEAM_0:X:Y format, according to the CounterStrikeSharp docs. In the Steam client, open your account details: the Steam ID shown there is your SteamID64. If your profile has no custom URL, it is also the number at the end of your profile link.

How to add admin CS2 server rights in admins.json

  1. Back up first. On TheGameHosting: Backups → Create backup.
  2. Open the file in Files (or over sFTP): game/csgo/addons/counterstrikesharp/configs/admins.json.
  3. Add one block per admin. The key ("YourName") is only a label for you; the identity is what counts:
    Code
    {
      "YourName": {
        "identity": "76561198000000000",
        "flags": ["@css/root"]
      },
      "FriendName": {
        "identity": "STEAM_0:1:12345678",
        "flags": ["@css/generic", "@css/kick", "@css/ban"],
        "immunity": 50
      }
    }
  4. Check the JSON: a comma between blocks, none after the last one, every flag in quotes and starting with @. One broken character and the file is not read.
  5. Save and reload from the panel Console:
    Code
    css_admins_reload
    css_admins_list
    css_admins_list prints each admin with their flags. A map change or restart also loads the file.
  6. Join and test a command from your admin plugin.

Which flags to give

@css/root enables every flag and ignores immunity, so keep it for the owner. For everyone else, give only what they need:

FlagWhat it allows
@css/rootEverything; ignores immunity
@css/genericGeneric admin (also needed for css_admins_reload)
@css/kick, @css/ban, @css/unbanKick, ban and remove bans
@css/slaySlay or harm players
@css/changemapChange the map or major gameplay features
@css/cvar, @css/configChange most cvars, run config files
@css/rcon, @css/cheatsRCON commands, sv_cheats
@css/reservation, @css/vipReserved slot, VIP status

Plugins can define their own custom flags, also written with @, so check the README of each plugin you install. Our MatchZy scrim server guide covers that setup.

Groups and immunity for a bigger staff

With several moderators, define the flags once in configs/admin_groups.json. Group names must start with #, as the groups page of the docs explains:

Code
{
  "#mods": {
    "flags": ["@css/generic", "@css/kick", "@css/ban", "@css/slay"],
    "immunity": 50
  }
}

Then give each moderator "groups": ["#mods"] in admins.json instead of a list of flags, and run css_groups_reload. immunity stops a lower admin from targeting a higher one, but only in plugins that check it.

Remove or change an admin

To take rights away, delete that person’s block (or remove flags from it), save the file and run css_admins_reload again. To change someone from moderator to owner, swap their flags for @css/root the same way. Keep in mind that some plugins can grant permissions while the server runs; the docs note that those changes are not saved to admins.json, so they disappear on the next reload or restart. The file is the list that lasts. If you run more than one server for your community, copy the same admins.json to each one so your staff has the same rights everywhere.

When admin does not work

  • CounterStrikeSharp is not loaded after a CS2 update: see Metamod not loading after an update.
  • Broken JSON: look for a missing or extra comma.
  • Wrong ID: a SteamID64 has 17 digits; a custom profile name does not work.
  • The plugin wants another flag: read its README.

CS2 admin on TheGameHosting

On CS2 server hosting from TheGameHosting you edit admins.json in Files or over sFTP, reload it from the Console, keep a backup a click away and give your co-admins panel access with Users. Two MySQL databases come with every plan for admin, stats or ranks plugins that need one. If you are setting up from scratch, see how to make a CS2 server.

CS2 needs 2 GB of RAM, so all nine plans run it, from $1.90 USD a month, on AMD 9950X/7950X3D CPUs with DDoS protection in Dallas or Amsterdam. Compare the game server plans and use code FULL2026 for 15% off for life.

FAQ

How do I give admin on a CS2 server?

Install Metamod and CounterStrikeSharp, add the player’s SteamID64 with the flags you want to configs/admins.json, and run css_admins_reload in the server console.

Does SourceMod work on CS2?

No. SourceMod does not run on Counter-Strike 2. Admin plugins for CS2 run on Metamod:Source 2.x with CounterStrikeSharp.

Where is admins.json in CS2?

In game/csgo/addons/counterstrikesharp/configs/admins.json. Groups go in admin_groups.json in the same folder.

Do I need to restart after editing admins.json?

No. Run css_admins_reload in the server console. A restart or map change also loads it.

Hosting for these games

Written by TheGameHosting Team, the people who run our servers in Dallas and Amsterdam and answer your tickets.

All posts