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.
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.
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.
Final directory structure.
- 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.