Note: If you do not have a TF2 Classic server running yet, use this dedicated server guide.
SourceMod on TF2 Classic is not fully drag-and-drop like official SourceMod games (for example TF2 and CS:Source). TF2 Classic is a Source SDK 2013 mod, so game name (tf2classic), signatures, and offsets are different.
The information in Discord pins is scattered and sometimes outdated. This post is a single walkthrough for the full setup process.
1. Download SourceMod and MetaMod
Go to SourceMod stable builds and get the latest Linux build.
Download it directly to the server:
curl -L -O https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6502-linux.tar.gz
# or
wget https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6502-linux.tar.gzWarning: This archive URL can go out of date. Get the newest direct download URL yourself and replace it as needed.
You also need a stable Linux build of Metamod:Source from sourcemm.net.
Place both archives in your tf2classic game folder:
location_of_sdk2013ds/tf2classic
Extract both archives there:
tar -xf sourcemod-1.10.0-git6502-linux.tar.gz
tar -xf mmsource-1.11.0-git1144-linux.tar.gzFeel free to remove the archives.
2. Replace metamod.vdf
After extraction, you should have an addons folder:

metamod.vdf is required for game detection. Since TF2 Classic is a mod, create one that points to tf2classic.
- Delete the existing
addons/metamod.vdf. - Open sourcemm.net/vdf.
- Leave
Gameblank (or---). - Set
Game Foldertotf2classic.

Download the generated file, upload it to your server, and place it in addons:

3. Import custom gamedata
To make features like showmenu, radio menu, and HUD messages work, import custom gamedata.
Do not edit common.games.txt anymore. That approach is unreliable and can require disabling auto-updates. Use custom subdirectories instead.
If your server has git, go to your tf2classic directory and clone:
git clone https://github.com/Scags/TF2Classic-Tools.gitIf you do not have git, download the repo archive:
wget https://github.com/Scags/TF2Classic-Tools/archive/master.zip
# or
curl -L -O https://github.com/Scags/TF2Classic-Tools/archive/master.zip
# then unzip it
unzip master.zip
# if you do not have unzip, install it using: sudo apt install unzipThen cd into either TF2Classic-Tools or TF2Classic-Tools-master (depends on download method).
Copy the sourcemod directory into your addons folder:
cp -r sourcemod/ ../addons/Now SourceMod and MetaMod should have the TF2C gamedata they need.
4. Set yourself as the "root" admin user
To use admin commands, add your Steam ID to SourceMod's admin config.
- Find your Steam ID using steamid.io (enter custom URL or SteamID64 and copy the
steamIDline).

- Open
tf2classic/addons/sourcemod/configs/admins_simple.ini. - Add this line at the bottom:
"steamID" "99:z"99:z means all permissions. Only grant this to trusted server operators.
Example:

For reduced permissions, use the comments in that file plus the AlliedModders wiki: Adding Admins (SourceMod)
Save the file, then start your server up and have fun!
5. Troubleshooting
Map voting note
You should not need to delete nextmap.smx. If map voting fails, try disabling/removing that plugin and test again. There are other map voting plugins available.
Missing dhooks.ext
You might see an error about missing dhooks.ext. It is usually safe to ignore if no installed plugin depends on DHooks.
If you use something like Scags' TF2C Crash Exploit Fixes, install DHooks with Detours:
Original post: AlliedModders forum post