What Is Metamod and Why Do You Need It?

March 12, 2026 Daemon666 8 min read 2 wyświetleń

Every guide to running an AMX Mod X server starts with "install Metamod first" — but rarely says what Metamod is or why it has to come first. Understanding it makes the whole addons stack make sense, and explains a whole class of "my plugins don't load" problems. Here is the plain version.

1. The problem Metamod solves

A GoldSrc mod like Counter-Strike is a game logic library — cs.so on Linux, mp.dll on Windows — that the engine loads and calls. Out of the box, the engine talks to exactly one game DLL, and that DLL implements all the gameplay. If you wanted to add admin commands, stats, or a bot, you would have to modify that DLL — and you can only have one. That does not scale: you cannot run an admin system and a bot and a stats plugin if each needs to be "the game DLL."

2. What Metamod is

Metamod is a plugin loader that inserts itself between the engine and the game DLL. The engine loads Metamod as if it were the game DLL; Metamod in turn loads the real game DLL (cs.so/mp.dll) plus any number of Metamod plugins. When the engine calls a game function, Metamod passes it through, but first lets every loaded plugin hook that call — inspect it, change it, or block it. This is how multiple plugins coexist: they all hook the same mod through Metamod instead of fighting to be the one game DLL.

AMX Mod X itself is a Metamod plugin. So is a bot like POD-Bot, and various other mods. Metamod is the layer that lets them all run at once on top of unmodified Counter-Strike.

3. How it gets loaded: liblist.gam

The engine decides which game DLL to load from liblist.gam in the mod folder (cstrike/liblist.gam). The gamedll line normally points at the CS game library; to insert Metamod, you point it at Metamod instead:

gamedll "addons/metamod/dlls/metamod.dll"
gamedll_linux "addons/metamod/dll/metamod_i386.so"

Now the engine loads Metamod as the "game," and Metamod loads the real CS DLL plus the plugins. (On a ReHLDS/ReGameDLL stack the game DLL path and Metamod wiring differ slightly, and Metamod-r is used — but the principle is identical.)

4. How plugins register: plugins.ini

Metamod reads its own plugin list from:

cstrike/addons/metamod/plugins.ini

Each line points at a Metamod plugin binary to load. The AMX Mod X core is listed here — for example a line loading addons/amxmodx/dlls/amxmodx_mm_i386.so. Note the two-level structure that confuses newcomers: Metamod's plugins.ini loads AMXX; then AMXX's own plugins.ini (in addons/amxmodx/configs/) loads your .amxx scripts. Two files with the same name, different jobs.

5. Metamod vs Metamod-r / Metamod-P

"Metamod" classically means the original loader. The community maintains updated forks — Metamod-P and the newer Metamod-r — that fix bugs and stay compatible with modern engines like ReHLDS, which matters a great deal after the 25th anniversary update. For a modern server, install one of those rather than the ancient original; see installing Metamod-r, Metamod-P (legacy), and the comparison in Metamod-r vs Metamod-p.

Common misconceptions

  • "Metamod is the admin mod." No — Metamod loads nothing gameplay-related by itself. It is a host for plugins. AMX Mod X is the admin system, and it runs as a Metamod plugin.
  • "I can install AMXX without Metamod." No — AMXX is a Metamod plugin. Without Metamod loaded via liblist.gam, AMXX never loads.
  • "There's only one plugins.ini." There are two: Metamod's (loads AMXX) and AMXX's (loads your scripts). Editing the wrong one is a classic mistake.
  • "It modifies cs.so." It does not patch the game DLL — it wraps it. The CS library stays untouched; Metamod intercepts the engine's calls to it.
  • "Any Metamod build works on any engine." Old original Metamod can fail on modern engines. Use Metamod-r/-P on current stacks.

How to check it is working

From the server console:

meta list
meta version

meta list prints every loaded Metamod plugin — you should see AMX Mod X (and any bot) in the list, each marked as running. If meta is an unknown command, Metamod is not loaded at all: check the gamedll/gamedll_linux lines in liblist.gam point at the Metamod binary. If meta list works but AMXX is missing, the fault is Metamod's plugins.ini not loading the AMXX core. Fix the loader first — nothing above it works until meta list shows AMXX running.

Współtwórcy: Daemon666 ✦
Udostępnij: