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:
| Mod | Description |
|---|---|
| Stock (No mod) | Vanilla CoD4 gameplay. |
| FPS Promod 285 | Latest version maintained by FPSChallenge.eu |
| PromodLive 220 | The original competitive mod used in tournaments. See the Promod guide. |
| PromodLive 220 NE | Non-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:
- Sets the player's XP to the maximum rank (level 55)
- Unlocks all weapons (M21, M4, Barrett, Desert Eagle Gold, etc.)
- Unlocks all perks (Last Stand, UAV Jammer, Eavesdrop, Overkill, etc.)
- Unlocks all weapon attachments (red dot sights, silencers, ACOG scopes, grenade launchers, grips)
- Unlocks all camouflages (blue tiger, red tiger, digital, woodland, and gold camos)
- 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
- 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.
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 screenInstallation
- Connect via SFTP and create
usermaps/<mapname>/. - Upload the map's
.ff,.iwd, and_load.fffiles. - Add the map to your rotation in
server.cfg:iniset sv_mapRotation "... map mp_custommap ..." - Ensure downloads are enabled:ini
set sv_allowDownload "1" - 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.
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 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.
Popular CoD4 Mods
| Mod | Description |
|---|---|
| Promod | The competitive standard. Standardizes weapons, removes perks, adds strat time. See the Promod guide. |
| OpenWarfare | Feature-rich competitive and public mod with extensive configuration. |
| Deathrun | Obstacle course game mode where one team sets traps. |
| Zombie | Zombie survival mode — players defend against waves of undead. |
| Gun Game | Start with a pistol and progress through weapons with each kill. |
| Freeze Tag | Killed 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:
- 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 (100 MB+) may take a while even with FastDL.
