LEFT 4 DEAD 2 · SERVER GUIDE · NOVEMBER 2026

How to Install SourceMod and MetaMod on a Left 4 Dead 2 Server

SourceMod runs on top of Metamod:Source, so install them in two checked stages inside the left4dead2 folder, using the build that matches your server’s operating system. Then add yourself as admin and add plugins one at a time, so you always know which layer broke.

Install in two stages

Verify Metamod:Source before you add SourceMod. If stage one fails, SourceMod is not the problem.

Choose by server OS

Windows server uses the .zip build; Linux server uses the .tar.gz build. Your PC’s operating system does not matter.

Use the game folder

Files belong in left4dead2, because the dedicated server is launched with -game left4dead2 and reads addons from that game path.

Updates usually break gamedata

When Valve changes the game, signatures and offsets can move. Check newer MM:S and SourceMod builds first, then gamedata and dependent plugins.

What Metamod:Source and SourceMod each do on a Left 4 Dead 2 server

On a Left 4 Dead 2 server, SourceMod and MetaMod are not interchangeable. Metamod:Source is the loader layer. It loads as a Valve Server Plugin, then loads its own plugins. SourceMod is one of those Metamod plugins, and SourceMod then loads .smx plugins plus any extensions they need. That order matters more than the download itself.

If you remember the chain, every common error becomes narrower. No response to meta version means the break is at the Metamod:Source layer. meta version works but meta list shows nothing useful means Metamod loaded but SourceMod did not. sm version works but one plugin fails means the base install is fine and the fault is with that plugin, its translations, gamedata or extension.

The load chain on a Left 4 Dead 2 server, and the command that checks each layer
Layers one and two: the server loads Metamod:Source
srcds
-game left4dead2
Metamod:Source
check: meta version
Layer three: Metamod:Source loads SourceMod
Metamod:Source
SourceMod
check: meta list, sm version
Layer four: SourceMod loads plugins and extensions
SourceMod
.smx plugins and extensions
check: sm plugins list, sm exts list
Metamod plugins such as L4DToolZ load beside SourceMod, so they show in meta list, not in sm plugins list.
Each layer only loads if the one before it did, so the first command that fails tells you where to look.
  • srcds / the game server: launches the Left 4 Dead 2 dedicated server process.
  • Metamod:Source: attaches as a Valve Server Plugin. Check it with meta version.
  • SourceMod: loads under Metamod:Source. Check it with meta list and sm version.
  • Plugins and extensions: .smx plugins, plus binary extensions when needed. Check them with sm plugins list, sm plugins info <n> and sm exts list.

This also explains why some Left 4 Dead 2 tools do not appear where people expect. L4DToolZ is a Metamod plugin used to unlock the max player limit on L4D and L4D2, so it belongs in the Metamod layer and shows in meta list, not sm plugins list. If you are adding extra survivor slots, ready-up for Versus, or tank announcements, check which layer each component actually uses before you troubleshoot the wrong one.

Before you start: stop the server, back up addons and cfg, and find left4dead2

Stop the server completely before you copy anything. Do not hot-swap loader files, and do not replace extensions while they are in use. At best the new file is ignored until restart; at worst you end up with half-old and half-new binaries loaded together, which makes diagnosis harder and can crash the server, especially on Linux.

Back up the current addons and cfg folders first. Those hold the working state you actually care about: loader files, SourceMod configs, plugin configs, admins and custom additions. A backup lets you roll back one layer instead of rebuilding the whole server.

Install in two stages with a check after each
Stage one: Metamod:Source
Upload addons/metamod and addons/metamod.vdf into left4dead2, restart, run meta version.
Pass: Loaded As: Valve Server Plugin.
Stage two: SourceMod
Merge SourceMod’s addons and cfg folders into left4dead2, restart fully, run meta list and sm version.
Pass: SourceMod listed by AlliedModders LLC
Stage three: admin and plugins
Add yourself to admins_simple.ini, run sm_reloadadmins, then add plugins one at a time and check sm plugins list.
Pass: Admin cache has been refreshed.
Stop the server before each stage. Pick the .zip build for a Windows server and the .tar.gz build for a Linux server.
If stage one fails, SourceMod is not the problem yet. Fix one layer before you add the next.
  • Know the server OS: choose Windows or Linux builds by the server’s operating system, not your home PC.
  • Find the game folder: Left 4 Dead 2 uses the left4dead2 mod folder inside the dedicated server install.
  • Use that folder, not the server root: the server is launched with -game left4dead2, so that is where addons are read from.
  • Extract locally first if using FTP: upload the extracted folders so paths stay correct.

Some host panels have one-click installers for SourceMod and MetaMod. That can save time, but still run the checks in this guide afterwards. A panel can still install the wrong build, leave an old file behind, or merge into the wrong folder.

If you are still building the server itself, our Left 4 Dead 2 dedicated server setup guide covers the dedicated app, including app 222860 and the -game left4dead2 launch context that makes these paths make sense.

Download the right builds first

SourceMod requires Metamod:Source 1.9.0 or higher, and the latest version is the sensible choice. The current stable branches are SourceMod 1.12 and Metamod:Source 1.12, with SourceMod build 7260 at the time of writing. These are rolling stable releases, so normal updates are usually small rather than disruptive.

The package format tells you the target operating system:

  • .zip: Windows build
  • .tar.gz: Linux build

Pick by the server’s OS. A rented server often runs Linux even if you administer it from Windows, which is why some host guides tell you to download the Linux build regardless. That is not a special Left 4 Dead 2 rule; it is just the server’s operating system deciding which binary can load.

Why this matters: Metamod, SourceMod and many extensions are compiled binary modules. A Windows binary cannot be loaded by a Linux server process, and the other way round. One common result is meta list showing Listing 0 plugins, because Metamod is present but the SourceMod loader file for that OS never loads properly. If the AlliedModders “Required Versions” notes say a Valve update needs development snapshots, use snapshot builds then; otherwise stick to stable.

Stage one: install Metamod:Source and verify it before you touch SourceMod

  1. Stop the server.
  2. Extract Metamod:Source locally.
  3. Upload it so you end up with left4dead2/addons/metamod and left4dead2/addons/metamod.vdf.
  4. Start or restart the server.
  5. Run meta version in the server console or through RCON.

The shipped metamod.vdf is normally enough on Left 4 Dead 2. From Metamod:Source 1.10.0 onward, it is included and already points to the correct loader path:

"Plugin"
{
    "file"  "addons/metamod/bin/server"
}

If meta version works, do not replace that file with a generated custom one. The normal reason for a custom VDF is that the engine is not recognising the shipped loader arrangement on a known edge case. The documented examples are Left 4 Dead 1, third-party Source SDK Base mods and non-English listen servers. Some Left 4 Dead 2 host guides still tell people to generate an L4D2-specific metamod.vdf; treat that as a fallback only if meta version is not recognised.

Success should include this line:

Loaded As: Valve Server Plugin.

That line matters because it proves the first handoff in the chain succeeded: the game server accepted Metamod:Source as a Valve Server Plugin. If you get no reply at all, SourceMod is irrelevant at that point. Re-check the folder path, make sure the files are in left4dead2 rather than the server root, and only consider a custom VDF if the shipped one is not recognised.

Stage two: install SourceMod, merge folders, and verify the next layer

  1. Stop the server again if your host has already auto-restarted it.
  2. Extract SourceMod locally.
  3. Upload the addons and cfg folders into left4dead2, merging with the existing addons folder.

When the merge is correct, you should have these main paths:

left4dead2/
├─ addons/
│  ├─ metamod/
│  │  └─ sourcemod.vdf
│  └─ sourcemod/
└─ cfg/
   └─ sourcemod/
Where the files end up inside left4dead2
left4dead2/addons/
metamod.vdf and the metamod folder. Inside metamod sits sourcemod.vdf, which tells Metamod to load SourceMod.
Missing sourcemod.vdf: Listing 0 plugins
left4dead2/addons/sourcemod/
plugins (and plugins/disabled), extensions, gamedata, translations, configs and logs.
Admins live in configs/admins_simple.ini
left4dead2/cfg/sourcemod/
SourceMod’s own settings and the config files many plugins create the first time they run.
Back this up with addons before updates
Everything goes inside the left4dead2 game folder, not the server root. The scripting folder is optional and is only for compiling plugins.
Three places to know: the loader files in addons, SourceMod’s own tree, and its configs in cfg.

The addons/sourcemod/scripting folder is for plugin source and the compiler. It is not required for SourceMod to run, so do not treat that folder as part of runtime troubleshooting.

Restart the server completely. A full quit through RCON is often safe on hosts that auto-restart the process. Then run meta list and sm version. A healthy base install typically looks like this:

Listing 1 plugin:
  [01] SourceMod (...) by AlliedModders LLC

Why the merge matters: Metamod:Source does not search every folder for SourceMod. It reads left4dead2/addons/metamod/sourcemod.vdf, which tells it to load SourceMod as a Metamod plugin. SourceMod then reads its own tree under addons/sourcemod and its configs under cfg/sourcemod. If sourcemod.vdf is missing from addons/metamod, meta list often shows Listing 0 plugins even though Metamod itself is fine.

Once these checks pass, join from a client and test from in game as well as from the server console. If you need a refresher on the client side, this explains how players join a Left 4 Dead 2 dedicated server.

Make yourself admin cleanly

The quickest server-side method is addons/sourcemod/configs/admins_simple.ini. Get your Steam ID from the client console with status; SourceMod expects the classic STEAM_n:o:p format. Then add a line like this, replacing the placeholder with your own ID from status:

"STEAM_1:0:12345678" "99:z"

Here, 99 is the immunity level and z is the root flag. Root gives all flags and ignores immunity checks, so use it for the owner or a trusted full admin, not for every helper. After editing the file, run sm_reloadadmins. A successful refresh prints [SM] Admin cache has been refreshed.

Now join the server and use sm_admin in the client console to open the admin menu. The default chat triggers from core.cfg are ! for public and / for silent, so !admin or /admin also work if chat triggers are left at their defaults.

Flag What it gives Good use on a co-op or Versus server
b Generic admin Basic access; usually the minimum for a helper
c Kick Remove griefers or reconnect loops
d Ban Persistent moderation when kick is not enough
g Change map Useful for campaign rotation testing
j Chat Admin chat and notices
k Vote Map votes and vote management
z Root Full control; ignores immunity

A limited-rights helper line can be as simple as a "STEAM_..." "bcdk"-style entry instead of z. That is usually better for someone handling kicks, bans and votes without full RCON-level power. SourceMod also supports IP-based auth for LANs, name plus password, the more detailed admins.cfg format, and SQL-backed admin storage, but Steam ID entries in admins_simple.ini are the least error-prone place to start.

Install plugins and extensions without putting files in random places

A simple SourceMod plugin is just a compiled .smx file placed in addons/sourcemod/plugins. SourceMod loads those automatically when it starts, and it reloads plugins on map change if their file changed. That is why a map change is a useful low-friction test after uploading new plugins.

SourceMod also uses a plugins/disabled folder. Files in there do not load. SourceMod ships some official plugins there that you may want, such as rockthevote or mapchooser, and you can move ones you do not want, such as funvotes, into that folder to keep them inactive without deleting them.

File type Correct folder What happens if it is wrong
metamod.vdf left4dead2/addons/ Metamod:Source may not load at all, so meta version gives no useful reply
sourcemod.vdf left4dead2/addons/metamod/ meta list can show Listing 0 plugins because Metamod loaded but SourceMod did not
.smx plugin left4dead2/addons/sourcemod/plugins/ Not listed by sm plugins list; if placed in disabled, it stays inactive by design
Extension files such as *.2.l4d2.dll or *.2.l4d2.so left4dead2/addons/sourcemod/extensions/ Plugins that depend on them fail with missing native or required extension errors
gamedata .txt files left4dead2/addons/sourcemod/gamedata/ Plugins may load but fail against the game after updates because signatures or offsets are absent or outdated
translations .txt files left4dead2/addons/sourcemod/translations/ Plugin loads with phrase errors such as Could not find translation file
.sp source file left4dead2/addons/sourcemod/scripting/ No runtime effect; it is optional for compiling or editing source

Use the checks that match the layer you are working on:

  • sm plugins list: shows loaded SourceMod plugins.
  • sm plugins info <n>: shows why one listed plugin errored.
  • sm exts list: shows SourceMod extensions.
  • sm plugins refresh, sm plugins reload <n>, sm plugins unload <name>, sm plugins load <name>: useful while iterating.

Typical plugin errors are precise if you read them literally. Could not find translation file means the plugin code loaded but cannot find its phrase file. Native 'xyz' was not found or Required extension ... not running means the plugin asked SourceMod for a function provided by an extension, and that extension is missing, outdated or for the wrong build. Wrong game means the plugin detected that it was written for another Source game.

Extensions belong in addons/sourcemod/extensions. Many have per-engine builds, and Left 4 Dead 2 builds use the .2.l4d2 suffix. They often load only when a plugin actually asks for them, or when you create an empty <name>.autoload file. That behaviour is why an extension can be present on disk but not appear immediately in sm exts list. Do not replace a running extension in place; stop the server or unload it first, because the shared library is already in use and Linux servers in particular are likely to crash if you swap binaries underneath them.

Finally, remember the layer split. A Metamod plugin such as L4DToolZ will not appear in sm plugins list because it is not a SourceMod plugin at all. Check it with meta list instead. Read the logs folder whenever something fails; it is where SourceMod and many plugins tell you exactly which file they could not find.

Linux notes, game updates, and choosing a host that does not get in your way

Short Linux notes for self-hosted servers

If you see wrong ELF class: ELFCLASS64 on a Left 4 Dead 2 dedicated install, that is normal. Left 4 Dead 2 runs as a 32-bit Source server, and Metamod:Source simply skips its 64-bit loader. As long as meta version is recognised, Metamod is installed.

If a load fails with a libgcc_s.so.1 message such as GCC_7.0.0 not found, Valve’s own bundled copy is often the issue. Delete the listed file from the server install’s bin folder, not from the system lib or lib32 path. On a 64-bit OS you may also need 32-bit libraries available; on Debian or Ubuntu that can mean apt install gcc-multilib. If Metamod itself fails to load, check metamod-fatal.log in Metamod’s bin folder.

What usually breaks after a Left 4 Dead 2 update

The usual weak point is gamedata. Those files hold signatures and offsets that plugins and extensions use to find game functions and structures. When Valve updates the game, those signatures can move even if the plugin binary itself is unchanged, so a plugin that worked yesterday can suddenly fail today without any edits on your side.

SourceMod includes an integrated gamedata auto-updater, and core.cfg ships with "DisableAutoUpdate" "no" by default. If that setting is changed to "yes", the updater is blocked and outdated gamedata is far more likely after a game patch. Even so, when a Left 4 Dead 2 update breaks several things at once, check for newer Metamod:Source and SourceMod builds first. Lower layers need to understand the updated game before dependent plugins have much chance.

Upgrade order that avoids mixed files

Stop the server completely. Then upgrade the binaries in sourcemod/bin and sourcemod/extensions, all .txt files in gamedata and translations, and the default .smx plugins. It is extremely important to update all gamedata files. If you update base plugins, update translations too, because plugin code and phrase files are meant to match.

For plugin-heavy servers, the admin experience is also affected by the host itself. You want full file or FTP access to left4dead2/addons and cfg/sourcemod, console or RCON access for the verification commands, and a fast single core for plugin-heavy setups. The reason is simple: the Source server and many plugin hooks run on the main thread, so more event handlers, extra slot logic and ready-up systems tend to press CPU time there first. If you want the wider planning side, our game server hardware requirements guide explains what to prioritise.

Choose a host that lets you fix the actual layer

If your current panel hides the game files or gives you no proper console access, SourceMod and MetaMod upkeep becomes guesswork. Compare Left 4 Dead 2 server hosts that make file placement, restarts and version checks straightforward.

Compare Left 4 Dead 2 server hosts

Troubleshooting flow: use the printed output, not guesswork

Work from the bottom of the chain upward. Do not reinstall plugins when Metamod itself is not loading, and do not regenerate VDF files if SourceMod is already clearly listed under Metamod.

SourceMod or a plugin is not working: check in this order
Type the checks in the server console, not the client console
Does meta version reply with Loaded As: Valve Server Plugin.?
No
Fix Metamod:SourceCheck left4dead2/addons/metamod and metamod.vdf. Only try a generated VDF if this still fails.
Yes
Does meta list show SourceMod by AlliedModders LLC?
No
Fix the SourceMod layerListing 0 plugins: sourcemod.vdf missing or wrong OS build. NOFILE or FAILED: run meta info 1.
Yes
Is your plugin in sm plugins list without an error?
No
Fix the pluginNot listed: .smx is not in plugins. Error: run sm plugins info and add translations, gamedata or the extension.
Yes
Still odd after a Left 4 Dead 2 update? Update Metamod:Source and SourceMod first, then gamedata and the plugin.
Work up the chain one layer at a time. The first check that fails is the layer to fix.
Symptom or output Likely cause First fix
meta version gives no useful reply Metamod:Source itself is not installed properly Check left4dead2/addons/metamod and left4dead2/addons/metamod.vdf; only try a generated custom VDF if the shipped VDF is not recognised
meta version works and shows Loaded As: Valve Server Plugin. Metamod:Source layer is fine Move up one layer and test meta list
meta list shows Listing 0 plugins sourcemod.vdf missing from addons/metamod, or wrong build for the server OS Upload the correct SourceMod build for the server OS and confirm left4dead2/addons/metamod/sourcemod.vdf exists
meta list shows <NOFILE> or FAILED Files are in the wrong place or a binary could not load Run meta info 1 for details, then fix the path or build mismatch; on Linux also check metamod-fatal.log
sm version is not recognised SourceMod is not loaded, even if Metamod is Return to meta list and fix the SourceMod layer first
A plugin is not listed in sm plugins list The .smx file is not in plugins, or it was put in plugins/disabled Move it to addons/sourcemod/plugins and change map or restart
Could not find translation file Missing translation files Copy the required files into addons/sourcemod/translations
Native 'xyz' was not found or Required extension ... not running Missing, old or wrong extension build Check sm exts list, then install the needed extension in extensions, using the correct .2.l4d2 build where required
Wrong game Plugin was written for another Source game Remove it and use a Left 4 Dead 2 compatible alternative
Everything worked until a game update MM:S, SourceMod or gamedata no longer match the updated game Check for newer MM:S and SourceMod builds first, then update gamedata and dependent plugins
  1. Run meta version. If this fails, stay at the Metamod layer.
  2. Run meta list. If SourceMod is absent, fix sourcemod.vdf or the OS build.
  3. Run sm version. If this works, the base install is done.
  4. Run sm plugins list and sm exts list. Only now should you debug individual ready-up, tank announcement or extra-slot plugins.

Left 4 Dead 2 server FAQ

Do I need MetaMod to run SourceMod on Left 4 Dead 2?

Yes. SourceMod loads as a Metamod:Source plugin, so Metamod:Source is the layer that makes SourceMod possible on the server. If meta version is not working, SourceMod cannot load above it.

Which SourceMod download do I need for a Left 4 Dead 2 server?

Choose by the server operating system, not by the computer you use to manage it. A Windows server needs the .zip build; a Linux server needs the .tar.gz build. Many rented servers run Linux, so check your panel or ask your host if you are not sure.

Why does meta list show no plugins?

The usual causes are a missing sourcemod.vdf in left4dead2/addons/metamod or the wrong OS build of SourceMod. In that state, Metamod itself may be fine, but it has nothing valid to load as a Metamod plugin. Check meta version first, then correct the SourceMod layer.

Do I need a custom metamod.vdf for Left 4 Dead 2?

Normally no. The shipped metamod.vdf is meant to work, and if meta version is recognised there is no reason to replace it. A generated custom VDF is a fallback for cases where the shipped loader is not recognised, not a routine step for a standard Left 4 Dead 2 dedicated server.

Why did my SourceMod plugins stop working after a Left 4 Dead 2 update?

Most often, the game update changed offsets or signatures used by gamedata, or the base loader versions now need an update. Check for newer Metamod:Source and SourceMod builds first, then update gamedata, translations and any dependent plugins or extensions. Mixed old and new files are a common cause, so stop the server completely before upgrading.

More Left 4 Dead 2 server help

Once SourceMod is running, finish the server setup, help your group connect, or compare hosts that give you full file and console access.

Version numbers, folder names and console output come from the AlliedModders documentation and the SourceMod and Metamod:Source 1.12 stable packages as of November 2026. Host panels label file managers and restart buttons differently, so follow your host’s current layout where it differs; the same checks and layer order still apply.

Similar Posts