How to Set Up a Ban, Mute, and Kick System on Your CS2 Server (CS2-SimpleAdmin)
CS2-SimpleAdmin is the go-to admin punishment plugin for CS2 dedicated servers, giving your admins the ability to ban, kick, mute, and gag players with timed or permanent penalties. Get it installed and configured in minutes.
Prerequisites
Before installing CS2-SimpleAdmin, make sure you have two things in place:
- CounterStrikeSharp (CSS) installed and running — CS2-SimpleAdmin is a CSS plugin, so CSS is required. If you haven't set that up yet, start with How to Install CounterStrikeSharp on Your CS2 Server.
- At least one admin account configured — you'll need a SteamID in your admins list before the commands will work for you. See How to Become an Admin on Your CS2 Server if you haven't done that yet.
Installing CS2-SimpleAdmin
- Head to the CS2-SimpleAdmin releases page on GitHub and download the latest release zip.
- Extract the zip — inside you'll find an
addons/folder. - Stop your server before uploading files.
- Using the file manager or an SFTP client, upload the contents of the extracted zip into your server's
game/csgo/directory. You're merging into the existingaddons/folder — don't replace it wholesale, just drop the files in so they combine. - Start the server. On first run, CS2-SimpleAdmin will generate its config files automatically.
That's it for the install. Now let's look at the config.
Configuring CS2-SimpleAdmin
After the first server start, the plugin's config file will be at:
game/csgo/addons/counterstrikesharp/configs/plugins/CS2-SimpleAdmin/CS2-SimpleAdmin.json
Open it in the file manager and look for these key settings:
{
"DatabaseType": "SQLite",
"EnableWebPanel": false,
"TimeFormat": "dd.MM.yyyy HH:mm:ss"
}
DatabaseType — The two options are "SQLite" and "MySql".
"SQLite"is the default and requires zero extra setup. The plugin creates a local database file in its own data folder. This is fine for a single server."MySql"connects to an external MySQL/MariaDB database, which lets you share bans across multiple servers. You'll need to add connection string fields if you go this route.
EnableWebPanel — Leave this false unless you've specifically set up the optional CS2-SimpleAdmin web panel. It does nothing with no panel configured.
TimeFormat — Controls how timestamps display in messages. The default (dd.MM.yyyy HH:mm:ss) works well for most servers; adjust to your locale if needed.
The SQLite database file will appear in the plugin's data folder after the first ban or mute is issued. You don't need to create it manually.
Admin Commands
Commands can be run two ways:
- In-game chat — prefix with
!(e.g.!ban PlayerName 1d Cheating) - Server console or RCON — type the command without the
!prefix
| Command | What It Does |
|---|---|
!ban <name/steamid> <duration> <reason> |
Ban a player from the server |
!kick <name> <reason> |
Kick a player immediately |
!mute <name> <duration> <reason> |
Mute voice chat |
!gag <name> <duration> <reason> |
Gag text chat |
!silence <name> <duration> <reason> |
Mute voice and gag text at once |
!unban <steamid> |
Remove an active ban |
!unmute <name> |
Remove an active mute or gag |
!slay <name> |
Kill a player |
!team <name> <0/1/2> |
Move player: 0=spectator, 1=T, 2=CT |
!warn <name> <reason> |
Issue a formal warning |
!players |
List all connected players with SteamIDs |
Duration format examples:
| Input | Meaning |
|---|---|
30m |
30 minutes |
2h |
2 hours |
1d |
1 day |
1w |
1 week |
0 |
Permanent |
So a one-week ban for cheating looks like: !ban PlayerName 1w Cheating
Admin Flags
CS2-SimpleAdmin uses CounterStrikeSharp's flag system to control which admins can use which commands. The flags are assigned in CSS's admins.json — covered in the Becoming Server Admin article.
The most common flags you'll assign:
| Flag | Permission |
|---|---|
@css/ban |
Ban and unban players |
@css/kick |
Kick players |
@css/mute |
Mute, gag, and silence players |
@css/slay |
Slay players and move teams |
@css/generic |
All standard admin permissions |
If you want a full admin who can do everything, give them @css/generic. For moderators, you might assign only @css/kick and @css/mute.
Troubleshooting
Plugin not loading at all
Check your CounterStrikeSharp logs (game/csgo/addons/counterstrikesharp/logs/). The most common cause is a CSS version mismatch — make sure your CSS installation is up to date, then verify the plugin files landed in the right directory.
Commands show "you don't have permission"
Your SteamID is either not in admins.json, or it's there but missing the flag for that command. Open the admins config, double-check the SteamID format (it should be a SteamID64), and confirm the right flags are assigned.
Bans aren't surviving server restarts
Check that the SQLite database file was created at game/csgo/addons/counterstrikesharp/data/CS2-SimpleAdmin/. If it's missing, the plugin may not have write permissions to that directory, or it failed to initialize on first run. Check the CSS plugin logs for errors.
Players can still connect after a ban
Make sure you're banning by SteamID64 for reliable results — name-based bans can fail if a player changes their name. Use !players to get the SteamID before banning.