This guide covers installing MetaMod:Source and SourceMod on your Team Fortress 2 server, setting up admin accounts, and managing plugins. For core server configuration, GSLT tokens, and map rotation, see the TF2 Server Setup Guide.
Installing MetaMod:Source
MetaMod:Source is a plugin layer that sits between the game engine and SourceMod. It must be installed before SourceMod.
- Download the latest stable build from sourcemm.net. Choose the Linux build (the server runs on Linux).
- Extract the archive. It contains an
addons/folder. - Upload the contents so they merge into your server's
tf/addons/directory via SFTP or the GPanel file manager. The resulting path should betf/addons/metamod/. - Verify the install by starting the server and running
meta versionin the console. You should see the MetaMod version string.
tf/addons/metamod/tf/addons/metamod.vdf
Installing SourceMod
SourceMod is the scripting and plugin framework for Source engine games. It requires MetaMod:Source to be installed first.
- Download the latest stable SourceMod build from sourcemod.net. Choose the Linux build.
- Extract the archive. It contains an
addons/and acfg/folder. - Upload both folders via SFTP, merging them into
tf/addons/andtf/cfg/respectively. - Restart the server.
- Verify by running
sm versionin the server console.
Key SourceMod Directories
| Path | Purpose |
|---|---|
tf/addons/sourcemod/plugins/ |
Compiled plugin files (.smx) |
tf/addons/sourcemod/plugins/disabled/ |
Plugins placed here are loaded but not activated |
tf/addons/sourcemod/configs/ |
Plugin configuration files |
tf/addons/sourcemod/logs/ |
SourceMod and plugin log files |
tf/addons/sourcemod/translations/ |
Language phrase files |
Adding SourceMod Admins
To grant in-game admin access to a Steam account, edit tf/addons/sourcemod/configs/admins_simple.ini and add a line in the following format:
"STEAM_0:X:XXXXXXXX" "99:z" // 99:z = full root access
Replace the SteamID with the target account's SteamID2. The flag z grants all permissions. You can find a player's SteamID using tools like steamid.io.
Common Admin Flags
| Flag | Permission |
|---|---|
b |
Kick players |
c |
Ban players |
d |
Unban players |
e |
Slay/slap players |
f |
Change map |
g |
Change server cvars |
z |
All permissions (root) |
Reload admins without restarting the server by running sm_reloadadmins in the server console.
Installing Plugins
Plugins are distributed as .smx files. To install a plugin:
- Download the
.smxfile from forums.alliedmods.net or the plugin's repository. - Upload the
.smxfile totf/addons/sourcemod/plugins/via SFTP. - If the plugin includes additional files (configs, translations, gamedata), upload them to the corresponding SourceMod subdirectories.
- Restart the server, or run
sm plugins load pluginnamein the console to hot-load it.
Recommended Plugins
| Plugin | Purpose | Source |
|---|---|---|
| Admin File Manager | In-game admin commands: kick, ban, mute, map change | Included with SourceMod |
| Basevotes / NativeVotes | Player voting: sm_vote, sm_votemap, sm_votekick |
Included with SourceMod / AlliedModders forums |
| RockTheVote (RTV) | Players vote to skip current map early | AlliedModders forums |
| MapChooser Extended | End-of-map vote with nomination support and cooldowns | AlliedModders forums |
| TF2Attributes | Runtime item attribute modification, required by many TF2 plugins | GitHub / AlliedModders |
| Freak Fortress 2 (FF2) | Boss-vs-players custom game mode | AlliedModders forums |
| VSH / Saxton Hale | Classic one-vs-all Saxton Hale game mode | AlliedModders forums |
| SourceBans++ | Web-integrated ban management across multiple servers | AlliedModders forums |
Managing Plugins
Listing Loaded Plugins
Run the following in the server console to see all currently loaded plugins and their status:
sm plugins list
Disabling a Plugin
Move the .smx file from tf/addons/sourcemod/plugins/ to tf/addons/sourcemod/plugins/disabled/, then run sm plugins unload pluginname in the console or restart the server.
Updating a Plugin
- Download the new version of the
.smxfile. - Replace the existing file in
tf/addons/sourcemod/plugins/. - If updated config or translation files are included, replace those as well.
- Restart the server to load the updated plugin.
tf/addons/sourcemod/logs/ after any plugin change to verify it loaded successfully and no errors occurred.
Related Articles
- TF2 Server Setup Guide — Server.cfg configuration, GSLT tokens, map rotation, FastDL, connecting
- TF2 Troubleshooting Guide — Common issues with GSLT, SourceMod, VAC, and server visibility
- How to Upload Files via SFTP
tf/addons/sourcemod/logs/.