Call of Duty Dedicated Server Guides
free.war24.net used to hand out free Call of Duty game servers on demand. That service has been retired. What is here now is the part that outlived it: everything we learned running those servers, written down.
Setup guides for every classic Call of Duty title, a cvar reference, stock map codes, and fixes for the errors that actually stop a server working.
Looking for the patches and tools? Call of Duty 1.5, United Offensive 1.51 and the map pack, Call of Duty 2 1.3, Call of Duty 4 1.6 and 1.7, and the CoD RCON tool are all on war24.net.
Server setup guides
cod_lnxded · patch 1.5 · UDP 28960
coduo_lnxded · patch 1.51 · UDP 28960
cod2_lnxded · patch 1.3 · UDP 28960
cod4_lnxded · patch 1.7 · UDP 28960
codwaw_lnxded · patch 1.7 · UDP 28960
How things actually work
Call of Duty fast download: sv_pure, sv_allowDownload and HTTP redirect
How client downloads actually work on Call of Duty servers: the sv_pure x sv_allowDownload matrix, HTTP fast download with nginx, sv_wwwBaseURL layout, and the CoD1 1.1 pure-checksum bug.
Call of Duty rcon: commands, wire protocol and flood protection
How rcon works on Call of Duty servers: the rconpassword vs rcon_password split, the raw UDP wire format, the 500 ms flood protection trap, and a reliable set-and-verify pattern for automation.
sv_mapRotation: Call of Duty map rotation syntax
The sv_mapRotation token grammar for Call of Duty 1, UO, 2, 4 and World at War: mixing gametypes, exec per map, allow_tanks, and how sv_mapRotationCurrent lets you force the next map over rcon.
Installing Call of Duty server mods: pk3, iwd and fs_game
How Call of Duty loads mod archives: pk3 versus iwd per game, why paks load alphabetically and the last one wins, the zz_ prefix convention, fs_game mod directories and sv_pure.
Running Call of Duty dedicated servers in Docker
Run cod_lnxded, cod2_lnxded and cod4x in Docker on a modern 64-bit host: a minimal i386-capable base image, host networking, setarch, compose files and read-only pak mounts.
Reference
Server cvar reference
Every cvar worth setting, which games it applies to, and the gametype codes that differ between engine generations.
Stock map codes
Map codes and display names for all five games. District is mp_citystreets, Cliffside is mp_shrine.
server.cfg generator
Fill in a form, get a working config and command line for your game. Runs entirely in your browser.
Error index
13 documented errors, from libstdc++.so.5 to EXE_UNPURECLIENTDETECTED.
Common errors
error while loading shared libraries: libstdc++.so.5
The Call of Duty Linux dedicated server is a 32-bit binary and needs i386 runtime libraries, including the long-obsolete libstdc++5, on a modern 64-bit host.
Awaiting Challenge / Awaiting Connection
The client sent a connection request and got nothing back. Almost always a UDP reachability problem between client and server, not a game configuration problem.
Server does not appear in the in-game server browser
The server runs and is directly joinable, but does not show in the master list. Usually the master server itself, dedicated mode, or a NAT that rewrites the heartbeat source address.
EXE_SERVER_IS_DIFFERENT_VER
The client and server are on different patch levels. Call of Duty patch versions use different network protocol numbers and cannot cross-connect.
Invalid or Expired CD Key / Invalid CD Key
The key check failed at connect. On the classic Call of Duty titles this is usually key authentication infrastructure rather than the key itself.
Couldn't load default.cfg
The engine cannot find the stock game paks. Nearly always fs_basepath pointing at the wrong directory, or paks missing from the gamedir.
