This guide is intended for server admins wanting to set up a dedicated server at a remote datacenter. It is based on a Windows 2003 server setup, which is the only type of server I have. Hopefully someone knowledgeable about the Linux server setup (when it comes out) can add that information when it comes available.

CoD4 Windows Remote Dedicated Server Setup:

Part 1: Getting the files to the server
1. Buy and install the game on your home computer.

2. FTP the ENTIRE installed game to your remote dedicated server. Be certain to maintain the directory structure from the game's ROOT directory on. The game's root directory contains the iw3mp.exe file.

Note: Eventually we may find some files are unnecessary, but for now uploading them all is your safest bet.

Part 2: Creating a shortcut to run your server
1. On your dedicated server, RIGHT click on the iw3mp.exe file found in the CoD4 server's ROOT directory and DRAG it to the desktop. Have the server create a SHORTCUT. Be sure you only created a shortcut and did not actually MOVE the file.

2. Right click on the new shortcut you just created and go to its properties.

3. Find the TARGET field and add the following to the END of the existing target, do not DELETE any of the existing tartget!

+set dedicated 2 +set sv_punkbuster 1 +exec mp-server.cfg +map_rotate
Note: Make sure there is a SPACE between "iw3mp.exe" and "+set dedicated 2".
Note 2: I am not sure if the CoD4 server will run on Windows 2000, but if you are trying you will very likely need to enclose the part of your target line that existed BEFORE you changed it in quotation marks. I noticed my Windows 2003 server did not need this, but I always had to have it before when I ran a Windows 2000 server.

The above command line assumes you intend to use Punkbuster of course. If not, remove that part of the command line. Also, you can obviously change the name of your config file to what ever YOU want to call it.

Other optional commandline items:
+set net_ip
+set net_port xxxxx
+set fs_game mods/modwarfare

Part 3: Creating your config file
1. On your remote server, browse to CoD4's main/ directory. You should see many .IWD files in this directory. Create a new text file and rename it to mp-server.cfg. (The name of this config file MUST match what you put in the server's command line)

2. Open your newly created config file with a text editor (such as notepad).

3. Copy and paste this basic config into your new config:

seta sv_punkbuster 1
// Server name
set sv_hostname "My CoD4 Server" //Change this to whatever you want your server to be named in the server browser
// Server password
set g_password "" // blank means NO password
// Rconpassword
set rcon_password "change_me" // Change this to your rcon password!
// Maximum Clients
set sv_maxclients "32"
set sv_privateclients "6"
// Max Ping
set sv_maxping "225"
// Rate
set sv_maxRate "25000"
// Map_rotation
set sv_mapRotation "g_gametype war map mp_backlot g_gametype war map mp_bloc g_gametype war map mp_bog g_gametype war map g_gametype war mp_cargoship g_gametype war map g_gametype war mp_citystreets g_gametype war map mp_convoy g_gametype war map mp_countdown g_gametype war map mp_crash g_gametype war map mp_crossfire g_gametype war map mp_farm g_gametype war map mp_overgrown g_gametype war map mp_pipeline g_gametype war map mp_showdown g_gametype war map mp_strike g_gametype war map mp_vacant"
set sv_maprotationcurrent ""
Note: The above is a VERY basic config, just to get the server up and running. A more complete config file will be coming.

or use the configs from the below download and edit them

Part 4: DirectX file
1. Download the attached directX file:

2. Upload the d3dx10_34.dll file to your Window's Servers system32 directory (Mine was in C:\WINDOWS\system32).

Part 5: PunkBuster files
1. Download pbsetup.exe from here:

2. Upload pbsetup.exe to your server. It does NOT need to be in the CoD4 directories, in fact it is probably best if you treat this as a stand-alone application (it can update ALL PB servers from one application).

3. Run pbsetup.exe and click "Add a Game". Choose a CoD4 server. You will likely need to browse to the iw3mp.exe file so that pbsetup knows where your CoD4 server is located.

4. Once you have added your CoD4 server, select/highlight the CoD4 server in the list and click "Check For Updates". This should download a number of files to your CoD4 server directories. You should not have to do anything else.

Finally you are there! Simply use the shortcut you made on the server's desktop to start your server.

Part 6: Adding ingame server messages

Here's the easiest way to do it:

- Get on your game server and type this into the console:
What that does is make a pbsv.cfg file. Now stop your server and copy the pbsv.cfg file to your computer desktop and open that file with notepad and at the very bottom add this:
pb_sv_load svrmsgs.cfg //server console messages
Then create a new notepad file and rename it from untitled.txt to svrmsgs.cfg and add the following:

/////// In game text Color Tags ////////
// ^1=red
// ^2=green
// ^3=yellow
// ^4=dark blue
// ^5=light blue
// ^6=pink 
// ^7=white
// ^8=black 
// Task setup for PunkBuster
pb_sv_task 20 620 "say Welcome to the N/U Gaming Server"
pb_sv_task 60 660 "say ^1No Foul Language or Bad Name Tags - "^3Use the ^1F bomb ^3and you will be KICKED/BANNED"
pb_sv_task 100 700 "say ^1Respect all players"
pb_sv_task 140 740 "say ^7Don't Cheat!! ^4You Will Be Caught then Banned!"
pb_sv_task 180 780 "say ^3No matter what you have done, siosios can still forgive you"
pb_sv_task 220 820 "say ^5Please...^1WATCH YOUR LANGUAGE AND CONDUCT!"
pb_sv_task 260 860 "say ^3Visit our website for custom maps and mods...^"
pb_sv_task 300 900 "say ^3Let's Talk! ^2Join us on TeamSpeak...^7xx.xx.xx.xx"
pb_sv_task 340 940 "say ^3MoG Radio - ^2Listen on TeamSpeak or visit our website and click on the link"
pb_sv_task 380 980 "say ^5Hey you...yeah you...have you considered today?"
pb_sv_task 420 1020 "say ^2pasties loves us no matter what!"
pb_sv_task 460 1060 "say ^5Thanks for visiting our server." 
pb_sv_task 500 1100 "say ^5Repent and thou shalt be saved saith the N/U!"
pb_sv_task 540 1140 "say ^2Help us keep it clean - please no foul language!"
or batch rcon for remote messages from your pc

create a batch file in the same folder as the file named "BatchRCONc.exe"
The batch file has this text in it: "batchrconc s= p=20100 silent=1 rcpw=password cmd="say ^1 Welcome to our server"

I then create a "Scheduled Task" in windows to launch the batch file every X mins.