Arma Dedicated Server

From Bohemia Interactive Community
Jump to: navigation, search

Introduction

This article covers some of the aspects of the dedicated server for Armed Assault and Arma 2, Arma 3.

Some of the information on this page covers beta versions of the software and documentation.

This software is released under end user agreement terms as the original game so you should agree with the terms of the end user agreement of ArmA: Armed Assault/Arma 2 as found in the manual before installing and using this software.

Installation

We recommend using 2 GHz machine, with 512 MB RAM and a 1 Mbps upload network bandwidth.

ArmA: You need either a Microsoft Windows 2000/XP or Linux computer to run an ArmA dedicated server.

Arma 2: You need a Microsoft Windows XP/2000/Vista/2008/Seven computer to run an Arma 2 dedicated server, yet a version of Linux server is also available.

Arma 3: You need a Microsoft Windows 2008 or later (Vista, 2008, Seven, 8) computer to run an Arma 3 dedicated server, yet a version of Linux server will be also available. See Arma 3 Dedicated Server page for more detailed informations.

The rest of this section covers installation on a Windows computer. For installation on a Linux computer see the Linux section.

There are two possible ways to install the dedicated server. When you have installed the ArmA game, you can use the main executable (ArmA.exe) with the command line argument –server to start a dedicated server. While this is easy, it requires the ArmA DVD to be present in the drive during server operation and also original serial number. (However with the latest patch version 1.05 the DVD is no longer needed.).If you want to run a server without the DVD and serial number, you have to use the standalone dedicated server executable.

The latest version of this executable is always available from the Downloads section.

To install a standalone server

  • Install the corresponding version of the game on any machine (you will need ArmA DVD for this)
  • Add the ArmA_Server.exe file to the same directory as ArmA.exe. Copy your already installed ArmA directory on to the server.
  • Create a configuration file for your server. See server.cfg for further information.

Installing a patch on the dedicated server

To install a patched version on the dedicated server, you can either install the patch on some machine with the full game installed and then transfer the full patched game, or you can download the patch to the dedicated server, make sure there exists a registry entry on the server so that the patch can find the game location, verify the CD key, and apply the patch directly on the server.

The registry entry can be created by exporting a registry key HKEY_LOCAL_MACHINE\SOFTWARE\Bohemia Interactive Studio\ArmA from the machine where the game is installed. The file should look like this:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Bohemia Interactive Studio\ArmA]
"KEY"=hex:xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx
"MAIN"="C:\\Program files\\Bohemia Interactive\\ArmA"


To install updates on Windows Server 2003 (64bit) and all the other options have not worked please try this work around instead you will still need to edit the paths "Main"="C:\\Your\\ArmA\\Path\\ArmA"

  • note: the installer might use PATH instead of default MAIN key, this is unstandard fix and might not work with latest patches

Windows server 2003 (64bit)

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA]
"Main"="C:\\Program files\\Bohemia Interactive\\ArmA"
"PATH"="C:\\Program files\\Bohemia Interactive\\ArmA"
"KEY"=hex:xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx

Startup Options

Example

"ArmA_Server.exe -config=server.cfg -netlog -port=2302 -mod=hisky"
-config= <----Specifies the config file to use. See server.cfg
-mod=    <----extra command to run folder mods
-netlog  <----command to record traffic from the game server in BI format (requires 1.02 and above)
-port=   <----Port for the server to listen on.
-world=  <----start another default world
-noland  <----unknown functionality (in player mode it removes all land textures and turns it grey)
-ranking=<filename>   <----path for game stats log (new in 1.07)
-pid=<filename>       <----specifies a file to write the server's PID (process ID) to. The file is removed automatically when the server is stopped

Server Crashes

In the event of a server crash, please help BI to fix the problem by sending the crash files arma.rpt and arma.bidmap files that will be created on each crash. For the location of these files and where to send them to, see Crash Files.

Server Security

There are several settings you might want to consider which improve the security and integrity of the dedicated server which are found in the server.cfg.

Server Administration

You can administer the server as a player through various Multiplayer Server Commands. It is also possible to remotely administer the server through BattlEye's RCon administration tool

Banning

To ban a user you have to know their unique online ID (called Player ID). This can be checked in the players overview screen ('P' key) during the game, or with the #userlist command. To ban a user you have to add their Player ID to file ban.txt residing in the main ARMA directory. If there is no such file there, create a new one. The format of ban.txt is a plain ASCII text list of decimal Player IDs delimited with space, tabulator or end-of-line characters.

Firewall issues

By default the Armed Assault server is reporting to Gamespy and it also uses the Gamespy server to negotiate a NAT traversal. If this does not work reliably for you (e.g. when running behind very strict firewall), you may need to open and/or forward following incoming ports:

port  	UDP (used for game)
port+1	UDP (used for server reporting)
port+3	UDP (used for VoN transmissions)

Following outgoing ports need to be open as well:

port 	UDP (used for game)
port+3	UDP (used for VoN transmissions)

Default value of port is 2302, but you may change it by -port command line argument.

Proxy issues

You may enforce proxy server used to download xml squad page etc. Using the value "proxy" in server.cfg.

Performance Tuning Options

Moved to Server Basic Config file

Running Server as a Service

You may also consider running the ArmA server as a service, and enabling automatic restart in case of crash. In this case, you may want to disable DrWatson crash monitoring utility on your computer, as it often prevents ArmA server to shutdown properly (by displaying a message box that requires an operator to confirm application termination).

A HowTo for user-defined services can be found at http://support.microsoft.com/kb/137890/en-us.

Linux

Linux dedicated servers are also supported.

A first description of how-to setup an ArmA linuxserver has been posted on the offical BI forums. You may follow these few steps that illustrate a setup on a Debian-based machine:

1.)  follow all instructions of readme
2.)  edit startupfile "armaserver" and change vars, fitting for your system
3.)  start server manually (command: ./server). Now the player directory should be created.
4.)  stop server with ctrl+c
5.)  edit player/player.armaprofile
6.)  create and edit a arma.cfg (all lowercase! ) in main directory of arma
7.)  run server via   ./armaserver start
8.) have fun!

Please note that you can create other users than the standard player to configure different quality settings. All you need is an directory named <username> and therein a <username>.armaprofile as the configuration file. Then simply start the server with the optional parameter -name=<username>.


When you're a Linux beginner and encounter problems without adequate error messages, then your distribution is probably missing necessary packages.

For instance Unbuntu hardy 8.04 LTS amd64 (64bit) Desktop:

  • package build-essential (11.3ubuntu1) and all of it's required packages for the ArmA install script to work
  • package ia32-libs (2.2ubuntu11) and all of it's required packages for the ArmA 32bit server application to run on the 64bit operation system.


In case your linux distribution doesnt have a package set of libraries like the ia32-libs are, I managed to get the server running on Archlinux 64bit by installing the following packages as 32bit versions:

- glibc

- gcc-libs

- libstdc++5

- zlib

In case you encounter "Server died, waiting to restart..." instantly after the server was created, you may have SElinux enabled. (Fedora Core)


Number of open files limit

If you are running some mods and/or have a lot of missions on the server, you will hit the limit of open files allowed. This is a Linux/Unix specific issue. There are different settings you may need to tweak.

For once you may need to tweak the system-wide setting for max-files-open (See [1]). Then you might still need to allow the individual user that runs the Arma server to open enough files. The standard setting on Ubuntu 11.0 64-Bit was 1024 which might be too low.

Solution: Change /etc/security/limits.conf.

To raise this limit for every user put the following in at the bottom and save:

* soft nofile 4096
* hard nofile 4096

Remarks on ArmA2

  1. Follow the "readme.txt"
  2. To execute "install" the compiler "gcc" plus it's so called "build-essentials" are needed. You can try executing "install". If there are errors like "stdio.h missing etc." then install the package "build-essentials".
  3. Try "./server" first and read the messages on the command line to get an idea whether the server is running or not. Check the directory for any files like "core.*" and read the "log.*.txt" file to get an idea if there's any problem.
  4. Edit
    1. "arma2.cfg", see also basic.cfg
    2. "server.cfg" = Config setting in "arma2server", see also server.cfg
    3. "player/player.arma2profile", see also server.armaprofile

Downloads

Arma 3

Linux

Release table
Stages Version Downloads
N/A N/A N/A

Windows

You can use STEAMcmd (non-GUI) instead of STEAMclient (GUI) downloading development branch through SteamCMD.

steamcmd.exe +login <username> <password> +force_install_dir c:\install\folder\ +app_update "107410 -beta development" validate +quit
Release table
Stages Version Downloads
BETA/dev v0.77.0.109860 Steam

Arma 2: Operation Arrowhead

Linux

Extract or Unpack a TarBall File

$tar jxvf a2oa-server-x.xx.xxxxxx.tar.bz2

change to directory DIR

$tar jxvf a2oa-server-x.xx.xxxxxx.tar.bz2 -C /home/bob/arma2oa/bin/
Release table
Stages Version Downloads
Beta v1.63.112555 Download
Beta v1.62.102451 Download
Beta v1.62.101906 Download
Beta v1.62.100000 Download
Beta v1.62.98939 Download
Beta v1.62.98874 Download
Beta v1.62.98099 Download
Beta v1.62.97755 Download
Beta v1.62.97240 Download
Beta v1.62.97035 Download
Alpha v1.62.96687 Download
Alpha v1.62.96458 Download
Alpha v1.62.95946 Download
Alpha v1.62.95577 Download
Beta v1.60.94743 Download
Beta v1.60.94342 Download
Beta v1.60.93616 Download
Beta v1.60.93400 Download
Beta v1.60.93167 Download
Beta v1.60.92364 Download
Beta v1.60.90909 Download
Beta v1.60.89986 Download
Official v1.60.87589 Download
Beta v1.60.87357 Download
Beta v1.60.86912 Download
Beta v1.60.86521 Download
Beta v1.59.85663 Download
Beta v1.59.84426 Download
Beta v1.59.84216 Download
Official v1.59.79548 Download
Beta v1.58.78554 Download
Beta v1.57.77737 Download
Beta v1.57.76934 Download
Official v1.57.76894 Download
Beta v1.56.76188 Download
Beta v1.55.75619 Download
Official v1.54.72898 Download

Windows

Official: 1.52.71816 is included in the 1.52 patch
Official: v1.57.76903 (hotfixed!) here
Beta: Newer builds are included in the ArmA II OA beta patches available here.

Arma 2

Linux

  • Alpha: v1.04.59822 is available from the BI Forums (4.2MB, Released: Oct 27th 2009)
CRC32: A353E31F
MD5: F5515D415C5365121CE3291A2C57F856
SHA-1: E1A8BFC87CC6BD90AC2E0F9D81A90DBDF0E1D127
CRC32: EFF77573
MD5: E34165ACFF4AD90E7AD76BDDF64A2C9F
SHA1: 670BC4776345AE0C435843F13CA3FFCE51E6C142

Windows

Beta: v1.02.58055 is available from the Arma2.com, ArmA2Server_1_02BETA.zip (4.2MB, Released: June 19th 2009)
Official: v1.03.58659 is available from Arma2.com, ArmA2server_1_03.zip ,kellys-heroes.eu , The Patches Scrolls (4.35MB, Released: August 6th 2009)
Official: v1.04.59026 is available from Arma2.com , ArmA2server_1_04.zip , kellys-heroes.eu , FileFront.com , The Patches Scrolls
From v1.05 and beyond the window dedicated server exe is part of the client patch. Just move the arma2server.exe with the according dta folder contents to your server.

ArmA

Windows

Official: v1.14.5256 is available from the armedassault.com update page as part of the v1.14 patch.
Beta: v1.15.5268 is available from armedassault.com, ARMA_BETAPATCH_115.zip (49.7MB, Release: December 23rd 2008)
Beta: v1.16.5277 is available from armedassault.com, ArmA_PublicBeta_Patch116.zip (51.6MB, Release: April 24th 2009)
RC: v1.18.5281 Release Candidate is available from armedassault.com, ARMA_Update118RC.zip (132MB, Release: December 15th 2009)

Linux

Official: v1.14.5257 is available from armedassault.com server-1.14.tar.bz2 (3.95MB, Release: May 22nd 2008)
RC: v1.18 Release Candidate is available from armedassault.com arma1server-1.18.tar.bz2 (3.97MB, Release: December 15th 2009)

See Also

ArmA Server Configuration

Multiplayer Server Commands

ArmA Community Tools

ArmA Version History

Arma 2 Version History