Counter-Strike: Source Updated April 27, 2026

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.

Counter-Strike: SourceCSSbansSourceModSourceBansmoderation

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:

  1. A MySQL database shared between all servers
  2. The SourceBans++ SourceMod plugin on each server
  3. 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.