sourcemod
Server modification platform for Source engine dedicated servers
SourceMod is a server modification platform for Half-Life 2 and Source engine games, enabling extensive scripting and plugins on self-hosted dedicated servers. It powers community servers for CS:GO, Team Fortress 2, and more.
Key features
- Source engine server scripting
- Huge plugin library
- Admin and gameplay mods
- SourcePawn scripting
Pros & cons
Strengths
- Mature and powerful
- Massive plugin ecosystem
Trade-offs
- Steep learning curve
- Source engine games only
sourcemod replaces
Last reviewed Sep 13, 2026 · 776 words
SourceMod is not a game server. It is a scripting layer you bolt onto a Source engine dedicated server (SRCDS) you already run, and it only works on the original Source engine: Team Fortress 2, Counter-Strike: Source, Left 4 Dead 2, the legacy CS:GO branch, and their relatives. Counter-Strike 2 runs on Source 2 and SourceMod does not run there; the CS2 community uses a different stack. If your goal is a CS2 server, stop reading and look at Metamod for Source 2 with CounterStrikeSharp. If your goal is a TF2 or L4D2 community server with admin tools, custom game modes, and 19 years of accumulated plugins, this is the only serious option.
It sits on top of SRCDS and Metamod:Source
The stack has three layers, and you install them in order. The game's dedicated server comes from SteamCMD (a Linux box with 512 MB spare and a few gigabytes of disk for the game files). Metamod:Source is the loader that gives plugins a way into the engine. SourceMod is the plugin platform that sits inside Metamod. Both unpack into the game's addons/ directory, as addons/metamod/ and addons/sourcemod/, with a metamod.vdf in addons/ telling the engine to load it. After a server restart, meta list and sm version in the server console confirm it is alive. Getting this far takes 20 minutes; the difficulty rating reflects everything after.
The plugin library is the product
The addons/sourcemod/plugins/ folder is where the value lives. Compiled plugins are .smx files, dropped in and loaded on map change or with sm plugins load. The AlliedModders forum holds thousands: admin menus, reserved slots, anti-cheat hooks, map voting, custom game modes, stat tracking, donor perks, chat filters. Most community servers run 20 to 60 plugins. The trap is age. Many popular plugins were written a decade ago against game versions that have since changed, and a game update can break a plugin's memory offsets overnight, especially anything that reaches into the engine through the SDKHooks or DHooks extensions. Running a public server means checking the forum after every game update and expecting an occasional evening of triage.
Admins, permissions, and configs are plain text
Admins are declared in addons/sourcemod/configs/admins_simple.ini by SteamID with a flag string (z is root). Permissions map flags to commands through configs/admin_overrides.cfg. Plugin settings are console variables written to cfg/sourcemod/*.cfg files the first time a plugin runs, and sm_reloadadmins reloads the admin lists without a restart. It is old-fashioned and entirely readable, which is a virtue on a server you might be fixing at midnight. Chat commands prefixed with ! or / give admins in-game menus for kicks, bans, map changes, and whatever the plugins add.
Writing your own means learning SourcePawn
SourcePawn is a C-like language with a compiler (spcomp) shipped in the scripting/ folder. A plugin is a .sp file that registers commands, hooks events, and manipulates entities through a large API. It is not hard, but it is not modern either: handles you must close yourself, fixed-size arrays, and a fair amount of engine knowledge for anything beyond chat commands. For tweaking an existing plugin (changing a message, adjusting a limit), an hour with the API reference is enough. For a new game mode, budget weeks.
Hosting the whole thing
SourceMod itself has no opinion on how you run SRCDS. LinuxGSM scripts install, update, monitor, and back up dedicated servers for the supported Source games and know how to install Metamod and SourceMod for you, which removes most of the manual steps above. Pterodactyl is the panel route if you host several games or want a web interface for other admins. Whichever you choose, keep the game server on its own user account, put the RCON password somewhere other than a public config, and back up the addons/sourcemod/ tree separately from the game files so a SteamCMD validate never wipes your configs. The games category has the other engines' equivalents.
What I'd do
For a TF2 or L4D2 server with friends, I would let LinuxGSM install SRCDS plus Metamod and SourceMod, add five well-maintained plugins (admin menu, map vote, reserved slots, a basic anti-cheat, and one for the game mode), and stop there; every extra plugin is a future breakage. I would check the AlliedModders forum after each game update before the players do. And for CS2 I would not fight it: it is a different engine, and SourceMod's 1,147 stars and 19 years of history buy you nothing there.
Similar game servers apps
Mindustry
Game ServersTower-defense and factory game with servers
Replaces Factorio
Lichess
Game ServersOpen-source chess server and platform
Replaces Chess.com
OpenRCT2
Game ServersOpen-source remake of RollerCoaster Tycoon 2
Replaces RollerCoaster Tycoon
papermc-docker
Game ServersContainerized Minecraft Java server image
Replaces Minecraft Realms
ArchiSteamFarm
Game ServersTool for farming Steam cards from multiple accounts
Replaces Idle Master
2048
Game ServersSelf-hostable browser version of the 2048 sliding puzzle
Replaces Mobile puzzle games