How to run Quake III as a Windows Service with FireDaemon Pro.

Quake III is a first person action game. The dedicated server component can be run as a Windows Service using FireDaemon Pro, which allows you to start the dedicated server automatically at boot prior to login, start multiple instances of the dedicated server and more. This HOWTO will show you how to set it up. You can also use FireDaemon Fusion to manage FireDaemon and other Windows services via a web browser.

Quake III Dedicated Server Setup Under FireDaemon Pro

At the time of this writing, there is no Windows dedicated server component for Quake III. You will need to use the executables included with your game. It's best to create a clean installation of the game.

Go to "C:\Program Files\" and copy the "Quake III Arena" to a folder on your hard drive. For the purposes of this HOWTO, we will be copying the files to "C:\Quake 3".

Quake 3 uses two configuration file to store its settings. You will need to create the files "wfa-server.cfg" and "wfa-ini.cfg" in the "baseq3" folder.

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.

Executable: The path to your Quake3.exe file. For the purposes of this HOWTO, the path is C:\Quake 3\Quake3.exe.

Working Directory: The directory containing your Quake3.exe file. For the purposes of this HOWTO, the path is C:\Quake 3.

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:
+set dedicated2 +set fs_game XXXX +set net_ip +set net_port 27960 +exec wfa-server.cfg +set gametype 4 +seta bot_enable 0 +set sv_maxclients 16 +set com_hunkmegs 26

  • "+set dedicated 2” loads the server.
  • "+set fs_game XXXX” loads the mod. Where XXXX is the name of the mod. If you want to host regular Quake 3 with no mods, don't add this command line arguement.
  • "+set net_ip” Sets the Server IP (replace with your external or WAN IP)
  • “+set net_port 27960” Sets the Server Port.
  • “+exec wfa-server.cfg” Loads the configuration file "wfa-server.cfg"
  • “+set gametype 4” Set's the gametype to 4 (1 = DM, 2 = Tourney (1on1), 3 = Team DM, 4 = CTF)
  • "+seta bot_enable 0" Disables bots. Change the 0 to a 1 if you want to enable bots.
  • “+set sv_maxclients 16” Set's the player count to 16 slots. Change to however many slots you want.
  • "+set com_hunkmegs 26" Allocates a certain amount of memory for map and item loading. The default is 56, but 26 is the maximum that multiplayer uses. So to save memory, use 26.

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 Call of Duty 4: Modern Warfare 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 Quake 3 Dedicated Server doesn't respond to it.

Now click OK to finish setup and install Quake 3!

Example Configuration Files

Below is an example wfa-server.cfg file:

//----------------Your IP address and port number.
seta net_ip                "" // MAKE SURE YOU SPECIFY THIS CORRECTLY
seta net_port              "27960"
//----------------Important information about your server
seta sv_hostname            "***ChangeME***"
seta rconpassword          "CHANGEME"  // CHANGE THIS IMMEDIATELY
seta sv_maxclients          "16"
seta sv_maxrate            "10000"
seta sv_mminrate            "2000"
seta sv_zombietime          "2"
seta sv_pure                "1"  // ALL CLIENTS MUST HAVE MATCHING FILES ON SERVER
seta sv_privateclients      "0"
seta sv_privatePassword    "CHANGEME"
seta sv_allowdownload      "0"
seta sv_floodprotect        "0"
seta sv_master1            "" //
seta sv_master2            "" //
seta sv_master3            "" //Master Servers
seta sv_master4            "" //
seta sv_master5            "" //
seta g_wf_warmup          "60"
seta g_inactivity          "600"
seta g_log                "games.log"
seta g_logSync              "1"
seta g_doWarmup            "0"
seta g_warmup              "0"
seta g_password            ""  // SPECIFIED ONLY WHEN PASSWORDING A SERVER
seta g_needpass            "0"
seta g_allowvote          "1"
seta g_motd                "Your Message Here"
seta g_blueteam          "Blue"
seta g_redteam            "Red"
seta g_friendlyfire        "0"
seta g_forcerespawn        "10"
seta g_teamautojoin        "0"
seta g_forceteambalance    "2"
seta g_inifile              "wfa-ini.cfg"
//----------------Public Server Information
sets icq                    ""
sets website                ""
sets location              ""
sets admin                ""
sets connection            ""
sets os                    ""
sets specs                  ""
//----------------Misc. Server Information
seta droppacks                "1"
seta com_hunkMegs              "64"
seta com_zoneMegs              "32"
seta capturelimit              "12"
seta logfile                  "0" // qconsole.log
seta fraglimit                "0"
seta timelimit                "35"
seta overtimelimit              "5"
seta randomteams "1"
// ********************************************
// You will probably not need to modify anything below this point
// ********************************************
seta bot_enable                "0"
seta sv_cheats                "0"
map slabotage-wfa