Call of Duty is a legendary World War II first-person shooter that revolutionized multiplayer gaming. This guide covers everything you need to know about hosting a dedicated Call of Duty server on Linux or Windows platforms.
28960 (UDP)cod_lnxded (Linux) / CoDMP.exe (Windows)server.cfg| Port | Protocol | Purpose | Required? |
|---|---|---|---|
28960 |
UDP | Main game server port (default) | ✓ Yes |
20500-20510 |
UDP | Master server queries | ○ Optional |
# UFW (Ubuntu/Debian)
sudo ufw allow 28960/udp comment 'CoD Server'
# FirewallD (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=28960/udp
sudo firewall-cmd --reload
# iptables
sudo iptables -A INPUT -p udp --dport 28960 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4
# Install 32-bit libraries (if on 64-bit system)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc1 lib32stdc++6
# Create server directory
mkdir ~/cod-server
cd ~/cod-server
# Extract server files (upload via FTP or download)
# Server files typically include: cod_lnxded, main/ directory, etc.
chmod +x cod_lnxded
# Create basic server.cfg
cat > main/server.cfg << 'EOF'
// Server Settings
set sv_hostname "My CoD Server"
set sv_maxclients 32
set rcon_password "your_secure_password"
// Game Settings
set g_gametype "dm" // dm, tdm, sd, retrieval
set scr_friendlyfire "1"
set g_allowvote "1"
// Map Rotation
set sv_mapRotation "gametype dm map mp_harbor gametype tdm map mp_pavlov"
EOF
# Start server
./cod_lnxded +set dedicated 2 +set net_port 28960 +exec server.cfg +map_rotate
// Server Identity
set sv_hostname "^1My ^7CoD Server"
set sv_maxclients 32
// Network Settings
set sv_maxRate 25000
set sv_maxPing 0
set sv_minPing 0
// Administrative
set rcon_password "your_secure_rcon_password"
set g_password "" // Server password (leave empty for public)
set g_log "games_mp.log"
set g_logsync "1"
// Gameplay Settings
set g_gametype "dm" // dm, tdm, sd, retrieval, hq
set scr_friendlyfire "1"
set scr_killcam "1"
set scr_drawfriend "1"
set g_allowvote "1"
// Time Limits and Score
set scr_dm_timelimit "15"
set scr_dm_scorelimit "50"
set scr_tdm_timelimit "15"
set scr_tdm_scorelimit "100"
// Map Rotation
set sv_mapRotation "gametype dm map mp_harbor gametype tdm map mp_pavlov gametype dm map mp_brecourt gametype tdm map mp_carentan"
// PunkBuster (Anti-Cheat)
set sv_punkbuster "1"
pb_sv_enable
| Parameter | Description | Example |
|---|---|---|
+set dedicated |
Set server type (1=LAN, 2=Internet) | +set dedicated 2 |
+set net_ip |
Bind to specific IP address | +set net_ip 0.0.0.0 |
+set net_port |
Set server port | +set net_port 28960 |
+set fs_basepath |
Base game directory path | +set fs_basepath /home/cod |
+set fs_homepath |
Home directory for configs/logs | +set fs_homepath /home/cod |
+set fs_game |
Load a mod (folder in main/) | +set fs_game mods/mymod |
+set rcon_password |
RCON password for remote admin | +set rcon_password mypass |
+set sv_maxclients |
Maximum player slots | +set sv_maxclients 32 |
+set sv_punkbuster |
Enable PunkBuster (0=off, 1=on) | +set sv_punkbuster 1 |
+exec |
Execute config file on startup | +exec server.cfg |
+map_rotate |
Start map rotation defined in config | +map_rotate |
./cod_lnxded +set dedicated 2 +set net_ip 0.0.0.0 +set net_port 28960 +set fs_basepath /home/cod +set fs_homepath /home/cod +set sv_punkbuster 0 +exec server.cfg +set rcon_password mypassword +set sv_maxclients 32 +map_rotate
+set dedicated 2 for internet serverschmod +x cod_lnxded)sv_maxRate to match available bandwidth# Check if server process is running
ps aux | grep cod_lnxded
# View server logs
tail -f main/games_mp.log
# Check port is listening
netstat -ulnp | grep 28960
# or
ss -ulnp | grep 28960
Popular server modifications compatible with Call of Duty: