Skip to content

How to install SourceMod plugins for Team Fortress 2 (TF2)

Upload MetaMod:Source and SourceMod into tf/addons, verify the install with meta list, grant admin access by SteamID, and add starter plugins.

Updated September 12, 2026
Team Fortress 2

SourceMod is the de facto plugin platform for TF2. It powers admin menus, map votes, custom game modes, and thousands of community plugins. It runs on top of MetaMod:Source. This guide installs both and covers the essential plugins.

Complete Getting started with your Team Fortress 2 server first.

SourceMod and MetaMod

SourceMod needs MetaMod:Source underneath it. MetaMod hooks into the Source engine; SourceMod builds the plugin system on top.

Step 1: Upload MetaMod:Source, then SourceMod

There is no startup variable to set. Both are plain file drops into the game folder, which is tf/ on a managed Team Fortress 2 server, and nothing needs to change on the launch command.

  1. Download the current stable MetaMod:Source build for Linux and extract it locally.
  2. Upload the extracted contents into tf/. You should end up with tf/addons/metamod/ and tf/addons/metamod.vdf.
  3. Download the current stable SourceMod build for Linux, extract it, and upload its contents into tf/ as well. That adds tf/addons/sourcemod/, tf/addons/metamod/sourcemod.vdf and tf/cfg/sourcemod/.
  4. Restart the server.

Extract before you upload

AlliedModders are explicit about this: "If you are uploading to FTP, extract the files locally before transferring to your server's game folder." Uploading the archive itself and trying to unpack it on the server is the usual way this goes wrong.

You do not need to edit gameinfo.txt

MetaMod:Source 1.10.0 and later ship a metamod.vdf that loads it as a Valve Server Plugin automatically. The gameinfo.txt edit some older guides describe is, in AlliedModders' own words, something you "really, really do not need to do".

Step 2: Verify

After boot, run from the console:

meta version
sm version
text

Both should respond with their version strings. meta version should report Loaded As: Valve Server Plugin. If you get Unknown command: sm version, SourceMod did not load — work through meta list first, as below.

Step 3: Add Admins

Edit tf/addons/sourcemod/configs/admins_simple.ini:

// "STEAM_0:0:11101"   "99:z"
"STEAM_0:0:11101" "99:z"
tf/addons/sourcemod/configs/admins_simple.ini

The format is <SteamID> "<level>:<flags>". 99:z is full admin with all flags. See the SourceMod admin documentation for finer permission tuning (separate flags for kick, ban, map change, etc.).

Reload admins without restarting:

sm_reloadadmins
text

Step 4: Common SourceMod Commands

Connect in-game and use chat triggers (! shows the menu, / runs silently):

!admin                            Open the admin menu
!kick <player> <reason>           Kick
!ban <player> <minutes> <reason>  Ban
!slap <player> <damage>           Slap a player
!slay <player>                    Kill a player
!map <mapname>                    Change map
!nominate <mapname>               Nominate for next map vote
!rtv                              Rock the vote (player-initiated)
text

Installing Plugins

  1. Download the .smx (compiled) plugin from AlliedMods (forums.alliedmods.net).

  2. Upload it to tf/addons/sourcemod/plugins/.

  3. Reload from the console with sm plugins refresh, or restart.

Plugin configs only appear after the first load

Many plugins generate config files in tf/cfg/sourcemod/ on first load. Edit those after the first boot, then reload the plugin.

Some plugins ship as source (.sp) and must be compiled first, either with the AlliedMods web compiler or a local spcomp. Most popular plugins offer a precompiled .smx download.

Find these at forums.alliedmods.net.

MapChooser Extended

Adds map voting, nominations, and Rock the Vote (RTV). The standard map-rotation plugin for community servers.

  • Config: addons/sourcemod/configs/mapchooser_extended.cfg
  • Pairs with the map cycle covered in Maps and Fast Downloads

SteamWorks

A foundational extension that many other plugins depend on. Install it early, before plugins that require it.

TF2Items

Allows admins to give and modify custom weapons and items. Required by many other plugins (custom loadouts, VSH, Freak Fortress).

TF2Attributes

Applies custom weapon attributes for unique loadouts. Often paired with TF2Items.

Stripper:Source

Modifies maps at runtime without editing the .bsp: change spawn points, add or remove entities, adjust item placement. Heavily used for trade servers and custom modes.

Advertisements / FlashAnnouncer

Periodic server messages: rules, Discord link, donation appeals, rotating tips.

Auto-Updater (Updater)

Keeps SourceMod plugins that support it updated automatically.

Skinchooser

Lets players choose their player model. Popular on roleplay and freak servers.

Other Community Favorites

  • CustomVotes: Player-initiated votes for various actions
  • High Five: Lets players high-five each other (surprisingly popular)
  • Quickplay/Heal Tracker: Various quality-of-life stat trackers

A Sensible Starter Plugin Set

For a community casual server:

  1. SteamWorks (dependency)
  2. MapChooser Extended (map votes and RTV)
  3. Advertisements (server messages)
  4. Basic admin is already covered by SourceMod core

Leave the extension-heavy plugins out until you need them

Add TF2Items, TF2Attributes, and Stripper:Source only if you plan to run custom loadouts or modes.

Common Issues

  • Plugins not loading: Look at addons/sourcemod/logs/errors_*.log for compile or runtime errors. The log names the plugin and the failure.
  • "sm version" unknown after installing SourceMod: run meta list and read the answer. No reply at all means MetaMod:Source is not installed. Listing 0 plugins means sourcemod.vdf is missing from tf/addons/metamod/. A <NOFILE> or FAILED entry means the files are in the wrong place or could not load — check they landed under tf/addons/, not the server root.
  • Plugin requires an extension that is missing: Install the dependency (often SteamWorks, TF2Items, or TF2Attributes) before the plugin that needs it.
  • Admin commands do nothing: Your SteamID in admins_simple.ini is wrong or formatted incorrectly. Confirm the STEAM_0:X:XXXXX format and run sm_reloadadmins.

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