How to run Eternal Silence as a Windows Service with FireDaemon Pro.
What is Eternal Silence?
Eternal Silence is a science fiction Half Life 2 mod. 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 restart your dedicated server should it crash. This HOWTO will show you how to set it up. You can also use FireDaemon Fusion to manage FireDaemon and other Windows services via your web browser.
Eternal Silence Setup Under FireDaemon ProFirst download and extract SteamCMD. The download is small (< 2 MB).
Go to the directory where you installed SteamCMD and create a shortcut to "SteamCMD.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:
+login anonymous +force_install_dir "C:\Eternal Silence" +app_update 17555 validate +quit
The target box should now look something like:
C:\SteamCMD\steamcmd.exe +login anonymous +force_install_dir "C:\Eternal Silence" +app_update 17555 validate +quit
Now click the shortcut you created and let it run to download the Eternal Silence server files. 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. Make sure to stop your server first.
Eternal Silence uses one configuration file, server.cfg, to store configuration settings. This file is stored in C:\eternal silence\esmod\cfg. You must create the server.cfg file if it doesn't already exist in this folder. Edit this file to suit your preferences. See the end of this HOWTO for a sample server.cfg file.
Now 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 srcds.exe file. For the purposes of this HOWTO, that path is C:\eternal silence\srcds.exe.
- Working Directory: The directory containing your srcds.exe file. For the purposes of this HOWTO, that path is C:\eternal silence.
- Parameters:-console -game esmod +exec server.cfg -map es_ice +maxplayers 8
- -console - Specifies to run the console version of the server.
- -game esmod - Specifies which game to load.
- +exec server.cfg - Specifies which server configuration file to load.
- +map es_ice - Specifies which map to load. This field may be changed.
- +maxplayers 8 - Specifies the maximum number of players.
- -ip 126.96.36.199 - Specifies the IP address to connect to. Replace this with your (internal or external) IP address. This may also be specified in the server.cfg file.
- -port 27015 - Specifies which port to send traffic through. This may also be specified in the server.cfg file.
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 Eternal Silence 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 Eternal Silence doesn't respond to it.
Now click OK to finish setup and start your Eternal Silence server!
Sample Eternal Silence server.cfg File
Below is a sample Eternal Silence server.cfg file:
hostname YourServerName rcon_password “YourRCONpassword” sv_password “” // only needed to make your server private. sv_contact “firstname.lastname@example.org” hostport 27016 sv_lan 0 // enable LAN = 1; disable LAN = 0 sv_region 255 // sv_allow_lobby_connect_only 0 - enable/disable Lobby connections 1/0 // mp_disable_autokick 1 - disables autokick=1 sv_allow_wait_command 0 sv_alltalk 1 sv_alternateticks 0 sv_clearhinthistory 0 sv_consistency 1 sv_pausable 0 sv_voiceenable 1 sv_cheats 0 sv_forcepreload 1 sv_pure_kick_clients 0 //exec banned_user.cfg //exec banned_ip.cfg sv_log_onefile 0 sv_logbans 1 sv_logecho 0 sv_logfile 1 sv_logflush 0 sv_logsdir logs sv_minrate 30000 sv_maxrate 60000 sv_minupdaterate 66 sv_maxupdaterate 101 sv_mincmdrate 66 sv_maxcmdrate 101