Serious Sam 3 is a first-person shooter game. The dedicated server component can be run as a Windows Service using FireDaemon Pro, which allows you to have the dedicated server start 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.

Serious Sam 3 Dedicated Server Setup Under FireDaemon Pro

First 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 USERNAME PASSWORD +force_install_dir "C:\Serious Sam 3" +app_update 41080 validate +quit

Replace USERNAME and PASSWORD with your Steam login info. The Target box should now look like:

C:\SteamCMD\steamcmd.exe +login USERNAME PASSWORD +force_install_dir "C:\Serious Sam 3" +app_update 41080 validate +quit

Now click the shortcut you created and let it run to download the Serious Sam 3 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.

Serious Sam 3 allows use of a server.cfg configuration file to customise your settings. This configuration file can be specified on startup of your server. A sample server.cfg file is included at the end of this HOWTO.

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 Sam3_DedicatedServer.exe file. The path specified in this HOWTO is C:\Serious Sam 3\bin\Sam3_DedicatedServer.exe.

Working Directory: The directory containing the Sam3_DedicatedServer.exe file. The path specified in this HOWTO is C:\Serious Sam 3\bin.

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:

+exec server.cfg

  • +exec - Specifies which server configuration file to use. The server.cfg file should be stored in the parent of the /bin folder. If you wish to run the server with its default settings, you may omit this parameter.

Serious Sam 3 comes with a variety of configuration options. We recommend reading the DedicatedServer_Readme.txt file located in the \Help folder of your Serious Sam 3 folder, as it explains them in more detail. Any parameters you choose to use should be specified in your server.cfg file or in the parameters box (if you're overriding a server.cfg file setting).

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 may optionally run Serious Sam 3 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 Serious Sam 3 doesn't respond to it.

Now click OK to finish setup and start your Serious Sam 3 server!

Sample Server.cfg Configuration File

Here's a sample server.cfg configuration file. There are other options available, many of which are explained in Serious Sam 3's DedicatedServer_Readme.txt file.

rconpass = "SuperSecretPassword"; -- MAKE SURE YOU CHANGE THIS!
sessionname = "My Server Name" -- set this to the name of your server

gam_ctMaxPlayers = 8
gam_bAutoCycleMaps = 1

local prj_strMapList = {
  "#SunPalace.wld",   -- put a list of map file names for rotation here