Skip to content

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:

ModDescription
Stock (No mod)Vanilla CoD2 gameplay.
zPAM 405Competitive admin mod, version 405.
zPAM 405 NANorth America variant of zPAM 405 with adjusted settings.
zPAM 403 ESBESB (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

  1. Connect via SFTP and create the directory mods/<modname>/.
  2. Upload all mod files into this directory (.iwd, mod.ff, scripts, etc.).
  3. Set the mod in your server.cfg:
    ini
    set fs_game "mods/<modname>"
  4. Restart the server from the dashboard.

Removing a Mod

Clear the fs_game CVar in server.cfg:

ini
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.

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:

ini
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:

ValueBehaviour
1Clients must have matching .iwd files. Modified or extra files cause a kick.
0No 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.

ModDescription
zPAMThe competitive standard for CoD2. Includes admin tools, promod-style settings, and match support.
OpenWarfareFeature-rich competitive and public mod with extensive configuration.
Axis PlayerEnhanced admin mod with built-in admin features and statistics.
AWEAdditional weapons and equipment mod.

Troubleshooting

"Extra IWD Files Detected"

Stray .iwd files exist on the server that clients don't have:

  1. Check main/ and mods/ for unexpected .iwd files.
  2. Remove anything that isn't part of the stock game or your active mod.
  3. Restart the server.

Mod Fails to Load

  • Verify the fs_game path matches the directory name exactly (case-sensitive on Linux).
  • Ensure mod.ff exists 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.

Stop Paying for Empty Servers.