Dedicated Server – ArmA: Armed Assault

From Bohemia Interactive Community
Jump to navigation Jump to search
(Clarified the Linux server status, added paragraph on monitoring server performance, fixed misuse of "b" and "B" for bits and bytes, respectively.)
Line 9: Line 9:


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 as found in the manual before installing and using this software.
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 as found in the manual before installing and using this software.


==Installation==
==Installation==


You need a Microsoft Windows 2000 or Windows XP computer to run an ArmA dedicated server. We recommend using 2 GHz machine, with 512Mb RAM and a 1Mbit upload network bandwidth.  
You need a Microsoft Windows 2000 or Windows XP computer to run an ArmA dedicated server. We recommend using 2 GHz machine, with 512 MB RAM and a 1 Mbps upload network bandwidth.


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 [[ArmA: Startup Parameters|–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. If you want to run a server without the DVD and serial number, you have to use the standalone dedicated server executable.  
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 [[ArmA: Startup Parameters|–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. If you want to run a server without the DVD and serial number, you have to use the standalone dedicated server executable.  
Line 47: Line 45:


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.
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==
==Firewall issues==
Line 66: Line 63:


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


==Performance Tuning Options==
==Performance Tuning Options==
Line 73: Line 69:


  '''MaxMsgSend=<limit>;'''  
  '''MaxMsgSend=<limit>;'''  
Maximum number of messages that can be sent in one simulation cycle. Increasing this value can decrease lag on  
    Maximum number of messages that can be sent in one simulation cycle.
high upload bandwidth servers.
    Increasing this value can decrease lag on high upload bandwidth servers.
''Default: 128''
    ''Default: 128''
   
   
  '''MaxSizeGuaranteed=<limit>;'''  
  '''MaxSizeGuaranteed=<limit>;'''  
Maximum size of guaranteed packet in bytes (without headers). Small messages are packed to larger frames.
    Maximum size of guaranteed packet in bytes (without headers). Small messages
Guaranteed messages are used for non-repetitive events like shooting.
    are packed to larger frames. Guaranteed messages are used for non-repetitive
''Default: 512''
    events like shooting.
    ''Default: 512''
   
   
  '''MaxSizeNonguaranteed =<limit>;'''  
  '''MaxSizeNonguaranteed=<limit>;'''  
Maximum size of non-guaranteed packet in bytes (without headers).  
    Maximum size of non-guaranteed packet in bytes (without headers).
Non-guaranteed messages are used  for repetitive updates like soldier or vehicle position.
    Non-guaranteed messages are used  for repetitive updates like soldier or
Increasing this value may improve bandwidth requirement, but it may increase lag.
    vehicle position. Increasing this value may improve bandwidth requirement,  
''Default: 256''
    but it may increase lag.
    ''Default: 256''
   
   
  '''MinBandwidth =<bottom_limit>;'''
  '''MinBandwidth=<bottom_limit>;'''
Bandwidth the server is guaranteed to have (in bps). This value helps server to estimate bandwidth available.
    Bandwidth the server is guaranteed to have (in bps). This value helps server
Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded.
    to estimate bandwidth available. Increasing it to too optimistic values can
''Default: 131072''
    increase lag and CPU load, as too many messages will be sent but discarded.
    ''Default: 131072''
   
   
  '''MaxBandwidth=<top_limit>;'''
  '''MaxBandwidth=<top_limit>;'''
Bandwidth the server is guaranteed to never have. This value helps server to estimate bandwidth available.
    Bandwidth the server is guaranteed to never have. This value helps the server
    to estimate bandwidth available.
   
   
  '''MinErrorToSend=<limit>;'''
  '''MinErrorToSend=<limit>;'''
Minimal error to send updates across network.  
    Minimal error to send updates across network. Using a smaller value can make
Using smaller value can make units  observed by binoculars or sniper rifle to move smoother.
    units  observed by binoculars or sniper rifle to move smoother.
''Default: 0.01''
    ''Default: 0.01''
   
   
  '''MaxCustomFileSize=<size_in_bytes>;'''
  '''MaxCustomFileSize=<size_in_bytes>;'''
Users with custom face or custom sound larger than this size are kicked when trying to connect.
    Users with custom face or custom sound larger than this size are kicked when
    trying to connect.


'''Note'''
The greatest level of optimization can be achieved by setting the MaxMsgSend
and MinBandwidth parameters. For a server with 1024 kbps we recommend the
following values:
    MaxMsgSend = 256;
    MinBandwidth = 768000;


'''Note'''
While connected to the dedicated server, you can use the admin command <code>#monitor</code> to monitor server resource usage. (You have to be logged in as or voted as game admin to do this.) The server never runs at more than 50 fps. When running slower, it always uses all available CPU processing power to maintain the smoothest possible gameplay. When running at less than 15 fps, you can consider the server overloaded – the mission currently played is probably too complex for given server. If you see the server is not using bandwidth that it could use, you can try increasing values MaxMsgSend and MinBandwidth.
The greatest level of optimization can be achieved by setting the MaxMsgSend and MinBandwidth parameters.
For a server with 1024kbps we recommend the following values:
MaxMsgSend = 256;
MinBandwidth = 768000;


==Running Server as a Service==
==Running Server as a Service==
Line 119: Line 122:
==Linux==
==Linux==


Support for Linux dedicated servers has been confirmed by Bohemia Interactive, although the release of any Linux binaries may be delayed until after the launch of [[:category:Armed Assault|Armed Assault]].
Support for Linux dedicated servers has been confirmed by Bohemia Interactive. It is under development but there's no fixed release date set yet.
 


==Downloads==  
==Downloads==  


[[ArmA|Armed Assault]] BETA 1.01.5099 dedicated server can be found [ftp://www.flashpoint1985.com/ArmA/DediServer/ArmA_Win32Server101_Beta5099.zip here]
[[ArmA|Armed Assault]] BETA 1.01.5099 dedicated server can be found [ftp://www.flashpoint1985.com/ArmA/DediServer/ArmA_Win32Server101_Beta5099.zip here]
Line 149: Line 150:
*5099  - Fixed: AI are better planning the path over the bridge
*5099  - Fixed: AI are better planning the path over the bridge
*5099  - Fixed: False conflict reported for Handgun, Salute and SitDown actions for vehicles.
*5099  - Fixed: False conflict reported for Handgun, Salute and SitDown actions for vehicles.
See also: [[ArmA:_Version_History]]


[[Category:ArmA:_Multiplayer|Dedicated Server]]
[[Category:ArmA:_Multiplayer|Dedicated Server]]

Revision as of 14:15, 21 March 2007

Template:preliminary-disclaimer

Introduction

This article covers some of the aspects of the dedicated server for Armed Assault


This is a beta version 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 as found in the manual before installing and using this software.

Installation

You need a Microsoft Windows 2000 or Windows XP computer to run an ArmA dedicated server. We recommend using 2 GHz machine, with 512 MB RAM and a 1 Mbps upload network bandwidth.

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. 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 official web site http://www.armedassault.com.

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.

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

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 in ArmAdirectory on each crash.

For the location of these files and where to send them to, see the Biki article on Crash Files.

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

There are also some parameters that can be used to fine-tune network performance. You can add following entries to arma.cfg (the main Armed Assault configuration file)

MaxMsgSend=<limit>; 
   Maximum number of messages that can be sent in one simulation cycle.
   Increasing this value can decrease lag on high upload bandwidth servers.
   Default: 128

MaxSizeGuaranteed=<limit>; 
   Maximum size of guaranteed packet in bytes (without headers). Small messages
   are packed to larger frames. Guaranteed messages are used for non-repetitive
   events like shooting.
   Default: 512

MaxSizeNonguaranteed=<limit>; 
   Maximum size of non-guaranteed packet in bytes (without headers).
   Non-guaranteed messages are used  for repetitive updates like soldier or
   vehicle position. Increasing this value may improve bandwidth requirement, 
   but it may increase lag.
   Default: 256

MinBandwidth=<bottom_limit>;
   Bandwidth the server is guaranteed to have (in bps). This value helps server
   to estimate bandwidth available. Increasing it to too optimistic values can
   increase lag and CPU load, as too many messages will be sent but discarded.
   Default: 131072

MaxBandwidth=<top_limit>;
   Bandwidth the server is guaranteed to never have. This value helps the server
   to estimate bandwidth available.

MinErrorToSend=<limit>;
   Minimal error to send updates across network. Using a smaller value can make
   units  observed by binoculars or sniper rifle to move smoother.
   Default: 0.01

MaxCustomFileSize=<size_in_bytes>;
   Users with custom face or custom sound larger than this size are kicked when
   trying to connect.
Note
The greatest level of optimization can be achieved by setting the MaxMsgSend
and MinBandwidth parameters. For a server with 1024 kbps we recommend the
following values:
   MaxMsgSend = 256;
   MinBandwidth = 768000;

While connected to the dedicated server, you can use the admin command #monitor to monitor server resource usage. (You have to be logged in as or voted as game admin to do this.) The server never runs at more than 50 fps. When running slower, it always uses all available CPU processing power to maintain the smoothest possible gameplay. When running at less than 15 fps, you can consider the server overloaded – the mission currently played is probably too complex for given server. If you see the server is not using bandwidth that it could use, you can try increasing values MaxMsgSend and MinBandwidth.

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

Support for Linux dedicated servers has been confirmed by Bohemia Interactive. It is under development but there's no fixed release date set yet.

Downloads

Armed Assault BETA 1.01.5099 dedicated server can be found here

Armed Assault BETA 1.02.5103 dedicated server can be found here

Armed Assault BETA 1.05.5136 dedicated server is included in the latest patch 1.05. You can find download mirrors here. Also it is available in separate archive here

See Also

Server Config File

Multiplayer Server Commands

ArmA Community Tools

Version Summary

  • 5095 - Fixed: Dedicated server crash
  • 5095 - Fixed: Random crashes in MP
  • 5097 - Fixed: Stealing gear from medics was possible
  • 5099 - Fixed: MP server crash (sometimes after JIP client disconnected)
  • 5099 - Fixed: Squad logo was not shown on all clients in MP
  • 5099 - Fixed: Dedicated server required OpenAL32.dll
  • 5099 - Fixed: AI are better planning the path over the bridge
  • 5099 - Fixed: False conflict reported for Handgun, Salute and SitDown actions for vehicles.

See also: ArmA:_Version_History