Arma 3 dedicated server windows

Arma 2: Operation Arrowhead

Arma 3 logo black.png

Introduction

This page contains useful information on how to install and configure an ARMA 3 server and includes step by step guides of the install process. Also information on how to configure and run a server.
The majority of directories and paths are customizable, however those defined are all consistent with the tutorial instructions.

Much of the tutorial here was created using this forum guide.

About steamCMD utility: if you are using it on a dedicated host to install and update Arma 3 dedicated server, it is a good practice to create a separate steam account for that.
Arma 3 Dedicated server package is available for free (does not require regular Arma 3 to be purchased).

Installation

Requirements

  1. Steam Account
  2. Supported Operating System:
    • Windows Server 2008 or later
    • A modern Linux distribution
  3. Minimum Hardware:
source

Part Minimum Recommended
CPU 2.4 GHz Dual-Core 3.5 GHz Quad-Core
RAM 2GB 4GB
Storage 32 GB HDD 32 GB SSD

Instructions (Windows o/s)

The following instructions will guide you through setting up one Arma 3 server on 1 box, however they will also set the foundations for installing multiple servers on that same box:

  1. Install the latest version of DirectX
  2. Create the following empty directories
    • D:\Apps\Steam
    • D:\Games\ArmA3\A3Master
    • D:\Games\ArmA3\A3Files
  3. Download steamcmd.exe and save it to your targetted Steam install directory (E.g D:\Apps\Steam)
  4. Run the steamcmd.exe. (This will download and install the required steam files to your custom steam directory)
  5. Create an #Arma3server_steamcmd_example.cmd file and save it to D:\Games\ArmA3\A3Files
  6. Run the #Arma3server_steamcmd_example.cmd file
  7. 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)
  8. Create a shortcut for the ArmA3Server.exe on the server desktop
  9. 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 including any previous Arma 2 instances)
    • «-profiles=D:\Games\Arma3\A3Master»
    • -config=CONFIG_server.cfg
    • -world=empty
      • so it looks something similar to the following
      • «D:\Games\Arma3\A3Master\arma3server.exe» «-profiles=D:\Games\Arma3\A3Master» -port=2302 -config=CONFIG_server.cfg -world=empty
  10. Setup the #Port Forwarding in your firewall or\and router accordingly, also doesn’t seems like implemented in some routers Port Trigger feature works with Arma 3 Server (tested with ASUS RT-N66U)
  11. Make sure you have:
    • Network Discovery enabled for your network type (the setting can be found in [Control Panel\Network and Internet\Network and Sharing Center\Advanced sharing settings]. If you have problem with its state reset on the interface reopen, check if all of the required for this feature services are running: DNS Client, Function Discovery Resource Publication, SSDP Discovery, UPnP Device Host; (makes server accessible from internet) (maybe it is about the services and not the network discovery)
    • Windows Media Player Network Sharing Service enabled (makes server joinable) ;

If you can’t connect to server through server browser try to use «direct connect»:
this is a client side issue (doesn’t mean other clients will have it too), reason for the issue for now unknown,
I can say it is not related to: Windows services, Windows network settings, network routers, firewalls…

Device Host;
(note: Changes to the above 2 settings require Arma relaunch to be applied, as for server same for client machines;)

Create a simple Notepad document called "CONFIG_server.cfg" and save it to the root folder of your ArmA3 install on the server D:\Games\ArmA3\A3Master
  1. Start up your shortcut, check the server runs. (You will see a console pop up in your desktop after a few seconds)
  2. Close the console window down, then you will need to edit the following files which will have been automatically created
    • D:\Games\Arma3\A3Master\Users\Adminstrator\Administrator.Arma3Profile
    • D:\Games\Arma3\A3Master\Users\Administrator\Arma3.cfg
  3. Restart the server
  4. Start up your client Arma3.exe (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)
  5. Login to your server using the password you defined in #CONFIG_server.cfg by typing «/» to open the chat window and then type (#login ADMINPASSWORD) followed by enter.

    Make sure to never forget the ‘#’ in front of any server command!

  6. Once logged in you will be presented with a mission list, select one of the missions to start the game
  7. Prove the stability of your server by running BI missions initially before you start adding user made content

Instructions (Linux o/s)

Installation

As a security best practice, create a user to run steam instead of running as root or an administrator.
This way, if your ArmA server is compromised the attacker will find it more difficult to access the rest of the operating system.

useradd -m -s /bin/bash steam

Switch to the newly created steam user.

sudo -i -u steam

Create a new directory for SteamCMD to avoid cluttering the home directory.

mkdir ~/steamcmd && cd ~/steamcmd

Download the SteamCMD for Linux tarball from the link at the Valve Developer Community page.
Use a command line download tool such as wget or curl.

Extract the tarball.

tar xf steamcmd_linux.tar.gz

Execute steamcmd.sh. It will install the rest of the Steam client and start the Steam client shell.
If this step fails on a 64-bit OS, you likely need to install 32-bit libraries.

./steamcmd.sh

Change the directory SteamCMD will install the server in.

force_install_dir ./arma3/

At the Steam client shell, login with a valid Steam username and password.
The Valve Developer Community Wiki recommends that you create a new Steam account for this.
SteamCMD will cache the login credentials and anyone who gains access to your server will be able to log into the account used here.
In addition, you cannot log into a single Steam account from two places at once. You do not need to have Arma 3 purchased on the Steam account used here to download the server.
Therefore, you should create a new Steam account with no purchases only for use on this server.

login myusername

Install the Arma 3 Linux dedicated server. The validate option will check for corruption.

app_update 233780 validate

Exit SteamCMD.

exit

Create the directories used to store the profile files and Arma3.cfg file.

mkdir -p ~/".local/share/Arma 3" && mkdir -p ~/".local/share/Arma 3 - Other Profiles"

Updating

You will have to update the server whenever a patch is released on Steam.

If the server is running, stop it by pressing Ctrl+C in the terminal (or screen/tmux instance) that the server is attached to. Otherwise, switch to the steam user.

sudo -u steam -i

Launch steamcmd.

cd /home/steam/steamcmd
./steamcmd.sh

Set the Arma 3 installation directory to the same directory used above.

force_install_dir ./arma3/

Login to the Steam account used in the installation section above.

login myusername

Update the Arma 3 Linux dedicated server. The validate option will check for corruption.

app_update 233780 validate

Exit SteamCMD.

exit

Configuration

You will most likely want to customize your server’s name, password, security settings, and so on with a server.cfg file. Change to the arma3 directory and create and edit your server.cfg file.

cd ~/steamcmd/arma3
vim server.cfg

If you don’t know how to use vim, use nano instead.

nano server.cfg

See server.cfg for documentation and examples.

The first time you run the server it will auto-create a profile file at ~/.local/share/Arma 3 — Other Profiles/server/server.Arma3Profile.
Edit this file to customize difficulty settings.

The -profiles= parameter is broken on Linux — you must place your profiles in this directory.

Launching

A Linux executable is provided to launch the server. Make sure that you are running it under the steam user and not root or another administrator!

cd /home/steam/steamcmd/arma3
./arma3server_x64 -name=server -config=server.cfg

NB: If you are using the -mod= parameter, you must specify relative paths within or below the Arma 3 directory. Symlinks will work.

The arma3server_x64 process will attach to the current terminal.
If you are connected to the server over SSH, the server will stop when you disconnect.
You can keep the server running using a terminal multiplexeer like GNU Screen or tmux.
There are many tutorials online on how to use these programs to detach and reattach processes from and to a terminal.

You can safely stop the server by pressing Ctrl+C in the terminal (or screen/tmux instance) that the server is attached to.

For older 32-bit executable use ./arma3server instead of ./arma3server_x64.

Case sensitivity & Mods

Some mods such as CUP Terrains and @ALiVE will not function if there are capital letters in any of their file names. If you do not update your mods on a regular basis, you can just use the command

find . -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

in the directory where your mods are located. This will recursively search the directory tree and make all the filenames lowercase.

If you regularly update your mods using, e.g. ArmA3Sync, you will find that this will redownload any files/folders that have changed case every time you run it.
The solution to this is to use a package called «ciopfs» — Case Insensitive On Purpose Filesystem. You should first run the «find . -depth…» command mentioned above on your mod folder.
Then, make an empty directory outside of the mods directory, e.g. mods_caseinsensitive. You then mount the directory with:

ciopfs mods mods_caseinsensitive

and tell ArmA3Sync to synchronise in the mods_caseinsensitive directory. Once it has finished, you can unmount the directory with:

fusermount -u mods_caseinsensitive

You should find that all of the files in the original mods directory are lowercase.

This article is a Stub. You can help BI Community Wiki by expanding it.

Additional Info

Useful Links

Further Reading

  • Steam Cmd Tutorial
  • Dedicated Server Status (Linux info)
  • Kelly’s Heroes Dedicated server guide
  • In Game server commands
  • In Game admin commands
  • Command line params
  • Basic.cfg
  • Steam Difficulty settings
  • Server Configuration
  • Sim-link GUI

Tools

  • Firedeamon
  • ArmA3 server using TA2DST Method
    A YouTube 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 YouTube video)
  • Arma3 Server Monitorend of support in 2015

Useful Addons

  • Zeu_Serverskills (AI Skill setting addon)
  • Zeu_ServerBriefing (Inject server information to all missions automatically

File Locations

Some files are automatically created when you use certain commandline parameters
Some files have to be created manually.
If you have followed the instructions accurately, you will now have the following files and directories in addition to the clean install

  • D:\Games\Arma3\A3Master\Users\Administrator\Administrator.Arma3Profile (Difficulty settings)
  • D:\Games\Arma3\A3Master\Users\Administrator\Administrator.vars.Arma3Profile (Some binarised content which you cannot edit)
  • D:\Games\Arma3\A3Master\Users\Administrator\Arma3.cfg (Bandwidth settings)
  • D:\Games\Arma3\A3Master\MPMissions\ (This is where custom made mission.pbo’s need to be placed)
  • D:\Games\Arma3\A3Master\arma3.rpt (Debug Log, automatically created every time the arma3server.exe is started)
  • D:\Games\Arma3\A3Master\CONFIG_server.cfg (Manually created)
  • D:\Games\ArmA3\A3Files\Arma3server_steamcmd_example.cmd (Manually created)
  • D:\Apps\Steam\

Port Forwarding

Arma 3 uses the same default ports as Arma 2 with the addition of several 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:

Incoming
  • 2302 (default Arma 3 Game port) + (VON is now part of main gameport due to NAT issues)
  • 2303 (STEAM query, +1)
  • 2304 (Steam port, +2)
  • 2305 (VON port, +3 — not used atm. but allocated)
  • 2306 (BattlEye traffic, +4)
Outgoing
DST Port Protocol Destination Comment
2344 TCP + UDP 81.0.236.111 BattlEye — arma31.battleye.com
2345 TCP 81.0.236.111 BattlEye — arma31.battleye.com
2302-2306 UDP any Arma Server to Client Traffic
2303 UDP any Arma Server STEAM query port
2304 UDP any Arma Server to STEAM master traffic

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

and to define your Steam ports
add the following lines to your CONFIG_server.cfg (editing the actual port numbers as required)

STEAM ports are now linked to game-port as +1 for query and +2 to-master.

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

SERVER 1

2302 UDP (gameport + VON)

2303 UDP (STEAM query port)

2304 UDP (STEAM master port)

2305 UDP (VON reserved port but not used atm.)

2306 UDP (BattlEye traffic port)

so open ports 2302-2306

… and leave at least 100 ports between the next 2nd server set

SERVER 2

2402 UDP (gameport + VON)

2403 UDP (STEAM query port)

2404 UDP (STEAM master port)

2405 UDP (VON reserved port but not used atm.)

2406 UDP (BattlEye traffic port)

so open ports 2402-2406

and leave at least 100 ports between the next 3rd server set, etc.

NAT traversal

UPnP allows you to automatically create port forwarding on your router to bypass NAT (UPnP enabled routers are required).
The functionality can be easily enabled in server config as described in the server.cfg page.

Configuring for stable or Dev branch

Edit the Arma3server_steamcmd_example.cmd as defined below then run it

  • To select Development version
SET A3BRANCH=107410 -beta development
  • To select stable build (Dedicated server package)
SET A3BRANCH=233780 -beta
  • To select stable build (Full client\server package)
SET A3BRANCH=107410
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

Advanced Configuration

This article is a Stub. You can help BI Community Wiki by expanding it.

Bandwidth Optimisation

This article is a Stub. You can help BI Community Wiki by expanding it.

Multiple Server configuration

There are various methods available to run multiple Dedicated Arma 3 servers on the same box.
Each server instance requires:

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

This post explains it more in depth.

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

METHOD 1

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

Pros

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

Cons

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

METHOD 2

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 (Compared to Method 1)

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

Cons (Compared 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 separate instances of different branches of the game

METHOD 3

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 (Compared 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 (Compared to Method 1)

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

For example, on Linux, if you initially have the following folder layout:

~/game_servers/

arma3server/

mods # folder where you keep your mods
arma3server

Instead of copying the folders as directed in METHOD 1, run the following commands:

cd ~/game_servers/
mkdir arma3server_2/
ln -sr arma3server/* arma3server_2
cd arma3server_2
rm keys mpmissions mods
mkdir keys
mkdir mpmissions
mkdir mods

Then proceed with the rest of the instructions in METHOD 1.

METHOD 4

You can of course mix and match all 3 previous methods to suit your specific requirements.

Dedicated Server & Client configuration

In order for the Arma 3 server to be able to connect to the Steam servers, the Arma 3 server has to be ping-able (ICMP 8 — Echo Reply) as well as opened TCP/UDP ports.

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 will not be able to connect to the server

Headless Client

This article is a Stub. You can help BI Community Wiki by expanding it.

A Headless Client can be used by missions to offload AI processing to a dedicated client, freeing up the dedicated server process from most AI processing.
Thus more AI units can be spawned and the server process will be able to dedicate most of it is processing towards communication with the clients.
For a Headless Client/Dedicated Server to function together efficiently, they both need to be connected to each other via extremely low latency and high bandwidth.
Effectively, they need to be on the same LAN at least, but preferably running on the same computer.

Setup and Execution

  • Headless Client for ARMA 3 requires a valid active Steam account logged in to function (see Dwarden’s post)
  • A Headless Client is simply Arma3.exe run from the command line with parameters, for example:
arma3.exe -connect=localhost -port=2444 -client -nosound -password=some_server_password -name=HC -profile=HC -mod=@CBA_A3;@blah;@blah;@blah

In the example above, the headless client is running on the same host as the dedicated server.
It uses a profile called HC and connects to the server with a password as required by the server (the password is for password protected servers, optional).
The server in this example is running on port 2444, alter this to the port of your server.

  • The Headless Client profile needs to be created like any other profile in Arma 3 (Note: It is best if you name this profile HC)

No configuration of the profile is necessary, but after creation, edit HC.Arma3Profile located in C:\Users\yourusername\Documents\Arma 3 — Other Profiles\HC and add this line:

Alternatively, you can use the full Arma 3 client to connect to any multiplayer server with BattlEye enabled and accept the BattlEye License Agreement,
which will do the same thing as manually editing HC.Arma3Profile.

Once the profile is ready, copy the profile directory to C:\Users\yourusername\Documents\Arma 3 — Other Profiles on the server (if the profile was not created on the server).
If the profile was created on the server or is not going to run on the server and is already on the computer it is going to run on, then it is ready to go.

  • If the Headless Client is on the server, the server’s cfg must have the local loopback address as seen below (e.g. A3Server.cfg):
localClient[]={"127.0.0.1"};
headlessClients[]={"127.0.0.1"};
battleyeLicense=1;

Dwarden suggests that battleyeLicense=1; be in the server’s config, but it is unclear whether this is actually necessary.
(Dwarden’s post).

  • If the Headless Client is running in the same network or the same computer, the server’s config has to have the address in localClient[]=x.x.x.x.

This will allow the server to communicate with the Headless Client using unrestricted bandwidth. It is also required to add the adress to headlessClients[]={«x.x.x.x»};.
Multiple headless clients at different addresses can be added:

localClient[]={"127.0.0.1", "192.168.1.10", "192.168.1.210"};
headlessClients[]={"127.0.0.1","192.168.1.10","192.168.1.210"};
battleyeLicense=1;

Headless Client on a Dedicated Server Notes

If the Arma 3 Headless Client and an Arma 3: Dedicated Server are running on the same Windows computer (VM or physical),
it may be beneficial to set processor affinity to prevent execution intensive threads from being scheduled across the same (v)CPUs.
The operating system will generally schedule threads efficiently, but manual CPU allocation is possible.
This can be achieved by right-clicking on the process (e.g. Arma3Server.exe(*32)) in the processes tab of the Windows Task Manager and selecting Set Affinity….
Be aware that on a physical intel CPU, the odd numbered CPUs are Hyper-thread cores.

Note: You can use automated solution for affinity assign via batch file with commandline CMD /AFFINITY HEXvalue e.g. CMD /C START /AFFINITY 0xF3 arma3server.exe

It has been observed that although the ARMA server and client processes will kick off multiple threads, the bulk of processing is used up by only one or two threads.
For example, spawning 50 AI units does not generate 50 threads.
There is one thread in the process that handles all of the AI units, irrespective of how many have been spawned.
In this way, the ARMA server and client processes do not make maximal use of the processing capability found in modern processors and so AI counts do not scale easily.
As such, faster CPU core speed is king and offloading the AI to multiple headless clients on the same computer will probably produce the best possible results for complex missions involving many AI units (albeit an expensive way to get the results).

Example Files

Arma3server_steamcmd_example.cmd

  • Standalone Server Package (no need for game ownership on STEAM account)
  • Note: you might be asked to authorize your STEAM account due to STEAMguard (check email)
  • Note: it needs to be ran two or three times (1st authorize, 2nd STEAMcmd update itself, (when done, quit), 3rd update the Arma 3 Server data package)
  • Note: STEAMcmd needs to be in separate folder from STEAMclient (so always use unique folder like «STEAMcmd») to avoid file conflicts
  • Note: Arma 3 server data package needs to be in separate folder from Arma 3 client (so always use unique folder like «A3server» or «Arma3server») to avoid file conflicts
  • Code:
@echo off
@rem http://media.steampowered.com/installer/steamcmd.zip
SETLOCAL ENABLEDELAYEDEXPANSION

	:: DEFINE the following variables where applicable to your install

	SET STEAMLOGIN=mylogin mypassword
	SET A3serverBRANCH=233780 -beta
		:: For stable use 233780 -beta
		:: For Dev use 233780 -beta development
				:: Note, the missing qoutation marks, these need to be wrapped around the entire "+app_data......"
				:: There is no DEV branch data yet for Arma 3 Dedicated Server package !!!

	SET A3serverPath=D:\Games\ArmA3\A3Master
		SET STEAMPATH=D:\Apps\Steam

:: 

echo.
echo You are about to update Arma 3 server
echo 	Dir: %A3serverPath%
echo 	Branch: %A3serverBRANCH%
echo.
echo Key "ENTER" to proceed
pause
%STEAMPATH%\steamcmd.exe +force_install_dir %A3serverPath% +login %STEAMLOGIN% +"app_update %A3serverBRANCH%" validate +quit
echo.
echo Your Arma 3 server is now up to date
echo Press "ENTER" to exit
pause

CONFIG_server.cfg

//
// server.cfg
//
// comments are written with "//" in front of them.

// NOTE: More parameters and details are available at http://community.bistudio.com/wiki/server.cfg

// STEAM PORTS (not needed anymore, it is +1 +2 to gameport)
// steamPort		= 8766;		// default 8766, needs to be unique if multiple servers are on the same box
// steamQueryPort	= 27016;	// default 27016, needs to be unique if multiple servers are on the same box

// GENERAL SETTINGS
hostname		= "My Arma 3 Server";	// Name of the server displayed in the public server list
//password		= "ServerPassword";		// Password required to join the server (remove // at start of line to enable)
passwordAdmin	= "AdminPassword";		// Password to login as admin. Open the chat and type: #login password
maxPlayers		= 40;	// Maximum amount of players, including headless clients. Anybody who joins the server is considered a player, regardless of their role or team.
persistent		= 1;	// If set to 1, missions will continue to run after all players have disconnected; required if you want to use the -autoInit startup parameter

// VOICE CHAT
disableVoN		= 0;	// If set to 1, voice chat will be disabled
vonCodecQuality	= 10;	// Supports range 1-30, the higher the better sound quality, the more bandwidth consumption:
						// 1-10 is 8kHz (narrowband)
						// 11-20 is 16kHz (wideband)
						// 21-30 is 32kHz (ultrawideband)

// VOTING
voteMissionPlayers	= 1;		// Minimum number of players required before displaying the mission selection screen, if you have not already selected a mission in this config
voteThreshold		= 0.33;		// Percentage (0.00 to 1.00) of players needed to vote something into effect, for example an admin or a new mission. Set to 9999 to disable voting.
allowedVoteCmds[] =				// Voting commands allowed to players
{
	// {command, preinit, postinit, threshold} - specifying a threshold value will override "voteThreshold" for that command
	{"admin", false, false},		// vote admin
	{"kick", false, true, 0.51},	// vote kick
	{"missions", false, false},		// mission change
	{"mission", false, false},		// mission selection
	{"restart", false, false},		// mission restart
	{"reassign", false, false}		// mission restart with roles unassigned
};

// WELCOME MESSAGE ("message of the day")
// It can be several lines, separated by comma
// Empty messages "" will not be displayed, but can be used to increase the delay before other messages
motd[] =
{
	"Welcome to My Arma 3 Server",
	"Discord: discord.somewhere.com",
	"TeamSpeak: ts.somewhere.com",
	"Website: www.example.com"
};
motdInterval = 5;	// Number of seconds between each message

// MISSIONS CYCLE
class Missions
{
	class Mission1
	{
		template	= "MyMission.Altis";	// Filename of pbo in MPMissions folder
		difficulty	= "Regular";			// "Recruit", "Regular", "Veteran", "Custom"
	};
};

// LOGGING
timeStampFormat	= "short";				// Timestamp format used in the server RPT logs. Possible values are "none" (default), "short", "full"
logFile			= "server_console.log";	// Server console output filename

// SECURITY
BattlEye				= 1;	// If set to 1, BattlEye Anti-Cheat will be enabled on the server (default: 1, recommended: 1)
verifySignatures		= 2;	// If set to 2, players with unknown or unsigned mods won't be allowed join (default: 0, recommended: 2)
kickDuplicate			= 1;	// If set to 1, players with an ID that is identical to another player will be kicked (recommended: 1)
allowedFilePatching		= 1;	// Prevents clients with filePatching enabled from joining the server
								// (0 = block filePatching, 1 = allow headless clients, 2 = allow all) (default: 0, recommended: 1)

// FILE EXTENSIONS

// only allow files with those extensions to be loaded via loadFile command (since Arma 3 v1.20)
allowedLoadFileExtensions[] =		{"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};

// only allow files with those extensions to be loaded via preprocessFile / preprocessFileLineNumbers commands (since Arma 3 v1.20)
allowedPreprocessFileExtensions[] =	{"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};

// only allow files and URLs with those extensions to be loaded via htmlLoad command (since Arma 3 v1.28)
allowedHTMLLoadExtensions[] =		{"htm","html","php","xml","txt"};

// EVENT SCRIPTS - see http://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
onUserConnected		= "";	// command to run when a player connects
onUserDisconnected	= "";	// command to run when a player disconnects
doubleIdDetected	= "";	// command to run if a player has the same ID as another player in the server
onUnsignedData		= "kick (_this select 0)";	// command to run if a player has unsigned files
onHackedData		= "kick (_this select 0)";	// command to run if a player has tampered files

// HEADLESS CLIENT
headlessClients[]	= {"127.0.0.1"};	// list of IP addresses allowed to connect using headless clients; example: {"127.0.0.1", "192.168.1.100"};
localClient[]		= {"127.0.0.1"};	// list of IP addresses to which are granted unlimited bandwidth; example: {"127.0.0.1", "192.168.1.100"};

server.Arma3Profile

See server.armaprofile.

Arma3.cfg

language="English";
adapter=-1;
MinBandwidth=800000;
MaxBandwidth=25000000;
MaxMsgSend=384;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=256;
MinErrorToSend=0.003;
MaxCustomFileSize=100000;
Windowed=0;
serverLongitude=0;
serverLatitude=52;
serverLongitudeAuto=0;
serverLatitudeAuto=52;

Support & Troubleshooting

Known Issues

  1. 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
  2. MaxMsgSend default is 128, higher values can create Desync problems if the server’s available processing and/or bandwidth can not support the higher value
  3. if you run Arma 3 Dedicated server data package on system where is also installed client there is possibility the server will load the full client data instead server data package, this is caused by precedence check in registry.
    The solution/workaround to this issue is to use arma3server.exe -mod= (where empty modline ensure it loads data from where server is placed)
  4. upnp=1; // in server.cfg may result into server not starting for 600 seconds on server with active firewalls / anti-ddos measures ,
    it’s not recommended setting for dedicated-servers where server process related ports are open/forwarded by default
  5. using multiple server instances with too narrow ranges in between each (e.g. first 2302, second 2314) may cause problems with query where second server reports at first range, use of minimum +100 ports for next instance next to 2302 thus 2402 then 2502 etc. for utmost safety use +200 or +1000
  6. engine has legacy automated port increment system for occupied sockets (used for client-listen servers, upnp) where first is tried 2302, then +12 up to 15 times (so 2314, 2326 … 2482)

Live Help

For live assistance, join the official Arma 3 Discord server! https://discord.gg/arma
Especially these channels:

  • #server_admins
  • #server_linux
  • #server_windows
  • #server_tools

F.A.Q

This article is a Stub. You can help BI Community Wiki by expanding it.

See Also

  • Server Options
  • Battleye’s RCON
  • Arma 3 Headless Client
  • Multiplayer Server Commands
  • ArmA Server Configuration

Introduction

This page contains useful information on how to install and configure an ARMA 3 server and includes step by step guides of the install process. Also information on how to configure and run a server. The majority of directories and paths are customizable, however those defined are all consistent with the tutorial instructions.

Much of the tutorial here was created using this guide from the forums http://forums.bistudio.com/showthread.php?147537-Tutorial-How-to-run-ArmA3-on-a-dedicated-server

Note on steamCMD utility: if you are using it on a dedicated host to install and update Arma 3 dedicated server, it is a good practice to create a separate steam account for that. Arma 3 Dedicated server package is available for free (does not require regular Arma 3 to be purchased).

Requirements

  • Steam Account
  • Supported Operating System
  • Windows 2008 or later
  • Modern Linux Distro

Minimum Hardware:

  • CPU: Duo core @ 3.2GHZ
  • RAM: 4GB
  • Disk: 20GB
  • Network: 50mb or fibre type of connection that is strong.

Instructions for Windows

The following instructions will guide you through setting up one Arma 3 server on 1 box, however they will also set the foundations for installing multiple servers on that same box

Install the latest version of DirectX

Create the following empty directories

  • D:\Apps\Steam
  • D:\Games\ArmA3\A3Master
  • D:\Games\ArmA3\A3Files

Download Steamcmd tool 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 Arma3server_steamcmd_example.cmd file and save it to D:\Games\ArmA3\A3Files.
Like shown below.

Arma3server steamcmd example.PNG

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.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 including any previous ArmA2 instances).
  • «-profiles=d:\Games\Arma3\A3Master»
  • -config=CONFIG_server.cfg
  • -world=empty

so it looks something similar to the following below
«D:\Games\Arma3\A3Master\arma3server.exe» «-profiles=d:\Games\Arma3\A3Master» -port=2302 -config=CONFIG_server.cfg -world=empty

Setup the Port Forwarding in your firewa
</gallery>
ll accordingly

Create a simple Notepad document called «CONFIG_server.cfg» and save it to the root folder of your ArmA3 install on the server D:\Games\ArmA3\A3Master.

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 automatically created

  • D:\Games\Arma3\A3Master\Users\Adminstrator\Administrator.Arma3Profile
  • D:\Games\Arma3\A3Master\Users\Administrator\Arma3.cfg

Restart the server.

Start up your client Arma3.exe (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).

CONTENTS

  • 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)
arma3server_x64.exe

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

************************************************************************************

SETTING UP YOUR SERVER

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 ***

USEFUL LINKS, TOOLS & ADDONS
Open the spoiler for more info

INFORMATION

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

DeathTec’s Video Tutorial

TOOLS
 

Arma-Server-Monitor
Firedeamon
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)

USEFUL ADDONS

Zeu_ServerSkill
DETAILED INFORMATION
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

Zeu_ServerBriefing
DETAILED INFORMATION
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

SELECTING DEVELOPMENT OR STABLE BUILD

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

SERVER 1

  • 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

SERVER 2

  • 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)

BATTLEYE CONFIGURATION

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

«-profiles=d:\Games\Arma3\A3Master»

d:\Games\Arma3\A3Master\Users\SYSTEM\SYSTEM.Arma3Profile
d:\Games\Arma3\A3Master\Users\SYSTEM\SYSTEM.vars.Arma3Profile
d:\Games\Arma3\A3Master\Users\SYSTEM\Arma3.cfg
d:\Games\Arma3\A3Master\MPMissions\ ? Think this was auto created can’t remember
d:\Games\Arma3\A3Master\arma3.rpt

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
-config=CONFIG_Vanilla.cfg

You can also use a full path and place it wherever you want
-config=d:\Games\Arma3\A3Master\CONFIG_Vanilla.cfg

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

logFile = «A3Master.log»;

The logfile will automatically be created as

d:\Games\Arma3\A3Master\A3Master.log

Command line entry: -netlog
This will automatically create the following file
d:\Games\Arma3\A3Master\mpStatistics.log


SERVER ADMIN COMMANDS

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)

SERVER MANAGEMENT

  • #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

PLAYER MANAGEMENT

  • #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)

DEBUGGING

  • #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

RUNNING DEDICATED SERVER & CLIENT ON SAME MACHINE
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

RUNNING MULTIPLE SERVERS ON SAME MACHINE

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

METHOD 1

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
Pros

  • 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)

Cons

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

METHOD 2

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

METHOD 3

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)

METHOD 4

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

    example
    mklink /J «D:\Games\Arma3\A3Master\mpmissions» «C:\Users\user\Desktop\Dropbox\mpmissions»

Credits to

  • Banshee (His original post)
  • Kinsman (His original post)

BANDWIDTH OPTIMISATION

Open the spoiler for more info


TROUBLE SHOOTING

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

https://forums.bistudio.com/topic/172834-tutorial-debugging-server-issues-eg-not-loading-correctly/

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
IMPORTANT
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=
      -mod=@myMod1
      -mod=@myMod1;@MyMod2


EXAMPLE FILES

Arma3_Steam_Updater.cmd

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION

:: 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
SET STEAMPATH=D:\apps\Steam


:: _________________________________________________________

echo.
echo You are about to update ArmA3
echo Dir: %A3Path%
echo Branch: %A3BRANCH%
echo.
echo Key "ENTER" yo procede
pause
%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
pause

CONFIG_Vanilla.cfg

//
// 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
 
//     GLOBAL IDENTIFICATION     //
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[]={127.0.0.1};               // 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[]={127.0.0.1};                   // 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
motd[]={
"",
"",
"",
"__________ 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 = "";                       //
 
 
 
 
//     MISSION MANAGAEMENT     //
missionWhitelist[] = {};                     //an empty whitelist means there is no restriction on what missions' available 
 
/////     LEAVE THE FOLLOWING MISSION CYCLE CLASS COMMENTED OUT UNTIL YOU HAVE PROVEN THE SERVER INSTALL     /////
/*
//     MISSIONS CYCLE (see below)     //
class Missions
{
     class Mission1
     {
          template="co_xx_mymission.stratis";
          difficulty="Regular";
     };
};
*/
 

****.Arma3Profile

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

version=1;
blood=1;
viewDistance=3800;
preferredObjectViewDistance=3800;
terrainGrid=12.5;

 
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.
        aiLevelPreset=3;
    };
    class CustomAILevel
    {
        skillAI=0.85;
        precisionAI=0.5;
    };
};

Arma3.cfg

language=»English»;
adapter=-1;
MinBandwidth=800000;
MaxBandwidth=25000000;
MaxMsgSend=384;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=256;
MinErrorToSend=0.003;
MaxCustomFileSize=100000;
Windowed=0;
serverLongitude=0;
serverLatitude=52;
serverLongitudeAuto=0;
serverLatitudeAuto=52;

ADVANCED CONFIGURATION

-Profiles

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
«-profiles=d:\Games\ArmA3\A3Master»

AUTO SERVER RESTART .BAT File
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
:start
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
:loop
cls
echo Server is already running, running monitoring loop
:started
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

Firedeamon
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)

 
Configuration

 
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
:restart
start «» «server.bat»
:end
exit
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!

ADDONS & MODS


BASIC EXPLANATION
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)

WHITE-LISTING / BLACK-LISTING (How does it work)
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.

ADDON SIGNING

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

Advantages

     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

Disadvantages

  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

RESIGNING ISSUES

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

Quote

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).

INSTALLATION
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)
SERVER 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

MISCELLANEOUS
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
@ZCBA_A3
@ZAlive
@ZIslands
@ZCommon
@ZClient
command line used to launch this is

-mod=@ZCBA_A3;@ZAlive;@ZCommon;@ZIslands;@ZClient

 
@ZCommon contains
DAR_HWMMV’s
Chinook
AK Weapon pack,
M4 Weapon pack
AGM Mod
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

DOWNLOADING & ADDON MANAGEMENT
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
 

CHANGELOG


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%

to

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
  • // HEADLESS CLIENT
  • headlessClients[]={127.0.0.1};
  • localClient[]={127.0.0.1};

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

If you host Arma 3 on a dedicated server, you’ll have the best possible basis for a shared online adventure with your friends. Due to the comparatively high hardware requirements, renting external resources is recommended. You can then easily install and set up the Arma 3 server via SteamCMD.

The first version of the military simulation Arma 3 was released on September 12, 2013. The main content of the computer game by Bohemia Interactive is a military conflict set in the near future, and the developers place the focus on managing the crisis in multiplayer mode. We clarify the requirements for your own Arma 3 server and also provide detailed instructions for installation and setup.

Contents

  1. Arma 3: Dedicated Server in a data center or hosting on your own PC?
  2. What are the system requirements of an Arma 3 host server?
  3. Arma 3: Server hosting with IONOS ⁠— these are your options
    1. IONOS Arma 3 server: Savings tips for newbies
    2. Arma 3: Possible host server options and suitable IONOS plans
  4. Host an Arma 3 server: Tutorial
    1. Step 1: Connect to sever
    2. Step 2: SteamCMD install
    3. Step 3: Install Arma 3 dedicated server software via SteamCMD
    4. Step 4: Release ports
    5. Step 5: Configure server
    6. Step 6: Start Arma 3 server
    7. Step 7: Connect to Server

Free Cloud Server Trial from IONOS

Try out a Cloud Server for free now — test your IONOS Cloud Server for 30 days!

REST API

Unlimited traffic

VMware virtualization

Arma 3: Dedicated Server in a data center or hosting on your own PC?

To host a multiplayer server in Arma 3, you have two options: Either you run the multiplayer instance on your own device or you host an Arma 3 server on rented hardware resources with a provider of your choice.

The advantages of hosting on your own machine are obvious ⁠— you don’t have to rent additional hardware and you have the maximum access to your server. However, a look at the disadvantages makes it clear why an Arma 3 dedicated server in a remote data center is the better choice:

For one, home Internet access is rarely enough to provide a smooth and stable gaming experience for multiple players. Secondly, only absolute top PCs provide the necessary computing power (especially if you want to participate in the game yourself). Another argument in favor of third-party hosting is the fact that the server is available around the clock, which would only be the case with hosting on your own PC if you don’t turn off your device.

Note

When you rent resources for hosting your own Arma 3 server, you are not automatically bound to hosting the military simulation. You can also use the hardware to create a Valheim server or a Minecraft server setup. Furthermore, you can use the resources to host your own TeamSpeak server.

What are the system requirements of an Arma 3 host server?

Hosting an Arma 3 dedicated server is taxing on the underlying hardware. The rule of thumb is that the more players are active at the same time and the more mods you want to use for your server, the more resources you need to plan for. For a simple co-op adventure, you can get away with a leaner hardware setup than for a multiplayer server where 16 or more players are in action together or against each other.

In the official Arma 3 Wiki, Bohemian Studios lists the following minimum requirements:

  • CPU (processor): 2.4 gigahertz (dual core)
  • RAM (working memory): 2 gigabytes
  • Hard disk space: 32 gigabyte HDD

In the same place, the development team recommends the following hardware for all Arma 3 server scenarios that are intended to go beyond hosting a simple co-op adventure:

  • CPU (processor): 3.5 gigahertz (quad-core)
  • RAM (working memory): 4 gigabytes
  • Hard drive storage: 32 gigabyte SSD

However, the performance for running the Arma 3 dedicated server software isn’t the only thing you need to consider when it comes to the hardware for your server. The operating system of your choice also requires resources that should be planned for from the start. For Windows Server 2019, for example, the following additional requirements need to be covered:

  • 1.4 GHz processor (64-bit)
  • 512 MB or 2 GB memory (without or with graphical user interface)
  • 32 or 36 GB hard disk space (without or with graphical user interface)

Note

For hosting an Arma 3 server, you can choose to use a Windows operating system or a Linux distribution such as Ubuntu.

Arma 3: Server hosting with IONOS ⁠— these are your options

You can rent server hardware for hosting your own online adventure from various providers. However, choosing the right provider is not that easy ⁠— especially since every provider usually has several hosting packages in their portfolio. Different infrastructure approaches have to be taken into account, as well as different performance and cost spectrums. At IONOS, for example, you can choose between the following three server models, each with different plans:

  • vServer: IONOS vServer (also Virtual Private Server, VPS) gives you access to virtualized resources. You share the hardware with other customers (without any performance loss). Billing is monthly at a fixed price.
  • Cloud Server: IONOS cloud servers are also based on virtualized resources. However, they only pay for the performance actually required, as billing is on a per-minute basis.
  • Dedicated Server: You can get hardware reserved for you with high single-core power in the dedicated server package from IONOS.

Tip

If you are looking for a powerful and secure server environment where you can host your own Arma 3 server in addition to other gaming servers without performance problems, think about renting your dedicated server from IONOS today to be as well prepared as you need!

IONOS Arma 3 server: Savings tips for newbies

You don’t necessarily have to choose a IONOS plan with a high performance volume, especially if you’re just starting out on your hosting adventure. In terms of server type, the cloud server model is recommended for starting out. You only pay for the server when you are actively using the hardware ⁠— you can scale up the resources at any time if you need to!

The cheapest plan with suitable computing power: Cloud Server L.

Tip

Rent your cloud server from IONOS directly now to get started with your own Arma 3 server ⁠— without fixed monthly costs!

Arma 3: Possible host server options and suitable IONOS plans

You won’t go wrong with a starter plan, thanks to the easy scalability of each plan. You can still opt for a more powerful plan right from the start if you already know that you need more CPU, RAM and so on. If you want your server to be online permanently, it also makes sense to choose a different server model.

We have summarized five possible options in the following table and assigned the most suitable IONOS server plan to each.

Host an Arma 3 server: Tutorial

Once you have access to your own hosting environment, you can put your plan into action and set up Arma 3 as a dedicated server. The easiest way to install the software is via the Steam command line SteamCMD. In the following tutorial, we will go through the individual steps for IONOS customers (vServer, Cloud Server, Dedicated Server). Windows Server 2019 is used as the operating system.

Note

You do not need the game to install and run the dedicated server software for Arma 3! You do need a verified Steam account, though. However, if you want to connect to the server yourself later, this will logically only work with your own Arma 3 license.

Step 1: Connect to sever

You manage the rented server hardware from any device after establishing a remote connection to the server. Consequently, the first step is to set up and establish this remote connection. As an IONOS customer, you can perform the configuration in the browser-based Cloud Panel. To do this, first log in with your individual customer data on the Login page.

After successful login, call up the “Server & Cloud” category. Here you can select the rented hardware setup on which you want to set up the Arma 3 host server. In addition to the most important access data for your server, you will also find a download link for setting up the remote desktop connection on the following page, which you can now click on and execute directly.

IONOS Cloud Panel: Overview of server access data
IONOS Cloud Panel: Overview of server access data.

When configuring the connection for the first time, a security notice will pop up — continue by clicking “Connect”. Specify the credentials for your Arma 3 server by clicking “More options” and “Use another account”. If you haven’t changed the credentials for your IONOS server yet, you can find the automatically generated startup data in the server data overview in the Cloud Panel — under “Users” and “Initial Password”.

Note

When establishing the remote connection to your server for the first time, you must first classify the server certificate as trusted. Take this opportunity to check the “Do not ask for connections to this computer again” checkbox so that you will not receive the message on subsequent connection attempts.

Step 2: SteamCMD install

The easiest way to get Arma 3’s dedicated server software is via the Steam command line SteamCMD. As soon as the connection to your server hardware is established, download the installation files of the tool via the following download link. Then unzip the ZIP file into any directory on your server.

Finally, double-click on the SteamCMD.exe to start the installation from the Windows command prompt. After successful execution, the Windows command line tool presents you with the input line “Steam>”.

SteamCMD: Command line “Steam>”
SteamCMD: Command line “Steam>”

Step 3: Install Arma 3 dedicated server software via SteamCMD

You can now download Arma 3’s dedicated server software via the Steam command line. First, connect to the official Steam servers, for which you will need the username and password of your Steam account. Type the following to start (instead of “username” use your individual Steam username):

After that, enter your password and — when logging in to the server for the first time — the Steam Guard code that you receive on your linked email address.

Optionally, in the next step you can specify in which directory the Arma 3 server should be installed. For example, for the path C:\arma-3-server the appropriate command is:

force_install_dir C:\arma-3-server

Finally, combine the “app_update” command with the Steam app ID of the Arma 3 dedicated server software (233780) to download the application via SteamCMD:

app_update 233780 validate
SteamCMD: Download Arma 3 server application
SteamCMD: Download Arma 3 server application.

If the installation was completed successfully, log out of the Steam servers with the command “quit”.

Tip

Using SteamCMD, you can keep your Arma 3 host server up to date after the installation. For this, the command “app_update 233780” is enough — after logging in to the Steam servers first.

Step 4: Release ports

In the next step, you need to open all relevant ports so that users can interact with your Arma 3 host server. For optimal communication between server and clients, the following ports should be opened:

  • TCP/UDP 2302: Game port, under which the server itself runs and can be reached.
  • TCP/UDP 2303: Query port, which is used to query information such as the number of players or the server name
  • TCP/UDP 2304: Port of the game platform Steam
  • TCP/UDP 2306: Port for the traffic of the anti-cheat software BattlEye

As an IONOS customer, you can also realize port sharing in the Cloud Panel. To do this, log in as usual, open the “Server & Cloud” section and select the server on which you have just installed the Arma 3 dedicated server software. Then switch to the “Network” category in the left side menu, where you will find the “Firewall Policies” menu.

Under “Incoming”, now create the rules for the four ports mentioned. Make sure that “UDP/TCP” is selected as the protocol in each case.

IONOS Cloud Panel: Port sharing for Arma 3 servers
IONOS Cloud Panel: Port sharing for Arma 3 server.

Note

Unblocking the ports via the IONOS Cloud Panel takes some time. You can read the current progress via the status display in the upper part of the firewall menu.

Step 5: Configure server

You need a basic configuration for your Arma 3 server. To do this, either manually create a configuration file named server.cfg and add the desired parameters using the Server command list in the official Arma 3 Wiki.

Or you can use the web-based Arma 3 Server Config Generator to create the desired server configuration. Once you have all the settings, click on “Generate” to create the appropriate server.cfg.

Note

Independently of the way you chose, copy the created server.cfg file into the directory of your Arma 3 server.

Step 6: Start Arma 3 server

Now you can finally start your Arma 3 host server. In principle, it is enough to run the arma3server.exe file for this purpose. However, to include the created configuration file, an additional step is required beforehand:

Right-click on the arma3server.exe and create a desktop shortcut by selecting “Send to” and “Desktop (create shortcut)” from the menu one after the other.

Arma 3 Server Directory: Create Desktop Shortcut
Arma 3 Server Directory: Create Desktop Shortcut.

Also go to the created shortcut with right click and open the “Properties” menu. Now expand the “Target” line in the “Shortcut” tab with the following addition:

Arma 3 Server: Desktop shortcut menu
Arma 3 Server: Desktop shortcut menu

Save the adjustment by clicking on “Apply” and start the server afterwards by double-clicking on the desktop shortcut.

Arma 3 Console after successful server start
Arma 3 Console after successful server start.

Step 7: Connect to Server

Your own Arma 3 dedicated server is ready for your exciting online adventures! Players who want to connect to the server only need to own the game and have the IP address and password (if defined in the server.cfg) of your server. Equipped with these components, the connection setup proceeds as follows:

  1. Launch Arma 3 from the Steam client.
  2. Press “Multiplayer” and “Server Browser” one after the other.
  3. Select the “Direct connection” tab.
  4. Enter the IP address of the server.
  5. For “Port”, enter the value “2302” (for the game port).
  6. Click the Join button.
Arma 3: Direct connection setup via server browser
Arma 3: Establishing a direct connection via server browser

After that, your server will show up in the list. Click on the entry and go to “Join” one more time. After that, type in the password and select the mission you want — or join the running game if a scenario has already been started.

Screenshot from Arma 3: As the leader of the unit, we start our first mission
Screenshot from Arma 3: As the leader of the unit, we start our first mission.

Tip: .gg Domain

Make a statement with your own .gg domain and let the games begin. Register your own .gg domain now with IONOS.

Related articles

How to host a TeamSpeak server

How to host a TeamSpeak server

The choice of tools for voice communication on the Internet or in the local network is more diverse than ever before. However, TeamSpeak, which scores points for its excellent sound quality and high security standards, is still around. We’ll tell you about the requirements of a TeamSpeak server and how to host, install and deploy your own TeamSpeak server online.

How to host a TeamSpeak server

Set up a Mumble server – a how to for mumble server hosting

Set up a Mumble server – a how to for mumble server hosting

Whether it’s a multiplayer game or a podcast project, the Mumble voice chat software is becoming increasingly popular. The open-source solution has an appealingly simple structure without scrimping on functions. Another advantage is that anyone can create their own Mumble server. We’ll explain all the steps of the installation, from choosing the right server package to the final configuration.

Set up a Mumble server – a how to for mumble server hosting

How to host your own Space Engineers Server

How to host your own Space Engineers Server

The space simulation Space Engineers is one of the most popular representatives of the genre. If you want to let off steam in the versatile worlds together with friends and acquaintances, the best way to do this is on your own Space Engineers Server. We have summarized the most important information about Space Engineers server hosting, configuration, and deployment (including step-by-step…

How to host your own Space Engineers Server

Satisfactory Dedicated Server: Hosting and Setup

Satisfactory Dedicated Server: Hosting and Setup

Players from all over the world are having lots of fun with the factory-building game, Satisfactory, in the early access phase. If you don’t want to play the game alone, you can also join in the adventure with friends and acquaintances on a specially hosted Satisfactory server, for example. What are the requirements for this? And how do you create a Satisfactory dedicated server?

Satisfactory Dedicated Server: Hosting and Setup

How to host your own Eco server

How to host your own Eco server

Do you want to play Eco with friends and acquaintances? And also enjoy total freedom when it comes to game configuration? All of this is possible with your own Eco server. It’s easy to install and configure your server with the Steam client once the hosting environment has been set up. We’ll give you an overview of what to consider when hosting and using the Eco dedicated server.

How to host your own Eco server

How to host a Garry’s Mod server: A beginner’s guide

How to host a Garry’s Mod server: A beginner’s guide

Hosting a Garry’s Mod server is a great way to get your friends together for a gaming adventure. In this guide, we’ll explain step by step how you can set up a Garry’s Mod server, what the best hosting options for a Garry’s Mod server are, and what requirements the server needs to meet. Keep reading to find out what you need to do to set up a Garry’s Mod server.

How to host a Garry’s Mod server: A beginner’s guide

ARMA 3 is a military simulation multiplayer online video game, developed and published by Bohemia Interactive. The game was initially released on the Microsoft Windows platform in September 2013.  Two years later, it was also made available for Linux and Mac OS X.

In this article, you will learn about the process of setting up an Arma 3 dedicated server.

Click Here Buy To Game Dedicated Servers.

Minimum System Requirements

The minimum system requirements for an Arma 3 dedicated server include:

  • Processor: 2.4GHz dual-core processor
  • RAM: 2GB
  • Storage: 32GB
  • Operating System: Linux/Windows Server 2008 (or higher)

Recommended System Requirements

If you want a smoother gaming experience, you must have a system that fulfills the recommended system requirements.

  • Processor: 3.xGHz+ multi-core processor
  • RAM: 4GB+
  • Storage: 32GB+
  • Operating System: Linux/Windows Server 2008 (or better)

Other Pre-requisites

Before you start setting up your Arma 3 dedicated server, here are some of the things you need:

  • A copy of Arma 3 on Steam
  • Steam CMD (To download game files from Steam servers)
  • TADST (Tool for configuring your server settings)
  • Microsoft .net Framework 4.5

How To Install Arma 3 Game Files?

  • Extract steam CMD into the desired folder
  • Once the extraction process is complete, double click on the steamCMD.exe
  • Log in with your Steam account
  • Choose a directory you want to install server files in by typing this command

 force_install_dir <path>

  • To begin the installation of game files, type this command

app_update 233780 validate

  • Quit steam cmd with exit command once the installation process is complete
  • Find mission file with  (.pbo) extension and copy it to the MPMissions folder

Port Forwarding

You need to login to your router and forward the following ports.

  • UDP 2302 default Arma 3 game port.
  • UDP 2303 Steam query port.
  • UDP 2304 Steam port.
  • UDP 2306 Battleye anti-cheat port.

 How To Configure Your Arma 3 Server?

Configuring your Arma 3 server is not easy especially when you do it manually. This is why it is highly recommended that you use TADST.

  • Download TADST
  • Extract the zip file. 
  • Click on TADST.exe to open it.
  • Select server file and choose  arma3server.exe
  • Specify a name for your server which will make it easy for gamers to find it.
  • Next, set an admin password for the server.
  • Choose the “Missions” tab and specify the mission you want to play.
  • Click “Save” to save your current settings.
  • Go to the “Details” tab to launch the server by clicking on the Launch button in the bottom left corner.

Here is a step by step process you can follow to install Arma 3 dedicated server

  • Login to Secure Shell (SSH) on the server by using this command

ssh root@SERVER-IP

  • Create a new ARMA user

adduser arma

su arma

  • Create a directory called SteamCMD and download the files by using this command:

mkdir ~/steamcmd && cd ~/steamcmd

nano /etc/apt/sources.list

apt update && apt install steamcmd

  • Accept the license agreement
  • Start Steam by creating a symbolic link in steam cmd command

apt update && apt install steamcmd

  • Steam can be started on a screen

screen

./steamcmd

  • Download Arma with the following commands

login steamuser

force_install_dir ./arma3/

app_update 233780 validate

exit

  • Create Arma directories with this command

mkdir -p ~/”.local/share/Arma 3″ && mkdir -p ~/”.local/share/Arma 3 – Other Profiles”

  • Start the server by using this command

cd “/home/.steam/SteamApps/common/Arma 3 Server/”

./arma3server -name=server -config=server.cfg

How To Use ARMA 3 Mods?

Even though there are numerous ARMA 3 mods that you can use on your server, here are three worth considering:

  • Wasteland
  • MGS1
  • Revenge

When you are using an ARMA 3 mod, it is imperative that your system fulfills the recommended system requirements to accommodate the additional load due to the player’s upload and downloads. The more free storage space you have on your hard drive, the better experience you will have.

Loading A Mod

Here is a step-by-step process for loading a mod:

  • Connect to your server by using FTP
  • Add the mod to a new folder and assign it a name
  • Access the control plane and command manager
  • Add the mod in the command line feature
  • Save and run the server

Which method do you use to set up an Arma 3 dedicated server? Let us know in the comments section below.

  • Artmoney для windows 10 крякнутый
  • Arm64 или x64 как узнать windows 10
  • Artmoney windows 10 x64 скачать торрент
  • Asia 8738sx 4c driver windows 10
  • Art set скачать на windows