Jump to content

Tutorial: Installation & Configuration of ArmA3 Dedicated Server

Recommended Posts


  • Setting up your server
    • What you need
    • how you do it
  • Links
    • Information
    • useful Tools
    • Useful Addons
  • Selecting between Stable & Dev Builds, full or Dedi package installs
  • Port Forwarding
  • Battleye Configuration
  • Location of files
  • Server Admin Commands
  • Running Dedicated Server and client on same machine
  • Running multiple servers on one machine
  • Re-locating MpMissions
  • Bandwidth Optimisation
  • Trouble Shooting & Help
    • Best way to use this thread
    • Live chat help
    • What cannot be done
    • Known Issues
  • Example files
    • CONFIG_Vanilla.cfg
    • Arma3.cfg
    • .Arma3Profile
  • Advanced configuration
    • -profiles
    • AutoServer_Restart.bat File
    • Firedeamon
  • Addons and Mods
    • Basic introduction
    • Installation
    • Miscellaneous
    • Downloading & Addon Management
  • Changelog


The tutorial is intended for the lowest level of knowledge and skill, I make no apologies to those who think it is patronising. if you do, why are you reading a tutorial :j:

LAST UPDATED: Thursday 21st March 2017   :icon_arrow: up too and including this post




IMPORTANT UPDATE (16th March 2017)

64 (Released 16th March 2017)

1) Update your firewall rules to include the 64 bit binary

2) BattleEye changes

  • 64 bit binary runs the beserver_x64.dll
  • It also needs a BEServer_x64.cfg (Which is simply a renamed copy of your BEServer.cfg


If you run an addon server and are having issues, then try running the 32 bit arma3server.exe until the addon makers have fixed their content






What you need

  • 1 Standalone Windows server (2008 or later) (Sound and GPU not required)
  • 1 Steam Account
  • Ownership of ArmA3 No longer required if installing the server using the the Dedicated server package. (Required for Headless client or full client install)
  • According to this THIS POST you can run the ArmA3server on Win2003 now


This is how you do it.

Take note.
There are additions within these instructions that you may not need, if you only intend running 1 instance of an Arma3 server on your machine
However, adding these superfluous commands and content will not be detrimental to single instance servers
Directory paths are all customisable but for the sake of this tutorial, all file examples and command lines used will be consistent with the tutorial instructions


  • Login as Administrator: (You will need to run Arma3server.exe as "Administrator" or "System". Battleye requires it.)
  • Install the latest version of DirectX
  • Recommended to install  install the  32 & 64-bit 2013 VC++ redist from https://www.microsoft.com/en-GB/download/details.aspx?id=40784 
  • Create the following empty directories
    • D:\Apps\Steam
    • D:\Games\ArmA3\A3Master
    • D:\Games\ArmA3\A3Files
  • Download steamcmd.exe unpack it and save it to your targetted Steam install directory (E.g D:\Apps\Steam)
  • Run the steamcmd.exe. (This will download and install the required steam files to your custom steam directory)
  • Create an ArmA3_Steam_updater.cmd file, (Example shown below) and save it to D:\Games\ArmA3\A3Files
  • Run the ArmA3_Steam_updater.cmd file
  • Just after logging into Steam, the console window will hang and ask for a validation key
  • Steam will have automatically sent you an email with this validation code, which you then need to input at the command prompt
  • The Update console window should then continue to run and install ArmA3 ((DEV or STABLE) version to the target directory as defined in the .cmd file) eg (D:\Games\ArmA3\A3Master)
  • Create a shortcut for the ArmA3Server_x64.exe on the server desktop
  • Add the following parameters to the Target Line in the shortcut tab of the newly created desktop shortcut
    • -port=2302 (Required if running multiple server instances)
    • "-profiles=d:\Games\Arma3\A3Master"
    • -config=CONFIG_Vanilla.cfg
    • -world=empty
    • -mod=
      • -mod=      (Exaclty as it looks, an empty mod parameter

so it looks something similar to the following

"D:\Games\Arma3\A3Master\arma3server_x64.exe" "-profiles=d:\Games\Arma3\A3Master" -port=2302 -config=CONFIG_Vanilla.cfg -world=empty -mod=

  • Add firewall rules for the UDP ports (See below for -Port information)
  • Add firewall rule for the arma3server_x64.exe
  • Create a simple Notepad document called "CONFIG_vanilla.cfg" and save it to the root folder of your ArmA3 install on the server D:\Games\ArmA3\A3Master (See below for ".cfg" content)
  • Then start up your shortcut, check the server runs. (You will see a console pop up in your desktop after a few seconds)
  • Close the console window down, then you will need to edit the following files which will have been created
    • D:\Games\Arma3\A3Master\Users\Adminstrator\Administrator.Arma3Profile
    • D:\Games\Arma3\A3Master\Users\Administrator\Arma3.cfg
      • These files contain minimal content, and require a lot of editing, so to make this easier, there are example files listed below which you can copy n paste from
  • Restart the server
  • Start up your client Arma3 (Running the same branch as the server, (eg Stable or DEV) and you should then be able to see your server in the server browser (Filters are available to reduce the server list)
  • Login to your server using the password you defined in CONFIG_Vanilla.cfg by typing "/" to open the chat window and then type (#login ADMINPASSWORD followed by enter
  • Once logged in you will be presented with a mission list, select one of the missions to start the game
  • Prove the stability of your server by running BIS missions initially before you start adding user made content
    • You should now have successfully installed and be running a stable "Vanilla" (Default) server
  • You can then set up Battleye, The ArmA3 anti cheat system  (See the Battleye Configuration section below)


                                                   *** SUPPORTING INFORMATION ***



Open the spoiler for more info




SteamCmd Tutorial
Dedicated Server status & Changelog
kellys-heroes Dedicated Server Guide
In Game Server commands
In Game Admin commands
ArmA2 Dedicated server
Commandline Parameters
Difficulty settings
Server Configuration
simlink GUI:
Firedaemon Tutorial for ArmA3

DeathTec's Video Tutorial



Arma 3 Restarter.exe server monitor
:icon_arrow: ***

A U-tube video tutorial by Kirkwood364 which uses Tophe's Arma 2 Dedicated Server Tool to administer and run an A3 server
(Links for all the files required are available in the 1st comment of his Utube video)




This addon, installed serverside only, allows redefining skill setting on both the server (and remotely to the clients). This fixes the issue of not being able to reset Skill and precision settings and makes the AI less lethal

This addon, installed serverside only, injects an additional section to the clients briefing. You can edit the userconfig file to state exactly what information you want in this section.
Typical useage

  • Your teamspeak details
  • Your web address
  • Server rules




TICKETS RAISED that need your Vote



Open the spoiler for more info


Edit the ArmA3_Steam_Updater.cmd and run it

To select Development version

  • SET A3BRANCH=107410 -beta development

To roll back to stable build

  • SET A3BRANCH=107410

To use the Dedicated server package (Stable branch only)
This has a smaller diskspace footprint than the full client installs

  • SET A3BRANCH=233780 -beta
    In your root install, make sure your steamappid.txt file entry is 107410 (Do not use 233780)

Important Feature
since 12th March 2013
the development branch and the stable branch versions are no longer compatible. this means:

  • Only DEV clients can connect to a DEV server
  • Only Stable clients can connect to stable servers

Important Feature
since ? 2014
A dedicated server package is now available which has a smaller disk space footprint than the full client install
Most if not all client only required files have been removed. Graphics, sounds etc
This package is only available on the stable branch.
Use SET A3BRANCH=233780 -beta
Leave the steamappid.txt file entry as 107410


PORT FORWARDING (ArmA3) (Firewalls)

Open the spoiler for more info


ArmA3 uses the same default ports as ArmA2 with the addition of 2 steam ports. So if you intend running A2 and A3 servers on the same machine, you need to edit the ports used
Default ports are all UDP and as follows

  • 2302 (Arma3 Game port & VON)
  • 2303 (Steam query port)
  • 2305 (Steam Port)
  • 2306 (BattleEye RCON port)
  • 8766 (Steam port) obsolete since 1.22 hotfix patch. This is now hardcoded to use Gameport + 3 (eg 2305)
  • 27016 (Steam query port) obsolete since 1.22 hotfix patch. This is now hardcoded to use Gameport + 1 (eg 2303)



To define the ArmA3 Game port used,
state -port= **** in your command line arguments (Where *** is the new initial ArmA3 Game eg 2302)

and to define your Steam ports
add the following lines to your CONFIG_Vanilla.cfg (editing the actual port numbers as required)
// STEAMsteamport=8766;steamqueryport=27016; Obsolete, now engine hardcoded to use gameport +1

If you are running multiple servers, i would suggest the following format


  • 2302 UDP (used for game & VON)
  • 2303 UDP (Steam query port)
  • 2304 UDP (? no information available for this port useage)
  • 2305 UDP (used for Steam Port)
  • 2306 UDP (BattleEye RCON port)

so open ports 2302-2305
and leave at least 10 ports between the next server set


  • 2322 UDP (used for game & VON)
  • 2323 UDP (Steam query port)
  • 2324 UDP (? no information available for this port useage)
  • 2325 UDP (used for Steam Port)
  • 2326 UDP (BattleEye RCON port)

so open ports 2322-2326
leave at least 10 ports then repeat the process for No3 server etc


Update for the armaserver_x64.exe

I also found I needed to add a firewall rule for the 64 bit server executable for it to be broadcast on the WAN (Still don't know why it wouldn't work without doing that as all the ports were opened)

(End of 64 bit binary only)






Open the spoiler for more info


Battleye is the ArmA engine's anti cheat application. It is automatically installed and updated.

It can be disabled in your CONFIG_Vanilla.cfg by defining  Battleye=0;


If you have followed these instruction to the letter, you will see a Battleye folder in your d:\Games\Arma3\A3Master"

You will need to manually create a file in this folder named BEServer.cfg using a text editor such as Notepad

with the following content (Edit as you see fit)

RConPassword ABC123XYZ
RConPort 2306
MaxPing 250

There is an additional command you can define which is RConIP. However this can cause issues and if you have used the instructions in this tutorial, you will not need to



Update for the armaserver_x64.exe


1) BattleEye changes

  • 64 bit binary runs the beserver_x64.dll
  • It also needs a BEServer_x64.cfg (Which is simply a renamed copy of your BEServer.cfg


LOCATION OF FILES (When setting parameters)

Open the spoiler for more info


Just to clarify here is an example file structure and location of files if you set certain parameters

Command line entry: -profiles

NOTE: If running Firedeamon, the user will be "SYSTEM", for most other scenarios it will be "Administrator"
The below example is for Firedeamon.
Files automatically created during exe.start if they don't already exist are highlighted in Blue


d:\Games\Arma3\A3Master\MPMissions\ ? Think this was auto created can't remember

Command line entry: -config

if you then add a -config parameter as in the example below, you will need to manually create the file and edit it accordingly

Using this example will look for the file in the root directory of the virtual server it is for

You can also use a full path and place it wherever you want

In the "CONFIG_Vanilla.cfg, if you add the line

logFile = "A3Master.log";

The logfile will automatically be created as


Command line entry: -netlog
This will automatically create the following file




Open the spoiler for more info


reference: In Game Admin commands

(Known to work, (highlighted in Green))
Not working: (Highlighted in red)
Untested (Highlighted in black)


  • #login < password > : Admin login
    #logout : Admin logout
    #lock : Lock server (Auto unlocks at end of mission)
    #unlock : Unlocks server
    #missions : Stops mission, reloads mission list
    #reassign : Moves all players from their unit selection slots back into the lobby
    #restart : returns the mission to the unit selection screen, with all players in their slots and restarts the mission
    #shutdown: shuts the server down
    #Init : Reloads file defined by -config command line parameter




  • #userlist : Displays the list of users on the server (use pgup to scroll up)
    #kick < Server Player ID > (First entry for a player using #userlist)
    #kick < nickName > (Second entry for a player using #userlist
    #kick < Player UID > (Third entry for a player using #userlist)

    #exec kick < Server Player ID > (First entry for a player using #userlist)
    #exec kick < nickName > (Second entry for a player using #userlist
    #exec kick < Player UID > (Third entry for a player using #userlist)

    #exec ban < Server Player ID > (First entry for a player using #userlist)
    #exec ban < nickName > (Second entry for a player using #userlist
    #exec ban < Player UID > (Third entry for a player using #userlist)




  • #monitor 10 : Activates the server monitor which reports Bandwidth and memory useage Every * seconds via chat window)
    #monitor 0 : Deactivates the server monitor
    #debug off : Deactivates debugging
    #debug 30 : Debug reporting interval (Default is 10 seconds
    #debug von
    #debug console
    #debug checkFile expansion\Dta\ui.pbo
    #debug userSent <username>
    #debug userInfo <username>
    #debug userQueue <username>
    #debug JIPQueue <username>
    #debug totalSent 10


If you have followed these instructions, the only known issue, is to make sure you start the server up before you start the steam client
Failing to do this causes steam port issues and your client wont be able to connect to the server


Open the spoiler for more info


This is possible and there are a few methods to accomplish this.
Each server instance requires

  • Its own unique set of ports
  • Its own profile
  • Its own config


This POST explains it more in depth

In addition each method has some pro's and cons
To select the preferred methodology that suits your requirements you need to have considered the following


  • The useage of the "Keys" folder
  • The useage of the "MpMissions" folder
  • Available Hard drive space
  • Update management



see THIS POST for more detailed information

This is copy of the master install into a different directory
As may times as you have space for


  • Most robust
  • Unique MpMissions folder
  • Unique "keys" folder
  • Allows ability to run seperate instances of different branches of the game, (E.g Dev or Stable)


  • Uses more drive space
  • requires more effort to create and automate the updating process



This uses 1 master install folder and has renamed arma3server.exe's in sub folders of the master
see THIS POST for more detailed information

Pros Comparison to Method 1


  • Uses less space than Method 1
  • Updating will be easier

Cons Comparison to Method 1

  • Not very Robust
  • Shares MpMissions folders with all the other exe's (Will create a very cluttered MpMissions folder and allows admins to select addon required missions for a mod this server instance isn't running
  • Shares "keys" folder with all other exe's (This can cause an issue when running various differing -mod servers)
  • Will not allow you to run seperate instances of different branches of the game



This is a hybrid of method 1, in that it is essentially a "Virtual" copy of the master install in a different directory
the difference being that many folders are sim linked to the initial Master directory
simlink GUI:

Pros Comparison to Method 1


  • Uses less drive space (As you wont have multiple copies of the addons folder)
  • Allows for unique MpMissions folder if desired
  • Allows for unique "keys" folder if desired
  • Updating will be easier

Cons Comparison to Method 1

  • Requires more effort to initially create the simlinks and directories
  • Will not allow you to run seperate instances of different branches of the game at the same time, (E.g Dev or Stable)



You could of course mix n match all 3 methods to suit your specific requirements



RE-LOCATING MPmIssions (For example to a dropbox)
Open the spoiler for more info


To define a different location for your MpMissions, such as a drop box location, carry out the following steps.

  • Either Move your MpMissions to its new location or just delete it. (Don't leave a copy in the original location)
  • run cmd tool on your server to create the link, use "" around the directories

    mklink /J "D:\Games\Arma3\A3Master\mpmissions" "C:\Users\user\Desktop\Dropbox\mpmissions"

Credits to





Open the spoiler for more info


This is done by defining the values in your users\****\***arma3.cfg file
There is no "How to set up for best performance" tutorial that works well
There is a lot of guessing, theory etc. and a thread that is trying to get to the bottom of it

here are some useful links. The top link is the best to get you up and running
The rest at the moment, is mainly discussion
WIKI: Tweaking Tips (Best guide at the moment)
Tutorial Server bandwidth and Optimisation (Discussion thread, will eventually become a tutorial, i hope


This is the best basic guideline that will get you up and running




Open the spoiler for more info



I created a Debugging tutorial guide for serverside issues which you can find in the sticky section of this forum



Steps to take

First element to decide is:
Does the issue show itself from

  • a) Clientside perspective (i.e a client trying to join the server, or maybe viewing the game browser etc)
    B) Serverside perspective (Issues that can only be seen from backend (RDP) access

Now that you have a better understanding of where the issue lies, be confident that this tutorial works, because it does. many admins have used it to set up there servers successfully. So it is likely you skipped over some steps or didn't read the instructions carefully enough (Like we all do) :o
There may of course be errors somewhere. if they are please let me know so I can update this. Others are likely to have also suffered the same fate.

  • For any initial query Read through this first post (It is updated with posted content as and when required)
  • If your query is not answered here, then follow the "Updated to this post" link at the top of this post and read on from there
  • If you still have no answer then post on the thread and we will try and get a solution

    You will need to provide us with the following information before we can help, without it we are just guessing
  • Do Not try to run addons or custom missions until you have proven a Vanilla install
  • Copy of the RPT file (Ideally on Pastebin)
  • Copy of the Config_Vanilla.cfg (Ideally on Pastebin)
  • copy of arma.cfg (Bandwisth settings)
  • Command line used
  • Your issue in detail
  • Steps you have taken to resolve
  • Type of setup, eg
    • O/S,
    • number of servers running on the same box
    • How you are connecting to it, eg LAN, remotely via the Internet or if on the same machine


You could also join the Server Admins Skype group channel, where you will get live help
To help others please post back any solutions you find. Not all server admins are highly trained IT Technicians (Including me)

LIVE Chat help
For Live help, join the Skype group channel



Dwarden said:
all server hosters, we have Skype channel for collaborative work of server admins, add me on Skype and demand access, slap me on IRC, try hit me over email or so ... thanks


Known Issues

  • Error! app 107410 is 0x1: (This occurs when you have run out of drive space or possibly memory, and is first seen after an steam update of the game)
  • My server has 2500ms ping in server browser: (This is caused by running the steam client as Non Administrator) see http://feedback.arma3.com/view.php?id=9374


    Dwarden said:
    easily solveable, on server firewall set enabled for any ICMP V4 incoming
    (or specifically ""Destination Unreachable" , ""Echo request"", ""Time Exceeded"", ""Source Quench"", ""Redirect"")
    also make sure you allow NAT traversal for this rule in the firewall
  • Server keeps crashing (Admins report servers as being stable, so this is likely to be one of the following unless this is a widespread issue caused by a recent patch)
    • Recently uploaded mission has critical errors (Normally description.ext entry)
    • Use of 3rd party content, eg user made missions or addons
    • Server not capable of handling the resources required, badly configured or underpowered
  • DirectX
    • Windows Web Server 2008 - Error message: arma3.exe - Entry Point Not Found.The procedure entry point CreateDXGIFactory1 could not be located in the dynamic link library dxgi.dll.
      Reporting Post
      Solution Post
      Bug Tracker Ticket
      • Windows 2008 server with this issue, the following may resolve it
      • Nobody has yet reported being able to run a -server with 2003


      noseek said:
      This problem has been solved

      Our server original operating system: Windows Server 2008 Enterprise (Simplified Chinese) SP1

      Run steam and ArmA 3 Alpha occur same error message: ...CreateDXGIFactory1 could not be located in the dynamic link library dxgi.dll...

      First, download and install directx_11_redist,the problem persists

      Then upgrade Windows Server to SP2, still error... :cryy:

      Last, download and install Windows6.0-KB971512-x86,the problem is solved! :yay:

      For reference
  • ArmA2 and ArmA3 servers conflict if they use the same ports. on the same machine.
    It can cause one of the servers to use a different port automatically which will not have been defined in your firewall outbound rules and therefore not visible to the outside world
    this is easily remedied by stating a different port number in your startup params, eg -port=2312 (Leave at least 10 ports between servers)
    So your target line would then look something like

    "D:\Games\ArmA3\A3Master\arma3server_x64.exe" -port = 2312 -config=CONFIG_Vanilla.cfg
  • ArmA3server package loading Arma3 client data when both are installed on the same machine
    if you run Arma 3 Dedicated server data package on a system where the client is also installed there is a possibility the server will load the full client data instead of the server package, this is caused by precedence check in the registry, the solution/workaroud to this issue is to use a -mod= parameter in the command line even if you aren't using any mods (The -mod= ensures the server loads the game data from the server.exe root folder)
    Examples of allowed useage
    • -mod=






@echo off


:: DEFINE the following variables where applicable to your install

SET STEAMLOGIN=mylogin mypassword
SET A3BRANCH=233780 -beta
:: For stable use SET A3BRANCH=107410
:: For Dev use SET A3BRANCH=107410 -beta development
:: For Dedi server stable package use SET A3BRANCH=233780 -beta
:: Note, the missing qotation marks, these need to be wrapped around the entire "+app_update......"

SET A3Path=D:\Games\ArmA3\A3Master

:: _________________________________________________________

echo You are about to update ArmA3
echo Dir: %A3Path%
echo Branch: %A3BRANCH%
echo Key "ENTER" yo procede
%STEAMPATH%\steamcmd.exe +login %STEAMLOGIN% +force_install_dir %A3Path% +"app_update %A3BRANCH%" validate +quit
echo .
echo Your ArmA3 is now up to date
echo key "ENTER" to exit





// config_Vanilla.cfg
// comments are written with "//" in front of them or encapsulated with /* and */
// visit https://community.bistudio.com/wiki/server.cfg for more info
hostname = "My Server: My Teamspeak address"; // The name of the server that shall be displayed in the public server list
//     JOINING RULES     //
//password = "ServerAccessPassword";         // Password for joining, eg connecting to the server, leave commented out for initial testing
maxPlayers = 40;                             // Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player.
persistent = 1;                              // If 1, missions still run on even after the last player disconnected.
headlessClients[]={};               // The server doesn't allow arbitrary connections from headless clients if you do not define the headless clients IPs.
                                             // Multiple Connections and Addresses are allowed in the case of more than one Headless Client.
localClient[]={};                   // to indicate clients with unlimited bandwidth and nearly no latency (https://dev-heaven.net/issues/62500), Available since Arma 2:OA build 99184 , including Arma 3
onUserConnected = "";                        //
onUserDisconnected = "";                     //
// disconnectTimeout = 5;                    //  Server wait time before disconnecting client, default 90 seconds, range 5 to 90 seconds. (since Arma 3 update 1.56+)
// loopback = true;                          // While using the Dev version of Arma III, adding this option will force server into LAN mode. This will allow multiple local instances of the game to connect to the server for testing purposes. 
                                             // At the same time it will prevent all non-local instances from connecting.
//upnp = 1;                                  // Automatically creates port mapping on UPNP/IGD enabled router. 
                                             // This option allows you to create a server behind NAT (your router must have public IP and support UPNP/IGD protocol).
                                             // Warning: When enabled then this setting may delay server start-up by 600s 
                                             // (standard UDP timeout of 10 minutes) if blocked on firewall or bad routing etc. Thus in such case is recommended to disable it.
forceRotorLibSimulation = 0; // Enforces the Advanced Flight Model on the server. Default = 0 (up to the player). 1 - forced AFM, 2 - forced SFM.
//     LOGGING     //
logFile = "A3Master.log";
timeStampFormat = "short";                   // Possible values are "none" (default),"short","full".
// WELCOME MESSAGE ("message of the day")
// It can be several lines, separated by comma
// Empty messages "" will not be displayed at all but are only for increasing the interval
"__________ SYSTEM MESSAGES __________",
"Welcome to My Server",
"IMPORTANT Verify Signatures is enabled",
"TS3 Server: teamspeak.mydomain.com",
"Web: www.mywebsite.com",
"TS3 Server: teamspeak.zeus-community.net",
"__________ END OF MESSAGE __________"
motdInterval = 5;                            // Time interval (in seconds) between each message
//     VOTING     //
voteMissionPlayers = 1;                      // Tells the server how many people must connect so that it displays the mission selection screen.
voteThreshold = 0.33;                        // 33% or more players need to vote for something, for example an admin or a new map, to become effective
//voteMissionPlayers = 0;
//     VON     //
disableVoN = 0;                              // If set to 1, Voice over Net will not be available
voncodec = 1;                                // If set to 1 then it uses IETF standard OPUS codec, if to 0 then it uses SPEEX codec (since Arma 3 update 1.58+)
vonCodecQuality = 11;                        // since 1.62.95417 supports range 1-20 //since 1.63.x will supports range 1-30 //8kHz is 0-10, 16kHz is 11-20, 32kHz(48kHz) is 21-30
//     SECURITY     //
passwordAdmin = "AdminPassword";             // Password to become server admin. When you're in Arma MP and connected to the server, type '#login xyz'
serverCommandPassword =  "WhateverYouWant";  // "Password to use server commands via scripts"; 
Battleye = 1;                                // = 0 to disable battleye
verifySignatures = 2;                        // Turn on addon checking system, so that players cannot join with any addon, only those you allow and host in keys folder
kickDuplicate = 1;                           // Do not allow duplicate game IDs. Second player with an existing ID will be kicked automatically. 1 means active, 0 disabled.
requiredSecureId = 2;
allowedFilePatching = 0;                     // Allow or prevent client using -filePatching to join the server. 0, is disallow, 1 is allow HC, 2 is allow all clients (since Arma 3 1.49+)
allowedLoadFileExtensions[] = {"h","hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
allowedPreprocessFileExtensions[] = {"h","hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
//allowedHTMLLoadURIs = {};                  // Leave commented to let missions/campaigns/addons decide what URIs are supported. Uncomment to define server-level restrictions for URIs
onUnsignedData = "kick (_this select 0)";    // unsigned data detected
onHackedData = "kick (_this select 0)";      // "ban (_this select 0)"; // tampering of the signature detected
onDifferentData = "";                        // data with a valid signature, but different version than the one present on server detected
doubleIdDetected = "";                       //
missionWhitelist[] = {};                     //an empty whitelist means there is no restriction on what missions' available 
//     MISSIONS CYCLE (see below)     //
class Missions
     class Mission1




Important to note, the defaul;t B.I classes, Regular, veteran cannot be edited, so if you want to run an edited version, then edit the custom class and run that

The following config is set to do just that



class DifficultyPresets
    class CustomDifficulty
        class Options
             // Simulation
             reducedDamage = 0; // Reduced damage

             // Situational awareness
             groupIndicators = 0; // Group indicators (0 = never, 1 = limited distance, 2 = always)
             friendlyTags = 0; // Friendly name tags (0 = never, 1 = limited distance, 2 = always)
             enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
             detectedMines = 0; // Detected mines (0 = never, 1 = limited distance, 2 = always)
             commands = 0; // Commands (0 = never, 1 = fade out, 2 = always)
             waypoints = 1; // Waypoints (0 = never, 1 = fade out, 2 = always)

            // Personal awareness
             weaponInfo = 1; // Weapon info (0 = never, 1 = fade out, 2 = always)
             stanceIndicator = 1; // Stance indicator (0 = never, 1 = fade out, 2 = always)
             staminaBar = 1; // Stamina bar
             weaponCrosshair = 0; // Weapon crosshair
             visionAid = 0; // Vision aid

             // View
             thirdPersonView = 1; // 3rd person view
             cameraShake = 1; // Camera shake

             // Multiplayer
             scoreTable = 0; // Score table
             deathMessages = 0; // Killed by
             vonID = 1; // VON ID

             // Misc
             mapContent = 0; // Extended map content
             autoReport = 0; // Automatic reporting
              multipleSaves = 0; // Multiple saves

        //aiLevelPreset is counted from 0 and can have following values: 0 (AI Level Low), 1 (AI Level Normal), 2 (AI Level High), 3 (AI Level Custom).
        //When 3 (AI Level Custom) is chosen, values of skill and precision are stored to the class CustomAILevel.
    class CustomAILevel










Open the spoiler for more info


-Profiles switch is used to define the location of BE, saved files, configs etc
This would be used when you want to run additional ArmA3 installs on the same machine or want to define a custom folder for the files to be read from and written to.
Example -profiles command line entry


Open the spoiler for more info


eRazeri  created an auto-restart batch file to restart the server if it crashed:
::Made by eRazeri

@echo off
C:\Windows\System32\tasklist /FI "IMAGENAME eq arma3server.exe" 2>NUL | C:\Windows\System32\find /I /N "arma3server.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
echo Server monitored is not running, will be started now
start "" /wait "D:\Games\Arma3\A3Master\arma3server.exe" -config=CONFIG_Vanillar.cfg "-profiles=G:Games\ArmA3\A3Master" -world=empty
echo Server started succesfully
goto started
echo Server is already running, running monitoring loop
C:\Windows\System32\timeout /t 10
C:\Windows\System32\tasklist /FI "IMAGENAME eq arma3server.exe" 2>NUL | C:\Windows\System32\find /I /N "arma3server.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
C:\Windows\System32\taskkill /im arma3server.exe
goto start




Open the spoiler for more info


Firedeamon is an application that allows users ability to start and stop Windows services and run batch files without rear end access. It is administered via a web interface and is an excellent tool for Windows servers. It is not free but it is cheap for clans if they are willing to run a Firedeamon banner on their websites)
Programs tab:           d:\Games\Arma3\A3Master\Arma3server_x64.exe
Working Directory:   d:\Games\Arma3\A3Master
Parameters:               -port=2302 "-profiles=d:\Games\Arma3\A3Master" -config=Config_Vanilla.cfg -world=empty -mod=
Firedeamon can also be configured to restart the server on a crash


almaxkiller created a batch file to restart the Firedeamon ArmA3server service should it close.
I have no idea why he did this, as you can configure firedeamon to restart the service should the ArmA3server instance crash
Create the following batch file and name it "arma3servercheck.bat" using notepad or notepad+.
@echo off
tasklist | findstr /i arma3server_x64.exe
if %errorlevel% neq 0 goto restart
goto end
start "" "server.bat"
Then create your "server.bat" file using the launch parameters of your choosing.
Example (this is what we are using to run our ARMA 3 Wasteland server):
NOTE: Both of these files MUST be saved in the same location as your ARMA3server.exe, otherwise you need to change the file directory to "arma3server.exe" in each.
In FireDeamon create a service with the arma3servercheck.bat file and have it have a start-up time of 60000ms and a pre-launch delay of 60000ms. Also in the "Upon Program Exit:" Have it set to Restart the Program at 60000ms. 
All of those settings are overkill I am sure, but it makes it were every minute the process runs to see if arma3server.exe is running, and if not starts it up. Hope this helps some people, and if anybody comes up with a better solution please let me know!





Open the spoiler for more info


mods are basically a collection of addons installed in folders
Addons are made by 3rd parties to add content or functionality to the game
Typical Structure of a Mod folder
A3 root folder
.......... \ @XYZMod
....................\ addons
.............................. \ xyz.pbo
.............................. \ xyz.pbo.tag.bisign
The root MOD folder can be called anything you want, there is however an unwritten unofficial protocol that is widely used and that is to precede the folder name with the "@" character
The addons folder contains 2 type of files
.pbo (This is the actual addon)
.bisign (This is the file that the server communicates with to verify the integrity of the corresponding.pbo file
Each .pbo is (or should be) paired with its own .bisign
When you download an addon, typically the addon maker packs it into his own "named" mod folder,
for example @CBA_A3
Apart from the Mod folder, there should also be a "Keys" folder in the download.
The .bikey that is contained in the keys folder is for serverside use only, clients don't need or use it.
(Some .bikeys come in the addons folder, they dont belong there but cause no harm residing there)


Open the spoiler for more info



Quick Explanation

If verifysignatures=2 has been declared in the server.config

  1. The currently loaded mission defines the addons that are required by the client to play on the server for that mission
  2. The *.Bikeys found in the servers "keys" folder define what addons you are allowed to connect to the server with (Whitelisting).
  3. Apart from actual addons that are used in missions this should also contain all the Bikeys for any clientside addons that you allow such as Sound mods etc


Detailed Explanation

Every correctly configured and signed addons requires 3 different files to work within a server where addon signature verification is enabled

These are

  1. Addon.pbo
  2. Addon.MyBikey.bisign
  3. MyBikey.Bikey


The Addon.pbo and Addon.MyBike.bisign are paired together and should be found in @Modfolder\addons

The MyBikey.Bikey are for servers only and are normally packaged with the addon and bisign files but stored in a seperate folder, normally called "Keys".

Point to note *.bisigns are not needed on the server itself but afaik will be needed on any headless clients that connect to the server


When a client connects to the server there is a 2 stage check carried out by the server on the addons the client has loaded

Check 1: It checks all the addons on the client and verifies that their paired *.bisign matches one of the keys found in the keys folder. (If there is a mismatch it wont allow the client to connect)

Check 2: Every mission has addon requirement entries listed in 2 sections within its mission.sqm file. If the client does not have these "required" addons the client will not be allowed to connect


There are 3 main categories of addons

  1. Server-only addons
  2. Client-only addons
  3. Mission Dependancy addons


Server-only addons

These are addons that only the server is required to run and are loaded on the server using the command line parameter -servermod=

These tend to be addons that run scripts and do not create mission dependancy, so typically to stop them being accidentally loaded by clients do not come with any .bisigns or .bikeys and are coded in such a way that if the node they are being run on is not the server, their scripts exit


Client Only addons

also known as clientside addons. Typically this covers sound mods, any SFX mods, GUI mods such as the Shac Tac collection. They wont (or shouldnt) create any mission dependancies, nor effect other clients or the server 


Mission dependancy addons

These are addons that bring new content to the game such as vehicles, units, weapons, terrain etc. The likes of RHS, TFAR, Alive, ACE, CUP fall into this category. When classes from these addons are used in a mission they automatically add an entry into the mission.sqm which defines the actual addons you need to play that mission. Typically these addons need to be run on both the server and the client.






Open the spoiler for more info



The addon creator first makes his own private key which he uses to sign all his addons.

The tools for this are available from the ArmA Tools collection

When he signs his addons with this tool, he creates a *.bisign for each addon and one *.Bikey that covers all the addons he just signed

Some creators make a new private key each time they resign their addons, this tends to be how they control their versioning.


You can if you wish resign any addons you host with your own keys, there are advantages and disadvantages to this




     1)  Gives you 100% of control over exactly what version of addons you allow

          (Some addon creator continue to use the exact same private key to resign their addons with)

          (Some addon creator create a new key but with exactly the same syntax, making it problematic to debug some issues)

     2) Reduces instability issues

     3) For me massively reduces client support calls



  1. You have to fully manage your addon pack and offer it via your own repository


For me the advantages far outweigh the disadvantages


Our addon management is almost fully automated.

The addon admin manually updates the content in our repo

Then via 1 batch file it

  1. automatically resigns all the addons with an automatically created date stamped private key (Example ZIslands_2017_03_14.bikey)
  2. Updates all the servers with the updated addon pack
  3. Uploads the updated pack to our file host server

Then the clients just need to  hit an update button on their arma 3 sync tool and voila every client and the server are running exactly the same content.

As you can imagine this saves having to keep a list of what addons we allow, , where to get them etc . It removes a lot of hassle from supporting clients and re explaining to them how to manually manage their addon packs




If your having issues resigning an addon, the following solution may help

Hardhast stated in a thread that was he;ping  guy who was having issues with his bikey and bisign not liking each other after resigning an addon in his mod pack



I've run into this a lot of time.

Some pbo's signatures of some addons won't work when (re)signing them.

You need to extract the addon that does not work and recompile it and signing it with addon builder (take a look in the options to enable the signing process and throw your private key in).

Also, make sure you recompile it all lowercase (could be an issue on linux servers).




Open the spoiler for more info


To use addons is basically the same format for both clients and servers, apart from the server ".bikey" and config file entries
Unpack and copy them into your arma3 folder
Initialise the addons by defining either
a) -mod=@CBA_A3;@ModB;@ModC in the command line for a desktop shortcut that is linked to your arma3.exe\arma3server.exe
B) -mod=@CBA_A3;@ModB;@ModC in the parameters field for a firedeamon service (recommended for servers) you can get a clan discount for this great tool
c) using a similar command line in a custom launcher tool (Some are good some are not so).
d) Using the ingame Mod launcher system (Clients only)
Define verifysignatures=2 on your server config file (The same file where you define the admin password)
Copy the .bikey in the mod's "keys" folder to the server's A3 root "Keys" folder
(The Keys folder white lists the allowed addons on your server. If someone tries to connect to the server with addons, you dont have a bikey installed for, they wont be able to connect.
You should allow some clientside addons such as JSRS Mod, shack tac hud etc, do this by adding their .bikey to your keys folder. These are clientside only addons, you dont need to run these addons on the server


Open the spoiler for more info


In MOST cases, you don't have to keep the addons in the mod folders that the addons came in, you can create your own and copy all the files needed into your own mod structure

(TFAR is an exception to this rule and must be kept in its originally named mod folder)
for example, on our addon server we use the following mod folders
command line used to launch this is

@ZCommon contains
AK Weapon pack,
M4 Weapon pack
Task Force radio
and others
@ZIslands contains
A3MP content
+ some additional islands like ToraBora
We typically pack most things that are easy to update into one common folder which makes management for us easier.
If I need to update for example DAR's Humvee pack, all the files start with his tag "DAR_", easy enough to find and then replace
The Alive mod however is a different beast, all the tags differ, this is why we keep Alive in its own mod folder


Open the spoiler for more info


http://www.armaholic.com/ is the best source for direct downloads
http://play.withsix.com/arma-3 is a download and management application (Steep learning curve but widely used across a lot of servers. You will need to learn this at some point)
ArmA3Sync is a serverside/clientside content management and launcher application, easier to use and set up. We personally use this, it gives better control and ease of use to our clients




Open the spoiler for more info


Version 1.01

  • Added info about defining a different port if running an A2 and an A3 server on the same machine
  • Added "Known Issues about Windows 2003 server and Direct X (No solution as yet)
  • Added links to WIKI for folks who were unable to find the obvious information

Version 1.02

  • reformatted , reorganised initial post
  • Added example files
  • Added firedeamon section
  • Added Port forwarding section
  • Added Autorestart section
  • Added Running Client and Server on same machine section


Version 1.03

  • Updated "How To" instructions, added initial start up to be in online mode and run as Administrator
  • Added additional commandline params
  • Added to troubleshooting: Known issues


Version 1.04

  • Added "How to run development version
  • Updated troubleshooting: with fix for DirectX issue
  • Updated troubleshooting: with "How best to use this thread"


Version 1.05
Date: 17th March 2013

  • Added Section: "LOCATION OF FILES (When setting parameters)"
  • Added Section: "RE-LOCATING MPMissions (For example to a dropbox)"
  • Added "VerifySignatures = 2" into config.cfg (My bad, why I forgot to add this I will never know) IMPORTANT Please add to config


Version 1.06
Date: 23rd March 2013

  • Added Section: "Server Admin Commands)"


Version 1.07
Date: 26th May 2013

  • Major rewrite of tutorial modifying for useage of ArmA3server.exe and multiple server instances
  • Added section for Multi Server set up on the same machine


Version 1.08
Date: 27th May 2013

  • Syntax error in the ArmA3_Steam_Updater.cmd
  • changed

SET A3BRANCH="233780 -beta"
:: For stable use SET A3BRANCH="107410"
:: For Dev use SET A3BRANCH="107410 -beta development"
:: For Dedi server stable package use SET A3BRANCH="233780 -beta"
+app_update %A3BRANCH%


SET A3BRANCH=233780 -beta
:: For stable use SET A3BRANCH=107410
:: For Dev use SET A3BRANCH=107410 -beta development
:: For Dedi server stable package use SET A3BRANCH=233780 -beta
:: Note, the missing quotation marks, these need to be wrapped around the entire "+app_update......" statement
"+app_update %A3BRANCH%"

Version 1.09
Date: 29th May 2013

  • Win2003 can now be used
  • Tidy up of initial thread, no consistency in Directory defintions


Version 1.10
Date: 25th June 2013

  • Changed filenames ArmA3Alpha...... to ArmA3 to reflect beta release changes
  • Added Server bandwidth optimisation section ( very good help link)
  • Added "Running Server and client on same machine"


Version 1.11
Date: 25th August 2013

  • Added known issues entry to explain the steam error Error! app 107410 is 0x1

Version 1.12
Date: Feb 2014

  • Added information about the dedicated server package for the stable branch


Version 1.13
Date: 9th April 2014

  • Added information to the troubleshooting section and the Known issues section
  • Specifically information about running a client install and a server install on the same machine


Version 1.14
Date: 12th April 2014

  • Clarified requirement to run ArmA3server.exe as administrator. (This is a requirement of Battleye)


Version 1.15
Date 12th June 2014

  • Added Mods & Addons section


Version 1.16
Date 5th July 2014

  • Updated port information to reflect changes in steam query port detailed in A3 patch 1.22 hotfix
  • sections changed are
  • PORT FORWARDING (ArmA3) (Firewalls)
  • CONFIG_Vanilla.cfg


Version 1.17
Date 31st August 2014

  • Updated port information, forgot to make some changes from the 1.22 hotfix patch
  • sections changed are
  • PORT FORWARDING (ArmA3) (Firewalls)
  • CONFIG_Vanilla.cfg


Version 1.18
Date 25th October 2015
Updated the Config_Vanilla.cfg by commenting out and adding new entries to it.
sections changed are

  • CONFIG_Vanilla.cfg
  • serverCommandPassword
  • allowedLoadFileExtensions
  • allowedPreprocessFileExtensions
  • allowedHTMLLoadExtensions
  • headlessClients[]={};
  • localClient[]={};


Version 1.19
Date 30th April 2016

  • Edited the entire tutorial, decluttering it and creating expanding spoiler tags for each section to make it less of a "wall of text"
  • Edited the config_vanilla.cfg to reflect changes up to and including patch 1.58
  • Edited the *****.ArmA3Profile (Difficulty settings) to reflect changes in patch 1.58
  • Added a Battleye configuration section


Version 1.20
Date 16th March 2017

  • Massive update to the "Addons" section
  • Updated some info for the armaserver_x64.exe (Still got to work through the entire doc to update everything for this)


Version 1.21
Date 21st March 2017

Worked through entire post updating to include arma3server_x64 changes

Important changes are

  • Firewall rules
  • Battleye configuration








  • Like 5
  • Thanks 1

Share this post

Link to post
Share on other sites

Is dedicated available for linux yet?

Share this post

Link to post
Share on other sites

This works well. Just a note for those wondering this does run headless so you won't have an issue if you don't have a monitor and proper gpu in your server.

Share this post

Link to post
Share on other sites

First off, thank you very much for OP!

I have set this up remotely on my server but just wondering about how to do mission selection or difficulty config? I am not at home so cannot connect with client to test/admin it and I can see people just connecting then disconnecting so I guess it is currently without a mission. There is no RPT file I can see either.

Also, is RCON an option? I cannot see any battleye folder.

EDIT: OK it looks like some more savvy users have connected long enough to start a mission and it is now getting more connections. Still wondering about RCON and/or server console logging.

Edited by redshirt_ensign

Share this post

Link to post
Share on other sites

for some reason it is not picking up the config file but its starting it as a server this is my target line (it also did this on arma 2 and i had to use tophes for it to work right)

"C:\Program Files (x86)\Steam\steamapps\common\Arma 3\arma3.exe" -server -config=A3test.cfg

Share this post

Link to post
Share on other sites
for some reason it is not picking up the config file but its starting it as a server this is my target line (it also did this on arma 2 and i had to use tophes for it to work right)

"C:\Program Files (x86)\Steam\steamapps\common\Arma 3\arma3.exe" -server -config=A3test.cfg

That is strange, right now the only things I can think to check would be that your .cfg file has been placed into the root of your

Arma 3 folder and that you didnt accidentally save the file as 'yourarma3config'.cfg.txt

I know it might seem silly but a slip of the mouse has caused me to do this before.

Share this post

Link to post
Share on other sites
Is dedicated available for linux yet?

You're a funny guy.

We don't even really have a dedicated server binary for windows yet, linux is far off methinks.

Share this post

Link to post
Share on other sites

Hey guys, just a quick question. Are you required to create a new steam account, and purchase another copy of the the A3 alpha for your dedicated server? Or can you just use your own steam account on the server?

Share this post

Link to post
Share on other sites

  1. Then set your Steam account on the server to OFFLINE Mode
  2. Then start up your shortcut
  3. Start up your client steam version of A3 and you should then be able to see and join your server and play on it


Got it all cept this part. So your saying put Steam in OFFLINE Mode (unsure of how to do this) and then launch server..? Correct? Then place Steam back online and launch Client game? Need a little light shed here please..

P.S: Im assuming I can launch Dedi from same PC I play with like Arma2

Share this post

Link to post
Share on other sites
Got it all cept this part. So your saying put Steam in OFFLINE Mode (unsure of how to do this) and then launch server..? Correct? Then place Steam back online and launch Client game? Need a little light shed here please..

P.S: Im assuming I can launch Dedi from same PC I play with like Arma2

No, this relates to using the same key/steam account to run a server instance (on a separate server) with Steam in Offline mode, while using the same Steam account on your local PC to connect to said server. There is no dedicated server binaries at the moment, so running a local server and client will most likely be impossible at the time being.

Kudos to the OP, set a server up in a few minutes with the provided instructions!

Share this post

Link to post
Share on other sites
Do i really have to Login with my Steam Account on the Server?

At the moment the arma3.exe requires a account with ArmA 3 to start, so use your own account in offline mode or buy a second copy.

Share this post

Link to post
Share on other sites

its because this is NOT a server, its a dodgy workaround to trick your own client/account into running as a Server. So no doubt the Steam Pre-Requisite checks are still being applied.

There is no Server Binary yet, and with any luck they will just use the Steam CMD tool to deliver the server when its ready. This will negate the need to run Steam on the remote server at all.

Share this post

Link to post
Share on other sites

If you mean starting a 2nd server under the same pc, steam seems to block a second (or more) instance of arma3.exe running under a account.

I think there is no workaround to running 2 or more servers on single pc without using virtual servers. Maybe something could be done with running another steam instance in another windows account.

Share this post

Link to post
Share on other sites

Works fine Terox! Thank you very much Sir ! :)

Share this post

Link to post
Share on other sites

To those whom are complaining about DirectX, Steam/ARMA 3 upon install, installs DirectX Redist in the game directory. You can load this upon start up with the following switch -mod=DirectX

Also, to the owner of this thread, Steam Offline mode only works 100% when you SAVE your login details.

Hope this helps.


Edited by Inch

Share this post

Link to post
Share on other sites

I know it's super old but we are running Windows Server 2003 and even after updating and using -mod=DirectX I still get this:


Thanks in advance for any help

Share this post

Link to post
Share on other sites
I know it's super old but we are running Windows Server 2003 and even after updating and using -mod=DirectX I still get this:


Thanks in advance for any help

Try installing this.


But to be blunt Windows Server 2003 is a tad pre-dated.

Edited by Inch

Share this post

Link to post
Share on other sites

we also have a Windows 2003 Server RC2.

Have done everything as it says in the first post

But the exe will not start. Does the game necessarily directix 11 for Arma 3?

Share this post

Link to post
Share on other sites

hm, I can't find where to actually log in with the admin password, can't see the normal buttons.


Share this post

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now