Skip to content

Mods and Custom Maps

How to install and manage mods and custom maps on your CoD4: Modern Warfare 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 CoD4 gameplay.
FPS Promod 285Latest version maintained by FPSChallenge.eu
PromodLive 220The original competitive mod used in tournaments. See the Promod guide.
PromodLive 220 NENon-Europe variant with unlocked rate/maxpackets and no enemy radar dots.

You can switch between verified mods from the dashboard without manually uploading files.

FPS Promod 285 Client Requirement

FPS Promod 285 requires a custom CoD4X client version 21.5. The standard CoD4X client will not work correctly with this mod.

Download the patched client from codtv.eu and replace your existing CoD4X client files before connecting to an FPS Promod 285 server.

Level 55 Unlock

The Level 55 mod is a server-side script based on Shuffni's Level Hack Mod that automatically ranks connecting players to level 55 and unlocks all multiplayer content. When a player joins, the mod runs through a guided sequence that:

  1. Sets the player's XP to the maximum rank (level 55)
  2. Unlocks all weapons (M21, M4, Barrett, Desert Eagle Gold, etc.)
  3. Unlocks all perks (Last Stand, UAV Jammer, Eavesdrop, Overkill, etc.)
  4. Unlocks all weapon attachments (red dot sights, silencers, ACOG scopes, grenade launchers, grips)
  5. Unlocks all camouflages (blue tiger, red tiger, digital, woodland, and gold camos)
  6. Activates all five custom class slots

These unlocks are written to the player's persistent stats, so they carry over to other (non-modded) servers. The process takes about a minute and the player is automatically kicked once it completes. Returning players are detected and can choose to re-run the unlock process.

How CoD4 Mods Work

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

Custom Maps

Custom maps use a similar file structure but go in usermaps/ instead of mods/.

Map File Structure

Each custom map typically includes three files:

usermaps/mp_custommap/
  mp_custommap.ff          -- Compiled map data
  mp_custommap.iwd         -- Map textures and assets
  mp_custommap_load.ff     -- Loading screen

Installation

  1. Connect via SFTP and create usermaps/<mapname>/.
  2. Upload the map's .ff, .iwd, and _load.ff files.
  3. Add the map to your rotation in server.cfg:
    ini
    set sv_mapRotation "... map mp_custommap ..."
  4. Ensure downloads are enabled:
    ini
    set sv_allowDownload "1"
  5. Restart the server.

Players will automatically download the custom map files when they connect. uHost's built-in FastDL serves these files over HTTP for fast transfers.

File Downloads and FastDL

When players connect to a server running a mod or custom map, they need to download the files. CoD4 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 or anti-cheat 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 "Server Violation: Extra IWD files detected" kick. Make sure you don't have stray .iwd files in your main/ or mods/ directories.

ModDescription
PromodThe competitive standard. Standardizes weapons, removes perks, adds strat time. See the Promod guide.
OpenWarfareFeature-rich competitive and public mod with extensive configuration.
DeathrunObstacle course game mode where one team sets traps.
ZombieZombie survival mode — players defend against waves of undead.
Gun GameStart with a pistol and progress through weapons with each kill.
Freeze TagKilled players are frozen and must be thawed by teammates.

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 (100 MB+) may take a while even with FastDL.

Stop Paying for Empty Servers.