Skip to content

Team Fortress 2 Admin Commands: RCON & SourceMod List

Set rcon_password, moderate with kickid and banid, then run every SourceMod sm_ command — the full TF2 admin list with permission flags explained.

Updated August 07, 2026
Team Fortress 2

Team Fortress 2 gives you two separate admin systems: the built-in RCON console that ships with every Source dedicated server, and SourceMod, the plugin platform that adds the familiar sm_ commands and an in-game admin menu. This guide covers both — how to get access, where to type, and every command worth knowing.

RCON works out of the box, SourceMod does not

Everything in sections 1–5 works on a stock TF2 server with no plugins. The sm_ commands in section 6 require SourceMod to be installed first — see How to install SourceMod plugins for Team Fortress 2.

1. How TF2 Admin Access Works

There is no "op" list in vanilla TF2. Access is proven two ways:

System You authenticate with Gives you
RCON rcon_password (a shared password) Full server control from console or a remote tool
SourceMod Your SteamID, listed in a config file Per-command permissions and an in-game menu

RCON is all-or-nothing — anyone with the password can run anything, including quit. SourceMod is what you want the moment you have more than one admin, because it grants specific powers to specific SteamIDs.

2. Set Up RCON

Add these to tf/cfg/server.cfg:

rcon_password "USE_A_LONG_RANDOM_STRING"
sv_password ""
server.cfg — RCON setup
  • rcon_password — the admin password. Leave it empty to disable RCON entirely.
  • sv_password — the join password. Empty means a public server.

Never reuse your Steam password here

rcon_password is transmitted by older clients in plain text and grants total control of the server process. Use a long random string that you use nowhere else, and change it if it is ever shared.

To authenticate from your own game client, open the developer console and run:

rcon_address <your.server.ip>:27015
rcon_password YOUR_PASSWORD
rcon status
Authenticating from in-game

On the GSK panel you can skip RCON entirely

The Console tab in your GameServerKings panel is already authenticated against your server. Type commands there without the rcon prefix and without exposing a password.

3. Server & Player Management

Run these from the server console directly, or prefix with rcon from a game client.

Command What it does
status List every connected player with userid, name, SteamID, ping and IP
stats Server CPU, framerate and bandwidth
kick "<name>" Kick a player by name
kickid <userid> "<reason>" Kick by userid from status — safer, names can contain spaces
banid <minutes> <steamid> Ban by SteamID, in the STEAM_0:1:12345678 form status prints. 0 minutes means permanent
banip <minutes> <ip> Ban an IP address
removeid <steamid> Lift a SteamID ban
removeip <ip> Lift an IP ban
writeid Save SteamID bans to disk
writeip Save IP bans to disk
listid Show current SteamID bans
changelevel <map> Change map immediately
exec <file> Run a config from tf/cfg/
quit Shut the server down

Bans vanish on restart without writeid

banid only holds the ban in memory. Run writeid (or writeip) afterwards to commit it to banned_user.cfg / banned_ip.cfg. This is the single most common reason a banned player walks straight back in after a map change or reboot.

4. Match & Gameplay Settings

These are convars — they hold a value rather than firing once. Set them in server.cfg to apply on every boot.

Convar Default What it controls
mp_timelimit 30 Minutes before the map ends
mp_winlimit 0 Round wins before the map ends (0 = off)
mp_maxrounds 0 Rounds played before the map ends
mp_friendlyfire 0 Allow teammates to damage each other
mp_autoteambalance 1 Force-switch players to even the teams
mp_teams_unbalance_limit 1 Player difference tolerated before balancing
mp_forcecamera 0 1 restricts deathcam to your own team
mp_disable_respawn_times 0 1 respawns players instantly
mp_scrambleteams Run once to scramble teams now
mp_restartgame <sec> Restart the round after N seconds
sv_alltalk 0 1 lets both teams hear each other
sv_pure 1 Restrict client-side custom content
sv_gravity 800 World gravity
nextlevel <map> Force the next map in rotation

For competitive formats and the tournament-mode convars, see Team Fortress 2 Gamemodes.

5. Bots and Cheat Commands

sv_cheats 1 must be set before any command in the second table works. Turning it on flags the server, so use it on a private or test server rather than a live public one.

Command What it does
tf_bot_add <count> [team] [difficulty] Add AI bots, e.g. tf_bot_add 4 blue normal
tf_bot_kick <name|all> Remove bots
tf_bot_quota <n> Target number of bots to maintain
tf_bot_difficulty <0-3> Easy, Normal, Hard, Expert
bot_kill <name|all> Kill bots without removing them

With sv_cheats 1:

Command What it does
noclip Fly through walls
god Invulnerability
buddha Take damage but never drop below 1 HP
impulse 101 Full ammo and metal
hurtme <n> Damage yourself by N (negative heals)
kill Kill your own character
explode Kill yourself dramatically
mp_forcewin <team> Instantly end the round

6. SourceMod Admin Commands

Once SourceMod is installed, these run from chat (! shows the output publicly, / hides it) or from console with the sm_ prefix. The flag column is the permission an admin needs — see section 7.

Core administration

Command What it does Flag
sm_admin Open the in-game admin menu — the fastest way to do everything below admin
sm_help List every admin command available to you admin
sm_who Show which players have admin and what flags admin
sm_kick <player> [reason] Kick a player kick
sm_ban <player> <minutes> [reason] Ban a connected player (0 = permanent) ban
sm_addban <minutes> <steamid> [reason] Ban a SteamID that is offline rcon
sm_banip <minutes> <ip> Ban an IP address ban
sm_unban <steamid|ip> Lift a ban unban
sm_map <map> Change the current map map
sm_cvar <convar> [value] Read or set any convar cvar
sm_resetcvar <convar> Reset a convar to its default cvar
sm_rcon <command> Run a raw RCON command rcon
sm_execcfg <file> Execute a config file config
sm_reloadadmins Reload the admin list after editing it config

Punishment and moderation

Command What it does Flag
sm_slay <player> Kill a player slay
sm_slap <player> [damage] Slap a player around, optionally hurting them slay
sm_beacon <player> Attach a visible tracking ring slay
sm_burn <player> [seconds] Set on fire slay
sm_rename <player> <name> Rename a player slay
sm_gag <player> Block text chat chat
sm_mute <player> Block voice chat chat
sm_silence <player> Block both chat
sm_ungag / sm_unmute / sm_unsilence Reverse the above chat

Messaging

Command What it does Flag
sm_say <message> Say-chat message to everyone chat
sm_csay <message> Centre-screen message chat
sm_tsay <message> Top-left message chat
sm_hsay <message> Centre-bottom hint box chat
sm_msay <message> Message shown as a menu panel chat
sm_psay <player> <message> Private message to one player chat
sm_chat <message> Message visible to other admins only chat
sm_play <player> <file> Play a sound file on the server admin

Voting

Command What it does Flag
sm_vote <question> [options] Start an arbitrary vote vote
sm_votekick <player> Vote to kick vote, kick
sm_voteban <player> Vote to ban vote, ban
sm_voteslay <player> Vote to slay vote, slay
sm_voteburn <player> Vote to burn vote, slay
sm_votemap <map> [map2] … Vote to change map vote, map
sm_voteff Vote to toggle mp_friendlyfire vote
sm_votealltalk Vote to toggle sv_alltalk vote
sm_votegravity Vote to change sv_gravity vote
sm_cancelvote Cancel a vote in progress vote

Some commands come from optional plugins

sm_beacon, sm_burn and sm_slap ship in SourceMod's funcommands plugin, and the sm_vote* set in funvotes — both are bundled but can be disabled. If a command is unrecognised, check that its .smx file is still in addons/sourcemod/plugins. Community plugins add many more, such as sm_freeze and sm_timebomb.

7. Granting SourceMod Admin

Edit tf/addons/sourcemod/configs/admins_simple.ini and add one line per admin:

"STEAM_0:1:12345678" "99:z"
admins_simple.ini

99 is the immunity level (higher numbers cannot be targeted by lower ones) and z is the root flag — everything. For a moderator who should kick and ban but not touch convars or RCON, use the specific flags instead:

"STEAM_0:1:87654321" "50:bcdefj"
A kick/ban-only moderator
Flag Grants
a Reserved slot
b Generic admin (required for most commands)
c Kick
d Ban
e Unban
f Slay / slap
g Change map
h Change convars
i Run configs
j Chat commands (gag, mute)
k Start votes
l Set a server password
m RCON access
n Enable cheats
z Root — all of the above

Run sm_reloadadmins after saving, or change the map, for the file to take effect.

Use the SteamID format SourceMod expects

admins_simple.ini wants the legacy STEAM_0:1:12345678 form, not the 17-digit SteamID64. Running status on your server prints each connected player in exactly the right format — copy it straight from there.

8. FAQ

How do I make myself admin on my own TF2 server?

For full control immediately, set rcon_password in tf/cfg/server.cfg and authenticate with rcon_password YOUR_PASSWORD from the in-game console. For named per-person admin with an in-game menu, install SourceMod and add your SteamID to admins_simple.ini with the z flag.

Why do my bans keep disappearing?

Because banid and banip only write to memory. Run writeid and writeip afterwards to save them to banned_user.cfg and banned_ip.cfg. SourceMod's sm_ban saves automatically, which is one reason to prefer it.

Do TF2 admin commands need a slash?

In the server console and over RCON, no — type status, not /status. SourceMod commands typed in chat need a prefix: ! runs the command and shows the reply to everyone, / runs it silently. From console, use the full sm_ name with no prefix.

What is the difference between kick and kickid?

kick matches on player name, which breaks when a name contains spaces or unicode. kickid uses the numeric userid shown by status and is always unambiguous — prefer it in scripts.

Can I run admin commands without SourceMod?

Yes. Everything in sections 3 through 5 is built into the Source engine. SourceMod adds per-admin permissions, the in-game menu, gagging and muting, and persistent bans — but it is not required for basic moderation.

Why does noclip say "unknown command"?

The cheat commands need sv_cheats 1 set first, and it must be set on the server, not your client. Note that enabling cheats is visible to players and will disable achievements for the session.


Made with 💜 by GameServerKings

Need a Team Fortress 2 server?

Deploy an instantly-provisioned Team Fortress 2 server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $5.40 /month