Mods
How to install and manage mods on your CoD2 dedicated server.
Pre-Installed Mods
uHost offers several verified mods that you can select when creating your server, with no manual installation required:
| Mod | Description |
|---|---|
| Stock (No mod) | Vanilla CoD2 gameplay. |
| zPAM 405 | Competitive admin mod, version 405. |
| zPAM 405 NA | North America variant of zPAM 405 with adjusted settings. |
| zPAM 403 ESB | ESB (Europe Standard Build) competitive variant. |
You can switch between verified mods from the dashboard without manually uploading files.
How CoD2 Mods Work
CoD2 mods are loaded using the fs_game CVar, which points to a subdirectory under mods/. When a mod is active, the engine loads assets from the mod directory first, then falls back to main/.
IWD Files
Mod assets are packaged in .iwd files, standard ZIP archives with a .iwd extension. They contain textures, sounds, scripts, and other game data.
The engine loads IWD files in reverse alphabetical order, meaning z_something.iwd overrides a_something.iwd. This is why many mods use z_ prefixes for their IWD files.
Mod Directory Structure
A typical mod directory looks like this:
mods/mymod/
mod.ff -- Compiled mod fast file (required)
z_mymod.iwd -- Mod assets
server.cfg -- Mod-specific server config (optional)Installing a Mod Manually
- Connect via SFTP and create the directory
mods/<modname>/. - Upload all mod files into this directory (
.iwd,mod.ff, scripts, etc.). - Set the mod in your
server.cfg:iniset fs_game "mods/<modname>" - Restart the server from the dashboard.
Removing a Mod
Clear the fs_game CVar in server.cfg:
set fs_game ""Restart the server to return to vanilla.
File Downloads and FastDL
When players connect to a server running a mod, they need to download the files. CoD2 supports two download methods:
UDP Download (Default, Slow)
The game server sends files directly over UDP. This is extremely slow, often limited to 12–25 KB/s. Not practical for large mods.
HTTP Redirect / FastDL (Recommended)
Files are served from an HTTP web server at full speed. uHost configures FastDL automatically using a built-in nginx server. No setup is required.
To enable downloads, make sure this is in your server.cfg:
set sv_allowDownload "1"If you need to use a custom download server instead of the built-in one, see the Server Config guide.
File Purity (sv_pure)
The sv_pure setting controls whether the server validates client files:
| Value | Behaviour |
|---|---|
1 | Clients must have matching .iwd files. Modified or extra files cause a kick. |
0 | No file validation. Clients can have modified files. |
For competitive environments, keep sv_pure "1". For casual servers with custom client-side mods (skins, textures), set it to 0.
WARNING
With sv_pure "1", any .iwd file on the server that isn't also on the client will trigger a kick. Make sure you don't have stray .iwd files in your main/ or mods/ directories.
Popular CoD2 Mods
| Mod | Description |
|---|---|
| zPAM | The competitive standard for CoD2. Includes admin tools, promod-style settings, and match support. |
| OpenWarfare | Feature-rich competitive and public mod with extensive configuration. |
| Axis Player | Enhanced admin mod with built-in admin features and statistics. |
| AWE | Additional weapons and equipment mod. |
Troubleshooting
"Extra IWD Files Detected"
Stray .iwd files exist on the server that clients don't have:
- Check
main/andmods/for unexpected.iwdfiles. - Remove anything that isn't part of the stock game or your active mod.
- Restart the server.
Mod Fails to Load
- Verify the
fs_gamepath matches the directory name exactly (case-sensitive on Linux). - Ensure
mod.ffexists in the mod directory. Most mods require it. - Check the server console logs for error messages.
Players Stuck Downloading
- Confirm
sv_allowDownload "1"is set. - FastDL should be working automatically. If you've overridden
sv_wwwBaseURL, verify the URL is reachable and the file structure is correct. - Very large mods may take a while even with FastDL.
