How to run Counter-Strike: Global Offensive (CS:GO) as a Windows Service with FireDaemon Pro.
Counter-Strike: Global Offensive (CS:GO) is a multiplayer first-person shooter video game.
The CS:GO dedicated server component can be run as a Windows service using FireDaemon Pro. This allows you to start and run the dedicated game server automatically when Windows boots and before login. FireDaemon Pro also allows you to start multiple instances of the game server, monitoring them and automatically restarting those instances in the event they crash. FireDaemon Fusion can also be used to manage your CS:GO service, plus other Windows services via your web browser.
Counter-Strike: Global Offensive Configuration Steps
Please follow the steps below to set up CS:GO dedicated server as a Windows service with FireDaemon Pro.
Step 1: Download and Install SteamCMD for Windows
SteamCMD is a command-line version of the Steam Client. Its primary use is to install and update various dedicated servers available on Steam using a command-line interface.
- Create a folder on your system, for example, C:\SteamCMD
- Download SteamCMD to this folder. A single ZIP file steamcmd.zip is downloaded.
- Extract the contents of the ZIP file into the folder. A single program file, steamcmd.exe, is extracted.
- Double-click steamcmd.exe. This will download SteamCMD and corresponding support files into the C:\SteamCMD folder.
Step 2: Download and Install FireDaemon Pro
- Download FireDaemon Pro installer
- Double-click installer and follow the installation wizard to complete the installation.
- For more information about installing FireDaemon, see the FireDaemon Pro Users Guide.
Step 3: Download and Install the CS:GO Dedicated Game Server
Choose a new folder in which to install the CS:GO game server. For easy management, we recommend creating a folder inside the C:\SteamCMD folder, for example, C:\SteamCMD\csgo.
- Open an elevated Command Prompt (i.e. with Administrator privilege).
- Enter the following commands at the Command Prompt:
steamcmd +login anonymous +force_install_dir .\csgo\ +app_update 740 validate +quit
The CS:GO dedicated game server will then be downloaded and installed from Steam. The CS:GO dedicated game server is approximately 25GB in size so the download can take quite some time.
- Check the output messages for the successful installation of the software per the screenshot below:
CS:GO depends on a single file for configuration. The file is csgo\cfg\server.cfg. Edit this file to suit your preferences.
Step 4: Set Up CS:GO as a FireDaemon Pro Service
Double click the FireDaemon Pro icon on your desktop, then click on the New (i.e. +) button in the toolbar (or type Ctrl + N) to create a new service. Enter values in the fields in the Program tab as follows (adjust these settings to suit your particular system and preferences):
- Short Name: The service name in short form, e.g. csgo
- Display Name: The full name of the service, e.g. Counter Strike: Global Offensive
- Startup Type: The mode in which the service should be started, e.g. Manual or Automatic (Delayed Start).
- Program: The full pathname to the game server program file, e.g. C:\SteamCMD\csgo\srcds.exe
- Working Directory: The working directory for the game server, e.g. C:\SteamCMD\csgo
- Parameters: The parametersthat the game server uses to run - note that you must change these settings to suit your setup (i.e. all command-line arguments enclosed in <angle brackets>), e.g.
-console -game csgo -secure +game_type <#> +game_mode <#> +map <mapname> +mapgroup <groupname> -autoupdate +exec server.cfg -port 27015
Parameters descriptions are as follows:
- -console enables text-based server display. The server can only be automatically restarted in text-based mode.
- -game loads the mod.
- -secure enables VAC (Valve Anti Cheat) protection of your server. This parameter is optional.
- +game_type <#> changes the game type to Casual, Competitive, Arms Race and Demolition etc.. Replace <#> with a digit (see Game Modes and Game Types below). This parameter should never be removed.
- +game_mode <#> sets the primary functions of your server (eg. time, rounds, friendly fire, etc.). Replace <#> with a digit (see Game Modes and Game Types below). This parameter should never be removed.
- +map <mapname> sets the name of the starting map, for example, de_dust2 (change this as required).
- +mapgroup <groupname> sets the map group name. Group names differ based on which Game Mode and Game Type is chosen. This command should never be removed.
- -autoupdate enables automatic updates of the server.
- -port 27015 This is the default network port for the game server. Valid values are from 27015 to 27020. A non-default port number is generally used if a server is hosting multiple game instances. This parameter should never be removed.
- +exec server.cfg This simply executes the server.cfg file upon server startup. If multiple server instances are run from the same installation, other config files can be specified (e.g. server2.cfg).
Your FireDaemon Pro service configuration should look similar to the screenshot below:
Game Modes and Game Types
CS:GO game type and game mode values can be found here. Below you will find some specific game type examples / combinations:
+game_type 0 +game_mode 0 +map de_dust2 +mapgroup mg_bomb
Competitive / Scrimmage:
+game_type 0 +game_mode 1 +map de_dust2 +mapgroup mg_competitive
+game_type 1 +game_mode 0 +map ar_shoots +mapgroup mg_armsrace
+game_type 1 +game_mode 1 +map de_lake +mapgroup mg_demolition
Next, click on the FireDaemon Pro Settings tab:
Enter appropriate values in the fields on the Settings tab as follows:
- (Optional) Interact with Desktop: If this setting is enabled (default), the game server's output messages can be seen in the console window on Windows Session 0. In order to switch to Session 0, it may be necessary to install FireDaemon Zero and ZeroInput. Alternatively, this setting may be disabled, in which case the game server's messages will be hidden.
- (Optional) Priority: To allocate more CPU time to the game server, select a higher scheduling priority in this field.
- (Optional) CPU Bindings: To run the game server on a specific CPU, specify the appropriate CPU in this field.
Lastly, click the Save and Close (ie. the tick) button on the toolbar. If the service's Startup Type is set to Automatic or Automatic (Delayed-Start), it will start immediately.
Step 5: Verify that CS:GO is Running Correctly
The CS:GO game server's status can easily be checked on the main FireDaemon Pro Services List - look for a Running Status value and a numeric Process ID (PID) value.
If the service's Interact with Desktop setting is enabled, the game status can also be verified by switching to Windows Session 0 to view the game's messages.
Step 6: Check that CS:GO is Listening on the Correct Network Ports
- Firstly, find the Process ID (PID) of the CS:GO service from the FireDaemon Services List (see example above).
- Open a command prompt window with Administrator privileges and run the following command:
netstat -anob | find "<PID>"
where <PID> is the Process ID found in the FireDaemon Pro Services List PID column. This command lists the ports on which the game server is listening - in this example, ports 27005, 27015, 27020 and 56542 are active. Your system's firewall and/or router must be configured to forward traffic to these ports. You should see output similar to the screenshot below: