How to Manage Bans on Your CSS Server with SourceMod
Ban, unban, and manage players on your CSS server using SourceMod commands and optionally SourceBans++ for multi-server web management.
Ban Management in CSS with SourceMod
SourceMod handles banning through in-game commands, RCON, and optional web-based tools. CSS bans are tied to legacy Steam IDs (STEAM_0:X:XXXXXXX) — not SteamID64. Get the format right or the ban won't match the player.
Finding a Player's Steam ID
While the player is connected, run status in the server console. The output shows a table with each player's #userid, Steam ID, and name:
# userid name uniqueid connected ping loss state
# 45 "SomeCheater" STEAM_0:0:12345678 02:14 44 0 active
Copy the full STEAM_0:0:XXXXXXXX string — that's what you use in ban commands.
Basic Ban Commands
All commands work in the server console, via RCON (rcon sm_ban ...), or typed by an in-game admin:
# Ban a currently connected player by userid (from `status`)
sm_ban "#45" 60 "Cheating"
# Ban a player by Steam ID (works even if they're offline)
sm_ban "STEAM_0:0:12345678" 0 "Permanent ban"
# Add a ban without the player being online
sm_addban 0 "STEAM_0:0:12345678" "Known cheater"
# Unban a player
sm_unban "STEAM_0:0:12345678"
# Kick without banning
sm_kick "#45" "Please stop"
Time values: Duration is in minutes. 0 = permanent. 60 = 1 hour. 10080 = 7 days.
Where Bans Are Stored
By default, SourceMod stores bans in an SQLite database:
cstrike/addons/sourcemod/data/sqlite/sourcemod-local.sq3
SourceMod also writes to two plain-text files that the CSS engine reads natively:
cstrike/cfg/banned_user.cfg ← Steam ID bans
cstrike/cfg/banned_ip.cfg ← IP bans
Don't edit these files directly while the server is running — SourceMod manages them. On shutdown, the server writes these files out.
IP Bans
To ban by IP address:
sm_addban 0 "192.168.1.100" "Ban reason"
Or using the engine-level command directly:
addip 0 192.168.1.100
writeip # persists to banned_ip.cfg
IP bans are less reliable than Steam ID bans because players can change IPs, but useful for blocking known VPN ranges or specific offenders without a valid Steam account.
SourceBans++ for Multi-Server Operations
If you run multiple CSS servers, managing bans per-server gets messy fast. SourceBans++ is a web-based ban management system:
- Shared ban database across all your servers (MySQL)
- Web interface for admins to add/edit/remove bans from a browser
- Tracks which admin placed each ban, with timestamps and reasons
- Players can submit ban appeals through the web panel
Download from forums.alliedmods.net — search "SourceBans++". It requires:
- A MySQL database shared between all servers
- The SourceBans++ SourceMod plugin on each server
- A PHP web panel hosted somewhere accessible
Configure the MySQL connection in cstrike/addons/sourcemod/configs/databases.cfg under the "sourcebans" key.
Checking Current Bans
# In server console — lists all active SM bans
sm_banlist
Or browse sourcemod-local.sq3 with any SQLite browser if you need to inspect the database directly.