Mods
How to install and manage mods on your CoD1 dedicated server.
How CoD1 Mods Work
CoD1 mods use .pk3 files, standard ZIP archives with a .pk3 extension. They contain maps, textures, sounds, models, and game scripts.
The engine loads .pk3 files in alphabetical order, with later-alphabetically-named files taking priority. This is why many mods prefix their files with z_, which ensures they override base game assets.
Simple Asset Mods
Small mods that only add or replace assets (custom maps, skins, sounds) can be placed directly in main/. The engine loads them automatically on startup with no fs_game change needed.
Full Mods (Separate Game Directory)
Larger mods that replace gameplay logic use the fs_game CVar to point the engine at a subdirectory:
set fs_game "mods/mymod"When active, the engine loads assets from mods/mymod/ first, then falls back to main/.
Installing a Mod
Simple Asset Mods (PK3 Files)
- Upload the
.pk3file to themain/directory via SFTP. - Restart the server. The assets are loaded automatically.
Full Mods (Custom fs_game)
- Connect via SFTP and create the directory
mods/<modname>/. - Upload all mod files into this directory.
- Set the mod in your
server.cfg:iniset fs_game "mods/<modname>" - Restart the server from the dashboard.
Mod Directory Structure
A typical full mod directory looks like this:
mods/mymod/
z_mymod.pk3 -- Mod assets and scripts
server.cfg -- Mod-specific server config (optional)Unlike CoD2, CoD1 mods do not require a compiled mod.ff fast file. The .pk3 files contain everything the engine needs.
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 mod files. CoD1 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 HTTP 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:
set sv_wwwDownload "1"
set sv_wwwBaseURL "http://your-download-server.com/cod/"
set sv_wwwDlDisconnected "0"Setting sv_wwwDlDisconnected "1" disconnects the player from the server while downloading, then reconnects them automatically. Set to "0" to keep players connected during download.
The HTTP server directory must mirror your game server's file structure:
server/
mods/
mymod/
z_mymod.pk3File Purity (sv_pure)
The sv_pure setting controls whether the server validates client files:
| Value | Behaviour |
|---|---|
1 | Clients must have matching .pk3 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 where players use custom skins or textures, set it to "0".
WARNING
With sv_pure "1", any .pk3 file on the server that isn't also on the client will trigger a kick. Avoid leaving stray .pk3 files in your main/ directory.
Popular CoD1 Mods
| Mod | Description |
|---|---|
| AWE | Additional Weapons & Equipment — adds new weapon variants and equipment. |
| Merciless | Competitive mod with admin tools and match support. |
| Zmod | Zombie mode conversion for CoD1. |
| CoD Realism Mod | Realistic damage and movement changes for a more authentic experience. |
Troubleshooting
"Extra PK3 Files Detected" / Client Kicked on Connect
Stray .pk3 files exist on the server that clients don't have (common with sv_pure "1"):
- Check
main/for unexpected.pk3files. - 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 the
.pk3files are inside the mod directory, not nested in a subdirectory. - Check the server console logs for error messages.
Players Stuck Downloading
- Confirm
sv_allowDownload "1"is set. - FastDL should be working automatically on uHost. If you've overridden
sv_wwwBaseURL, verify the URL is reachable and the directory structure matches. - Very large mod files may take a while even with FastDL.
