Zombie Plague is not an engine mod — it is a suite of AMX Mod X plugins. There is no cs.so to swap and no engine to replace. That means the single most important thing to understand before you start is that Zombie Plague only works on top of a fully working AMXX install, and 90% of "ZP won't load" reports are really "AMXX isn't loading a required module". This guide covers both the widely-used 4.3 line and the 5.0 rewrite; they install the same way, they differ mainly in code layout.
1. Confirm the AMXX base first
Zombie Plague 4.3 was written for the AMXX 1.8.x era and runs fine on 1.9. You need a working Metamod + AMXX stack before ZP exists as a concept. In the server console:
meta list amxx version amxx modules
The core plugin pulls in cstrike, engine, fakemeta, hamsandwich and fun. All five must show as running in amxx modules. If any is missing, fix that first — see installing AMXX modules. A missing module is the cause of the classic Plugin failed to load: Function not found line at map start.
2. Get the release
Download the Zombie Plague release archive (4.3 or 5.0) from its original release thread. Do not grab a random "ready server" pack — those are the number-one vector for backdoored plugins; see downloading server files safely. The archive is laid out to mirror cstrike/, so the folder names already tell you where each file belongs.
3. Copy the files into place
From the extracted archive into your cstrike/ tree:
addons/amxmodx/plugins/zombie_plague.amxx <-- core plugin addons/amxmodx/plugins/zp_*.amxx <-- extra items / classes addons/amxmodx/configs/zombie_plague.ini <-- ZP config models/player/zombie_source/... <-- zombie player models sound/zombie_plague/... <-- mod sounds sprites/zombie_plague/... <-- HUD sprites
Keep the directory structure exactly as shipped. A zombie model referenced as models/player/zombie_source/zombie_source.mdl must physically exist at that path or the server aborts at map load.
4. Register the plugins
Add the core plugin and every extra item to addons/amxmodx/configs/plugins.ini. Order matters: the core loads first, extras after it.
; --- Zombie Plague --- zombie_plague.amxx zp_extra_infammo.amxx zp_extra_madness.amxx zp_classic_nemesis.amxx zp_classic_survivor.amxx
Only list the extras you actually copied. Listing an item whose .amxx is not in plugins/ produces Plugin file open error for that line and nothing else.
5. Configure gameplay cvars
ZP cvars live in zombie_plague.ini (or in amxx.cfg if you prefer them centralised). The names are prefixed zp_. A minimal, sane starting set:
zp_delay 20 // seconds before first infection zp_human_health 100 zp_zombie_first_hp 3000 zp_zombie_hp 2000 zp_nemesis_hp_multi 10 zp_ammo_pack_kills 3 // kills per ammo pack
Read the shipped .ini rather than pasting a cvar list from a forum — cvar names drift between 4.3 sub-releases and 5.0, and setting one that does not exist is a silent no-op.
6. Precache and download
Players on a public server must be able to download the models and sounds. Make sure sv_downloadurl or in-game download is enabled and that the ZP assets are reachable. See adding custom content for how the fastdownload path mirrors cstrike/. Every zombie/human model, claw sound and grenade sprite the plugin registers must be present both on the game server and on the download mirror, or the client that lacks it drops at load with a missing-resource error while everyone else plays.
7. 4.3 versus 5.0 — what actually differs
The two lines play almost identically; the difference is under the hood. The 4.3 series is the long-lived community branch most public servers still run, with an enormous library of third-party extra items and class plugins written against its API. The 5.0 rewrite reorganised the internals and the API, so a 4.3 extra item will not necessarily compile or load against 5.0, and vice versa. Pick one line and keep every add-on on the same line. If you inherit a server already on 4.3 with a working set of extras, there is no operational reason to jump to 5.0 mid-life — you would be re-testing every add-on for no gameplay gain. Whichever you choose, keep the whole plugin set from that generation together.
Common errors
Plugin failed to load: Function not found— a required module is not loaded. Checkamxx modulesforcstrike,fun,engine,fakemeta,hamsandwich.Host_Error: PF_precache_model_I: Model models/player/zombie_source/zombie_source.mdl not precachedorfailed to load— the model file is missing from disk or is at the wrong path. The path in the error is exactly where the file must be.Cannot load plugin: bad loadinamxx plugins— the.amxxwas compiled for a newer AMXX than you run. Recompile the.smaagainst your version, or upgrade AMXX.- Server runs but nobody turns into a zombie —
zp_delayis high, or an oldzombie_plague.inifrom another version overrides your cvars. Confirm withzp_delayin console.
Verification
Start the server, load a ZP map, and run:
amxx plugins
Every zp_* line and zombie_plague.amxx must read running, none bad load or error. Join with two players (or bots), wait for zp_delay, and confirm the first zombie is chosen and the HUD shows ammo packs. If a full round infects, kills, and restarts cleanly, the mod is installed. From here, pair it with an admin menu so you can force rounds while testing.









