Contents
Call of Duty 4: Modern Warfare is one of the best multiplayer shooting games of all time. Despite being the game older than a decade, there are many public servers out there. But if you want to play COD4 with your best friends, you will need a private server with RCON permissions. There are some free services to host private servers like FSHOST, but if you need a custom server with your configurations, this guide is for you.
Requirements for Installing a COD4 Server
- VPS (Virtual Private Server) running Debian
- Call of Duty 4 stock game files
- CoD4x server files
- CoD4 mod files (Promod LIVE 220 or any other mod)
- Server config file
Installing Call of Duty 4 Server on Linux Debian
Login to the VPS
Update packages and repos of your linux VPS.
apt-get update
apt-get upgrade
Install screen if you’re not sure it is installed by default.
apt-get install screen
Call of Duty 4 server only runs on i386 machines, to enable multiarch feature, perform following commands.
dpkg --add-architecture i386
apt-get update
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Create a directory for the server.
cd /home
mkdir servers
Download COD4 stock game files to the directory.
cd servers
wget https://ia802600.us.archive.org/26/items/cod4_linux_server_files_201501/cod4_linux_server_files.zip
After downloading, unzip the compressed game files package.
apt-get install unzip (if unzip is not installed on your vps)
unzip cod4_linux_server_files.zip
Rename the cod4_linux_server_files directory to any name you like. (I renamed it as cod4) Download CoD4X server files to the directory.
cd cod4
wget https://cod4x.me/downloads/cod4x_server-linux.zip
Unzip CoD4X server files.
unzip cod4_linux_server_files.zip
Upload mod and server.cfg file. You should place the server.cfg file on your mods folder.
Call of Duty Promod – https://promod.github.io/
Here is my sample server.cfg file
// promod live v2 - sample server config v1.4
// for public ruleset customizations, see z_c_r.iwd
// info strings
sets _Admin "SACH"
sets _Email ""
sets _Website ""
sets _Location ""
sets _Irc ""
sets sv_hostname "^1Techie ^3Reports"
// welcome message, message of the day (motd)
seta scr_motd "^2Welcome ^1to ^5Techie ^3Reports"
// Network options
set net_ip "XX.XX.XXX.XXX" // Set your servers IP address
// password settings
set rcon_password "XXXXXXXX" // use more than 8 characters
set sv_privatePassword "" // private slots password
set g_password "XXX" // server password
// player slots, maxclients - privateclients = public slots
set sv_maxclients "16" // maximum number of clients
set sv_privateclients "" // number of private slots
// map rotation
set sv_maprotationcurrent "" // leave empty
set sv_mapRotation "gametype sd map mp_crossfire gametype sd map mp_backlot gametype sd map mp_crash gametype sd map mp_strike"
// promod settings
set promod_mode "match_mr12_pb" // promod mode, for a list of promod modes see attached readme
set promod_enable_scorebot "0" // match-modes only
Update permissions of all the added files.
chmod -R 777 main pb mods
Create a server initializing file.
nano start.sh
Paste the following lines to the start.sh file. Make sure to make the path according to your VPS. Then save the start.sh file.
#!/bin/bash
screen -dmS cod4 ./cod4x18_dedrun +set dedicated 2 +set sv_authorizemode 0 +set sv_punkbuster 1 +exec server.cfg +set net_port 28960 +set fs_basepath /home/*YourUsername*/servers/cod4 +set fs_homepath /home/*YourUsername*/servers/cod4 +set fs_game mods/pml220 +map_rotate
Update permissions of the start.sh file.
chmod -R 777 start.sh
Initialize start.sh file.
./start.sh
Final directory structure.


Notes
- Check the paths of the config files.
- Whitelist 28960, 20800, 20810 ports on your VPS. This is needed so anyone can access your server from their computer.
- RCON password should have 8 characters.
- You should have a way to upload files from your PC to the VPS. If you have a linux desktop environment installed and you have a remote connection to the VPS this won’t be needed.