How To Run Left 4 Dead: Source Dedicated Server (L4D DS) as a Windows Service with FireDaemon
Left 4 Dead is a first person action game. The dedicated server component can be run as a Windows Service using FireDaemon. FireDaemon will allow you to have the dedicated server start automatically at boot prior to login, allow you to start multiple instances of the dedicated server and so forth. This HOWTO will show you how set it up. You can also use Trinity or PanelDaemon to manage FireDaemon and other Windows services via a web browser.
L4D Dedicated Server Setup Under FireDaemon
- First download and install the HLDS Update Tool. It can be downloaded from here. The download is small (< 1 MB).
- Download the L4D server files via Valve’s content servers. First before downloading the files, go to the directory where you installed the HLDS Update Tool. Create a shortcut to “HldsUpdateTool.exe”. Next edit the properties of the shortcut and in the target box, at the end of it (with a space before the following), put:
-command update -game left4dead -dir .
The target box should now look something like:
"C:\L4D\HldsUpdateTool.exe" -command update -game left4dead -dir .

Now click the shortcut you created and let it run (it might take a few hours to update everything). You should also run the shortcut every week or so to grab the latest server updates (stop your server first though).
- Install FireDaemon Pro into the directory of your choice (typically C:\Program Files\FireDaemon). FireDaemon can be downloaded from here.
- L4D uses 1 configuration file to store it’s settings. By default the configuration file is not included, so create a file named "server.cfg" and put it in the CFG folder of Left 4 Dead (eg. "C:\Left 4 Dead\l4d\left4dead\cfg\server.cfg")
- 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. Obviously adjust paths to suite your installation. Pay special attention to the Parameters list.
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:
-console -game left4dead -secure +map l4d_hospital01_apartment -autoupdate +log on +maxplayers 4 -port 27015 +ip 1.2.3.4 +exec server.cfg- "-console” enables text base server display. The server can only be automatically restarted in text based mode.
- “-game” loads the mod.
- “-secure” enables VAC protection of your server (valve anti cheat). You can remove this command if you do not want to use VAC.
- “+map” loads a specified map on server startup. You can change “l4d_hospital01_apartment” to whatever map you want. This command should never be removed. To start your server in coop mode, select any "l4d" map (eg. l4d_farm01_hilltop). To start your server in versus mode, select any "l4d_vs" map (eg. l4d_vs_farm01_hilltop)
- “-autoupdate” Enables auto update of the server, valve has not implemented this in windows so you will have to manually update SRCDS/L4D yourself. It’s simply here for the sake of legacy support if valve ever decides to add it.
- “+log on” Displays the output of information on the screen. You can turn optionally it off (+log off), but keeping it on makes it easier to debug any errors you might encounter.
- “maxplayers 4” This controls the maximum of amount of players you want your server to run. You can only control the max players on server startup. This command should never be removed. Left 4 Dead can only handle up to 4 players in Coop mode and 8 players in versus mode.
- “-port 27015” This is the default server port for SRCDS. You can change it to anywhere from 27015 to 27020. Changing it is generally used when you host multiple servers (as each server has to use its own port when using the same IP). This command should never be removed.
- “+ip” should be the IP of your computer (not 127.0.0.1, go here to get your IP). This command should never be removed.
- “+exec server.cfg” This simply executes your server.cfg file on server startup. If you run multiple servers from the same installation, you can specify other config files (eg. server2.cfg)
- 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. Also uncheck Graceful Shutdown as SRCDS doesn't respond to it. You can optionally run SRCDS as the user you installed it as. In the Logon Account field type your username (eg. Administrator) and then enter the user's password twice in the Password and Confirm fields.
- Now click on the Advanced tab. 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 Dependencies tab. Make sure the service depends on the lanmanworkstation (Workstation) service to ensure the TCP/IP and CIFS stacks are both up prior to starting SRCDS.
- Now click on the Install button to install and start L4D!
Below is an example server.cfg file:
Code:
// Server Name
hostname "Left 4 Dead Server"
// Rcon Cvars
rcon_password "password" //Set's remote control password
// Server Password
sv_password "" // Password protects server
// Server Cvars
mp_disable_autokick 1 //Prevents a userid from being auto-kicked
sv_allow_color_correction 0 //Allow or disallow clients to use color correction on this server.
sv_allow_wait_command 0 //Allow or disallow the wait command on clients connected to this server.
sv_alltalk 0 //Players can hear all other players, no team restrictions
sv_alternateticks 0 //If set, server only simulates entities on even numbered ticks.
sv_cheats 0 //Allow cheats on server
sv_clearhinthistory 0 //Clear memory of server side hints displayed to the player.
sv_consistency 1 //Whether the server enforces file consistency for critical files
sv_contact "************" //Contact email for server sysop
sv_pausable 0 //Is the server pausable.
// Allow Versus Mode
director_no_human_zombies 1
sv_steamgroup_exclusive 1 // Setting to 0 will not connect to the Match Making Service
sv_steamgroup // Family Steam Group Number
// Lan or internet play, Server region cvars
sv_lan 0 //Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )
sv_region 3 // Region Codes: 0 - US East coast, 1 - US West coast, 2 - South America, 3 - Europe, 4 - Asia, 5 - Australia, 6 - Middle East, 7 - Africa, 255 - world
// HTTP Redirect
sv_downloadurl "http://yourserver.com"
sv_filetransfercompression 0
// Server Logging
sv_log_onefile 0 //Log server information to only one file.
sv_logbans 0 //Log server bans in the server logs.
sv_logecho 0 //Echo log information to the console.
sv_logfile 1 //Log server information in the log file.
sv_logflush 0 //Flush the log file to disk on each write (slow).
sv_logsdir "logs" //Folder in the game directory where server logs will be stored.
// bandwidth rates/settings
sv_minrate 0
sv_maxrate 25000
sv_minupdaterate 10
sv_maxupdaterate 33
sv_mincmdrate 10
sv_maxcmdrate 33
sv_client_cmdrate_difference 1
sv_client_predict 1
sv_client_interpolate 1
sv_client_min_interp_ratio -1
sv_client_max_interp_ratio -1
sv_rcon_banpenalty 60
sv_rcon_maxfailures 10
sv_rcon_minfailures 5
sv_rcon_minfailuretime 45
sv_allow_lobby_connect_only 0
// Voice Comm
sv_voiceenable "1"
sv_voicecodec vaudio_speex
// Exec Configs
exec banned_user.cfg
mapchangecfgfile server.cfg
mapcyclefile mapcycle.txt
You can easily generate your own configuration from
here.
=======================
HOWTO Provided by:

=======================