Call of Duty: Modern Warfare 3 is a first person action game. The unranked dedicated server component can be run as a Windows Service using FireDaemon Pro. You can only run the unranked server when hosting it yourself. If you want a ranked server, you will need to rent one from a Game Server Provider. FireDaemon Pro will allow you to have the dedicated server start automatically at boot prior to login, start multiple instances of the dedicated server and so forth. This HOWTO will show you how to set it up. You can also use Fusion to manage FireDaemon and other Windows services via a web browser.
Call of Duty: Modern Warfare 3 Dedicated Server Setup
The dedicated server files can only be downloaded through Steam. If you are installing the server on another computer, make a new steam account; if you use an already existing account, you will be logged out on your computer when the server files are downloaded or updated.
Download and install Steam from here.
Create a new Steam account here. Take note of the username and password you chose. If you plan on using an existing Steam account, skip to the next step.
At the top of the Steam window, click "Library". Below library you will see "All Games". Click that and select "Tools".
Look for "Call of Duty: Modern Warfare 3 - Dedicated Server". Right click it and select "Install Game..." from the context menu. Click Next on the window that appears.
The server files are huge. 14GB !!! Steam will tell you the approximate download time, which for most is over 1 hour.
Once the download finishes, run the server (once) to extract all the files so the server can start properly. You can exit the server once it starts; the window will show the logo for "Call of Duty: Modern Warfare 3".
Call of Duty: Modern Warfare 3 uses a configuration file named server.cfg and other configuration files called "recipes". Both files can be found in"C:\Program Files (x86)\Steam\steamapps\common\call of duty modern warfare 3\admin". Go ahead and edit these to your preferences.
Call of Duty: Modern Warfare 3 Server Setup Under FireDaemon Pro
Download and install FireDaemon Pro into the directory of your choice, typically C:\Program Files\FireDaemon.
Next start the FireDaemon GUI from the desktop shortcut. Click on the "Create a new service definition" button in the toolbar (or type Ctrl+N) and enter the information into the fields as you see below. Adjust the paths to suit your installation. Note the required parameters.
The most important field on the tab is the Parameters. The Parameters define the initial setup of your server.
Here’s the full parameter list you should have:
+start_map_rotate +set sv_maprotation map_rotation
- "+start_map_rotate" Loads the server.
- "+set sv_maprotation map_rotation” Loads your map rotation (replace map_rotation with whatever you named your rotation).
Now click on the Settings tab. If you DON'T want to see your dedicated server running, uncheck the Interact with Desktop check box & select “Hidden” from the “Show Window” dropdown. You can optionally run your dedicated server as the user you installed it as. In the Logon Account field type your username (e.g. Administrator) and then enter the user's password twice in the Password and Confirm fields. You can change the Process Priority to allocate more CPU time to the dedicated server or specify which CPU or core the dedicated server will run on (in the case of multi-processor, hyperthreaded or multi-core CPUs).
Now click on the Lifecycle tab. Uncheck Graceful Shutdown as Call of Duty: Modern Warfare 3 doesn't respond to it.
Now click on the OK button to finish setup and start Call of Duty: Modern Warfare 3!
Example Configuration File
Below is an example mp-server.cfg file:
// Modern Warfare 3 Server Configuration ////////////////////////////////////////////////////////// // Server command-line parameters (this section is for documentation only) // Specify server configuration file (this file) //+set sv_config "filename" (default "server.cfg") // Specify server visibility (1 = LAN, 2 = Internet (default) ) //+set dedicated 1 // Open game port (Steam-visible server game port) //+set net_queryPort 27014 // Secure game port //+set net_port 27015 // Steam authentication port //+set net_authPort 8766 // Steam master server (server browser) port //+set net_masterServerPort 27016 ////////////////////////////////////////////////////////// // Server.cfg-configurable settings // Server host name. This should always be set by the server admin. seta sv_hostname "Modern Warfare 3" // Dedicated server play list (DSPL) specifying server map rotation. // Valid game options are controlled via DSR (dedicated server recipe) specified in the DSPL. seta sv_maprotation "default" // Maximum number of clients that may connect to this server (range 1-18) seta sv_maxclients 16 // Server password. If set, users will be prompted on join attempt. seta g_password "" // Maximum number of private clients allowed on the server (range 0-18 (clamped to sv_maxclients) ) seta sv_privateClients 0 // Password for the private slots on this server. If set, users will be prompted on join attempt. // Users providing this password will have access to all slots. // Users providing an incorrect password will have access to the (sv_maxClients - sv_privateClients) public slots. seta sv_privatePassword "" // Remote console password. If set, users will have access to a remote console, allowing server administration from a connected client. seta rcon_password "" // Server voice chat configuration ( 0 = "No Chat", 1 = "Free Chat", 2 = "Team Chat" (default) ) seta sv_voice 2 // Toggle voting for [player kick/map restart/next map] (0 or 1 (default) ) seta g_allowVote 1 // Toggle allowing dead players to chat with living players (0 (default) or 1) seta g_deadChat 0 // Time in seconds before the server will kick a user for inactivity (range 0 - 10000) seta g_inactivity 120 // Time in seconds for a player temporary ban (on kick/tempban) (range 0 - 3600) seta sv_kickBanTime 300 // Toggle flood protection (throttling of user commands - should be enabled for non-password-protected Internet servers) (0 or 1 (default)) seta sv_floodProtect 1