Dedicated Server – Arma 2
This article covers some of the aspects of the dedicated server for Arma 2.
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 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.
You need a Microsoft Windows XP/2000/Vista/2008/Seven computer to run a dedicated server, yet a version of Linux server is also available.
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 (arma2.exe) with the command line argument –server to start a dedicated server. While this is easy, it requires the Arma 2 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 the Arma 2 DVD for this)
- Add the arma2server.exe/arma2oaserver.exe file to the same directory as Arma2.exe/Arma2OA.exe. Copy your already installed Arma2/Arma2OA directory on to the server.
- Create a configuration file for your server. See server config 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"
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 config -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 config.
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 config.
Performance Tuning Options
Running Server as a Service
You may also consider running the Arma 2 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 the 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. This How-To is only utilized on Windows 2000/NT systems. For the article on Windows Server 2003 onwards, please reference this article: http://support.microsoft.com/kb/251192/en-us?p=1.
Linux
Linux dedicated servers are also supported.
A first description of how-to setup an ArmA linuxserver has been posted on the official BI forums. You may follow these few steps that illustrate a setup on a Debian-based machine:
- follow all instructions of readme
- edit startupfile "armaserver" and change vars, fitting for your system
- start server manually (command: ./server). Now the player directory should be created.
- stop server with Ctrl + C
- edit player/player.armaprofile
- create and edit a arma.cfg (all lowercase! ) in main directory of arma
- run server via ./armaserver start
- 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 is required packages for the ArmA install script to work
- package ia32-libs (2.2ubuntu11) and all of it is required packages for the Arma 32bit server application to run on the 64bit operation system.
In case your linux distribution does not 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 link). 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
- Follow the "readme.txt"
- To execute "install" the compiler "gcc" plus it is 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".
- 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.
- Edit
- "arma2.cfg", see also basic.cfg
- "server.cfg" = Config setting in "arma2server", see also server config
- "player/player.arma2profile", see also server.armaprofile
Downloads
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/
Windows
- Official: 1.62 is available from Arma 2 Official Web Site
- Beta: Newer builds are included in the Arma 2:OA beta patches available here.
Arma 2
Linux
- Official: v1.11 is available from Arma 2 Official Web Site
Windows
- Official: v1.11 is available from Arma 2 Official Web Site
- 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.