How to run ARMA II: Operation Arrowhead as a Windows Service with FireDaemon Pro.

ARMA II: Operation Arrowhead

What is ARMA II: Operation Arrowhead?

ARMA II: Operation Arrowhead Operation Arrowhead is a standalone expansion pack to ARMA 2.

ARMA II: Operation Arrowhead screenshot

ARMA II: Operation Arrowhead dedicated server can be run as a Windows service using FireDaemon Pro. This allows you to start and run the dedicated 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 ARMA II: Operation Arrowhead service, plus other Windows services via your web browser.

ARMA II: Operation Arrowhead Server Setup Under FireDaemon Pro

Please follow the steps below to set up an ARMA II: Operation Arrowhead 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.

  1. Create a folder on your system, for SteamCMD, C:\SteamCMD
  2. Download SteamCMD to this folder. A single ZIP file is downloaded.
  3. Extract the contents of the ZIP file into the folder. A single program file, steamcmd.exe, is extracted.
  4. Double-click steamcmd.exe. This will download SteamCMD and corresponding support files into the C:\SteamCMD folder.

Step 2: Download and Install FireDaemon Pro

  1. Download FireDaemon Pro installer
  2. Double-click installer and follow the installation wizard to complete the installation.
  3. For more information about installing FireDaemon, see the FireDaemon Pro Users Guide.

Step 3: Download and Install Arma II and ARMA II: Operation Arrowhead

ARMA II: Operation Arrowhead requires a Steam account that owns the game to install the server files. Replace USERNAME with your Steam username and PASSWORD with your Steam password.  You will need to enter a verification string if your steam account has SteamGuard enabled.  The verification string will be sent to the email you set up as your steam account email.  This string only needs to be filled in once.

  1. First download the ARMA II files via the Steam SteamPipe servers. Go to the directory where you installed SteamCMD and create a shortcut to "SteamCMD.exe". In the shortcut, edit the properties and in the target box, at the end of it (with a space before the following), put:
+login anonymous +force_install_dir "C:\ARMA II OA" +app_update 33910 validate +quit
SteamCMD Shortcut Properties
  • Secondly download the ARMA II: Operation Arrowhead files via the Steam SteamPipe servers. Go to the directory where you installed SteamCMD and create a shortcut to "SteamCMD.exe". In the shortcut, edit the properties and in the target box, at the end of it (with a space before the following), put:
+login anonymous +force_install_dir "C:\ARMA II OA" +app_update 33930 validate +quit
SteamCMD Shortcut Properties

If the game successfully downloads, the command window will close on its own. Otherwise, it will stay open and tell you what went wrong (most likely you don't have enough free disk space).

Note: Do not install ARMA II over the ARMA II: OA files as that will break things. First, download ARMA II files, let it finish downloading, and then download the ARMA II: OA files.

Arma II OA Beta

Many mods like DayZ and derivative mods from DayZ also require the ARMA 2: Operation Arrowhead Beta installed. To install the beta, create an additional shortcut to steamcmd.exe, edit the properties, and in the target box, at the end of it (with a space before the following), put:

+login USERNAME PASSWORD +force_install_dir "C:\ARMA II OA" +app_update 219540 validate +quit

Step 4: Install Dot Net Framework 4.6.1

The game includes Dot Net Framework 4.6.1, install it from "C:\ARMA II: Operation Arrowhead \_CommonRedist\DotNet\4.6.1\NDP461-KB3102436-x86-x64-AllOS-ENU.exe"

Step 5: Set Up ARMA II: Operation Arrowhead 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 the information into the fields as you see below. Adjust the path names to suit your installation. Note the required parameters.

FireDaemon Pro ARMA II: Operation Arrowhead Dedicated Server Service Program Tab

The most important field on the tab is the Parameters. The Parameters define the initial setup of your server. The full parameter list should be as follows:

-ip= -port=2302 "-config=pathto\config.cfg" "-cfg=pathto\basic.cfg" "-profiles=YourProfile" "-mod=@mod1;@mod2" -cpuCount=2 -exThreads=7 -bandwidthAlg=2 -maxMem=2047 -noSound
  • "-ip" It's useful to define this if your server is behind a NAT router or if your server machine has multiple IP's and you only want the server to listen on one IP. If you are hosting the server from home or do not know your server IP, then on the server, go to the following website to find your external IP address:
  • "-port" This set's the server port. It should be left on default unless you are running multiple servers on the same IP.
  • "-config" Loads the server config file.
  • "-profiles" Loads/saves profiles to the specified directory. This should be set as the default location to save profiles is in your users folder of windows and it's better to have all your configs in the same directory.
  • "-mod" This one is not needed if you are running an ARMA II: Operation Arrowhead/OA server with no mods. If you are running mods, you would put each mod name prefixed with an @ symbol and separated by a semi-colon. Replace @mod1;@mod2 with whatever mods you're using.
    The next few parameters are performance-related and may be too low or high depending on your server specs. You should research them before using them. If you don't know about them, then do not use them.
  • "-cpuCount 2" Limits the number of cores your server uses to 2. This is useful to prevent your whole machine from locking up should your server ever use 100% cpu.
  • "-exThreads 7" Limits the number of threads your server uses to 7.
  • "-bandwidthAlg 2" Changes the bandwidth algorithm to a better-optimized one. This may improve bandwidth usage and management.
  • "-maxMem=2047" Limits the maximum amount of memory to 2GB. ARMA 2 servers in general never go above 500MB (even for 50 slot servers), this command is useful to prevent memory leaks.
  • "noSound" Disables sound output when the server starts.

Next, click on the FireDaemon Pro Settings tab:

FireDaemon Pro ARMA II: Operation Arrowhead service settings

Enter appropriate values in the fields on the Settings tab as follows:

  • (Optional) Logon Account: Enter the Windows account under which the game is to be run, e.g. the current user account.
  • Password / Confirm Password:  Enter the logon account's password twice.
  • (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. 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.

Next, click on the Lifecycle tab. Set Shutdown By to Forceful Termination and check "Console Program".

FireDaemon Pro ARMA II: Operation Arrowhead lifecycle settings

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 6: Verify that ARMA II: Operation Arrowhead is Running Correctly

The ARMA II: Operation Arrowhead 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.

FireDaemon Pro Services list

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.