CS 1.6 Add-ons Explained – Metamod, AMX Mod X and Plugins
Last updated: July 29, 2026
The Counter-Strike 1.6 addons system is built in layers. Each layer depends on the one below it – nothing works until the foundation is in place. Understanding this hierarchy tells you what order things need to be installed, why a plugin might not load, and where every file belongs. This guide covers the complete cs 1.6 server add-ons structure from the ground up. Download CS 1.6 from our portal if you’re setting up from scratch.
A vanilla Counter-Strike 1.6 server out of the box runs the base game and nothing else – no admin commands, no anti-cheat plugins, no custom game modes, no bot AI. Everything extra that a server runs is an add-on. CS 1.6 add-ons are additional programs and scripts that load alongside the game server and modify or extend its behaviour. They can do almost anything: give certain players admin privileges, detect cheaters, create zombie mode, add a VIP system, log player statistics to a database, change weapon prices, or prevent specific server crashes.
The reason cs 1.6 server add-ons work at all is because the game server has a plugin interface built into it. This interface was designed specifically so that external programs can hook into the server’s functions without modifying the server binary itself. Metamod uses this interface to load modules, and AMX Mod X uses Metamod to load its own plugin scripting system on top. The result is that you can add, remove, or change add-ons by editing text files and restarting the server – without touching the actual game files.
The cstrike/addons folder structure
All Counter-Strike 1.6 server add-ons live inside cstrike/addons/. This folder is created when you install Metamod – a vanilla server doesn’t have it. Every subfolder inside is either a Metamod module or part of the AMX Mod X system. The server binary itself doesn’t load any of these directly – they all load through Metamod in a chain.
cstrike/addons/ ├── metamod/ ← Layer 1: foundation ├── amxmodx/ ← Layer 3: AMX Mod X (loaded as a Metamod module) ├── rechecker/ ← Layer 2: Metamod module ├── whblocker/ ← Layer 2: Metamod module ├── reunion/ ← Layer 2: Metamod module ├── revoice/ ← Layer 2: Metamod module └── [other modules]/ ← Layer 2: more Metamod modules
Metamod – the foundation of all cs 1.6 add-ons
Metamod is the first and most critical component of the cs 1.6 add-on system. It sits between the game server (ReHLDS or HLDS) and everything else. Without Metamod, no plugins, no modules, no anti-cheat tools – nothing loads. It intercepts the server’s function calls and passes them through a chain of plugins before the game engine handles them, which is what allows cs 1.6 server modifications to change game behaviour without touching the server binary.
Metamod is activated by one line in cstrike/liblist.gam:
gamedll "addons/metamod/dlls/metamod.dll"
On Linux: metamod_i386.so instead of metamod.dll. Once active, Metamod reads its plugin list from addons/metamod/plugins.ini at every server start and loads each listed module in order.
# addons/metamod/plugins.ini linux addons/amxmodx/dlls/amxmodx_mm_i386.so linux addons/rechecker/dlls/rechecker_mm_i386.so linux addons/whblocker/dlls/whblocker_mm_i386.so linux addons/reunion/dlls/reunion_mm_i386.so linux addons/revoice/dlls/revoice_mm_i386.so
Order matters here – some Metamod cs 1.6 modules depend on others being loaded first. AMX Mod X should generally be listed before modules that interact with it.
Metamod modules – what loads directly on Metamod
Metamod modules load directly on top of Metamod without needing AMX Mod X. These are lower-level cs 1.6 server add-ons that need direct engine access – anti-cheat tools, compatibility layers, and engine-level fixes. Each has its own folder in cstrike/addons/ with a dlls/ subfolder containing the compiled module file.
| Module | Purpose |
|---|---|
| ReChecker | Scans connecting players’ files against known cheat signatures on join |
| WHBlocker | Prevents wallhacks by controlling what position data clients receive |
| ReAimDetector | Real-time aimbot and nospread detection (requires ReHLDS + ReGameDLL) |
| Reunion | Allows Non-Steam clients to connect to Steam-mode servers |
| Revoice | Voice chat compatibility between Steam (Silk codec) and Non-Steam (Speex) clients |
| ReAuthCheck | Steam ID validation for mixed Steam/Non-Steam servers |
| Unprecacher | Prevents crashes from exceeding the server’s precache limit for sounds and models |
| AccuracyFix | Fixes weapon accuracy inconsistencies between server and client |
| HitboxFix | Corrects hitbox alignment – reduces situations where shots visually hit but don’t register |
| ReSemiclip | Stops players clipping through each other in tight doorways |
| SafeNameAndChat | Sanitises player names and chat to block name-based server crash exploits |
| SedlyFix | Patches a specific crash exploit in the server message handler |
| SoftBlocker | Blocks packet-level client exploits at the network layer |
| ReLocalizeBugFix | Prevents localisation-related crashes |
| ResDet / ResrDetector | Detects suspicious client-side resource file modifications |
| VoiceTranscoder | Transcodes voice codec between Steam and Non-Steam clients in real time |
| Podbot | Bot AI – fills server slots with computer-controlled players |
AMX Mod X – the cs 1.6 plugin scripting system
AMX Mod X (AMXX) is itself a Metamod module – it loads through Metamod’s plugins.ini like any other module. But it’s also a complete cs 1.6 plugin system of its own. Once loaded, it provides a scripting environment where individual AMXX plugins run on top of it. This two-level structure is what makes the Counter-Strike 1.6 add-ons system so extensible – Metamod is the foundation, AMX Mod X is the scripting layer, plugins are the features.
The full AMX Mod X folder structure inside cstrike/addons/amxmodx/:
amxmodx/
├── configs/
│ ├── plugins.ini ← list of active AMXX plugins
│ ├── modules.ini ← list of active AMXX modules
│ ├── amxx.cfg ← core AMX Mod X settings
│ └── users.ini ← admin accounts (if not using AMXBans/CS-Bans)
├── dlls/
│ └── amxmodx_mm_i386.so ← the Metamod module itself
├── modules/
│ └── *.so / *.dll ← AMXX modules (MySQL, sockets, etc.)
├── plugins/
│ └── *.amxx ← compiled AMXX plugins
├── scripting/
│ └── *.sma ← plugin source code files
└── logs/
└── *.log ← plugin errors and activity logs
The key file for managing amxmodx plugins cs 1.6 day-to-day is configs/plugins.ini – add or remove plugin filenames here to activate or deactivate them without touching anything else.
AMX Mod X modules – extending what plugins can do
AMXX modules extend what AMX Mod X plugins can do. They live in amxmodx/modules/ and are activated in amxmodx/configs/modules.ini. A plugin that requires a module which isn’t loaded will fail silently or log an error at startup – this is one of the most common reasons a newly installed cs 1.6 amxmodx plugin doesn’t work.
A typical cs 1.6 amxmodx modules.ini file looks like this – lines with a semicolon are disabled, lines without are active:
; AMX Mod X modules.ini ;grip fun ;engine fakemeta geoip ;sockets ;regex nvault hamsandwich ;hackdetector ;orpheu reaimdetector reapi ;parachute
Every module listed here loads when the server starts. Modules with a semicolon in front are disabled. Here is what each one does:
| Module | Active by default? | What it does |
|---|---|---|
| fun | Yes | Extra game functions – gravity changes, glow effects, god mode, teleportation. Many basic plugins require this. |
| engine | Optional | Low-level engine access – entity manipulation, trace lines, hull checks. Required by plugins that need to interact directly with game entities. |
| fakemeta | Yes | Extended engine hooks that allow plugins to intercept more game events than the base AMXX provides. Many advanced plugins require this instead of or alongside engine. |
| geoip | Yes | Converts player IP addresses to country names. Used by plugins that show player country in chat or restrict players by region. |
| sockets | Optional | TCP/UDP socket connections – allows plugins to communicate with external services, APIs, or other servers over the network. |
| regex | Optional | Regular expression matching – used by chat filter plugins, name validation, and anything that needs pattern-based text matching. |
| nvault | Yes | Simple local key-value storage without needing MySQL. Plugins use it to save player preferences, stats, or settings that persist between sessions. |
| hamsandwich | Yes | Hooks into Half-Life entity functions at a deeper level than fakemeta. Required by many game-mode plugins that need to intercept damage, death, spawn, and similar game events. |
| grip | Optional | HTTP request module – allows plugins to send GET/POST requests to web servers. Used by plugins that communicate with web APIs or external statistics systems. |
| hackdetector | Optional | Additional cheat detection checks at the AMXX scripting level, working alongside Metamod-level tools like ReChecker. |
| orpheu | Optional | Advanced engine function hooking that allows plugins to intercept and modify internal game functions that other modules can’t reach. Used for very specific engine-level modifications. |
| reaimdetector | Yes (if installed) | The AMXX module companion to the ReAimDetector Metamod module – provides scripting access to aimbot detection events so plugins can respond to detections. |
| reapi | Yes (if installed) | Exposes ReHLDS and ReGameDLL API to AMXX plugins. Required by many modern cs 1.6 amxmodx plugins that need access to engine features only available on ReHLDS servers. Most actively maintained plugins now require this. |
| parachute | Optional | Adds a parachute mechanic that slows player fall speed when activated. Commonly used on surf and deathrun servers. |
| mysql_amxx | When needed | MySQL database connectivity – required by AMXBans, CS-Bans, and any plugin that stores data in a database. Not listed in the example above but added when needed. |
| sqlite_amxx | When needed | Local SQLite database – an alternative to MySQL for plugins that need persistent storage without an external database server. |
To enable a disabled module, remove the semicolon from that line in modules.ini and restart the server. To disable a module that’s causing problems, add a semicolon before it. Changes only take effect after a full server restart.
AMX Mod X plugins – cs 1.6 server features
AMXX plugins are the most common type of Counter-Strike 1.6 server add-on. Written in Pawn scripting language, compiled to .amxx files, placed in amxmodx/plugins/, and activated by listing them in amxmodx/configs/plugins.ini. A single cs 1.6 amxmodx plugin can add admin commands, create new game modes, manage VIP systems, interface with a ban database, control chat, log statistics, or change weapon behaviour. The AlliedModders forum at forums.alliedmods.net is the main repository for community AMXX plugins.
Example – real cs 1.6 server addons folder explained
Taking a real cs 1.6 server addons folder as an example – every folder explained:
| Folder | Type | Purpose |
|---|---|---|
metamod |
Core | Foundation – nothing else loads without this |
amxmodx |
Metamod module + plugin system | The full AMXX system – loaded as a Metamod module, runs all AMXX plugins |
accuracyfix |
Metamod module | Fixes weapon accuracy sync between client and server |
hitbox_fix |
Metamod module | Corrects hitbox alignment to reduce missed-shot issues |
podbot |
Metamod module | Bot AI |
reauthcheck |
Metamod module | Steam ID authentication for mixed servers |
rechecker |
Metamod module | Cheat file scanning on player connect |
relocalizebugfix |
Metamod module | Crash prevention |
resemiclip |
Metamod module | Player clipping fix in tight spaces |
resrdetector |
Metamod module | Client resource modification detection |
reunion |
Metamod module | Non-Steam client compatibility |
revoice |
Metamod module | Voice codec bridge between Steam and Non-Steam |
SafeNameAndChat |
Metamod module | Name and chat exploit prevention |
sedlyfix |
Metamod module | Crash exploit patch |
softblocker |
Metamod module | Packet-level exploit blocking |
unprecacher |
Metamod module | Prevents precache limit crashes |
VoiceTranscoder |
Metamod module | Real-time voice codec transcoding |
whblocker |
Metamod module | Wallhack prevention |
Installing a new cs 1.6 add-on
Installing a Metamod module
- Place the module folder inside
cstrike/addons/ - Open
cstrike/addons/metamod/plugins.ini - Add a line:
linux addons/modulename/dlls/modulename_mm_i386.so - Restart the server – check console for load errors
Installing an AMXX plugin
- Place the compiled
.amxxfile incstrike/addons/amxmodx/plugins/ - If included, place any config file in
cstrike/addons/amxmodx/configs/ - Open
cstrike/addons/amxmodx/configs/plugins.iniand add the filename - Check if the plugin requires any AMXX modules – ensure they’re listed in
modules.ini - Restart the server and check
amxmodx/logs/for any errors
For specific cs 1.6 server add-on guides, see our pages on AMXBans installation, CS-Bans installation, CS 1.6 anti-cheat plugins, and popular CS 1.6 server modifications.
To experience the game at its best, visit our official Counter-Strike 1.6 website or get the download Counter-Strike 1.6 full version.
