Armed Assault

From MonsterLANWiki

Jump to: navigation, search

Contents

Introduction

This article covers some of the aspects of the dedicated server for ArmA|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.

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, and apply the patch directly on the server.

The registry entry can be created by a registry file looking like this:

Windows Registry Editor Version 5.00

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

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)
-ranking=<filename>   <----path for game stats log (new in 1.07)


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 Multiplayer Server Commands|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.

Downloads

ArmA|Armed Assault ArmA 1.06.5152 dedicated server for the US version of the game ArmA: Combat Operations can be found here

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


Server Config File

This article deals with the server.cfg, the name means nothing, and can be called anything. The real name is determined by -config command line option when launching the dedicated server. This is a configuration file which you can use to configure various game server settings such as the difficulty level, how many votes are needed, and welcome messages. Please feel free to add more information .

Server Options

Parameter Description
passwordAdmin = "xyzxyz"; Password to protect admin access
password = "xyz"; Password required to connect to server
hostname="OFP Server # 1"; Server Hostname, the one visible in the game browser
maxPlayers = 10; The maximum number of players that can connect to server ( seems to be out by 1 in the demo at least )
motd[]= {"Welcome to OFP server.","Hosted by Flashpoint Webworlds.",}; Welcome message, two lines "," means 'new line'


Server Behavior Description
voteThreshold=0.33; When one third agrees, this is enough to confirm a vote
voteMissionPlayers=3; Start voting for missions when 3 players connect
reportingIP="<>"; Private server - no reporting ("armedass.master.gamespy.com" to report to the master server)
checkfiles[]={"HWTL\dta\data3d.pbo","dta\data3d.pbo"}; List of files to check for integrity.
kickduplicate=1; Do not allow duplicate game ids
equalModRequired=1; Require equal mod as the server



ArmA Only Parameters Description
verifySignatures=1; Enables or disables the ArmA: Addon Signatures|signature verification for addons. Default = 0
disableVoN=1; Enables or disables the Voice over Net. Default = 0
persistent=1; Enables or disables the persistent battlefield. Default 0.
logFile = "server_console.log"; Enables output of dedicated server console into textfile. Default location of log is same as crash dumps and other logs. (Local settings)
doubleIdDetected = "command";see ArmA: Server Side Scripting|Server Side Scripting
onUserConnected = "command";
onUserDisconnected = "command";
onHackedData = "command";
onDifferentData = "command";
onDifferentData = "command";
onUnsignedData = "command";
regularCheck = "command";

Enabling the persistency option will make missions that have either base or instant respawn keep on running after all players have disconnected. The other respawn types will not make a mission persistent. The kind of respawn a certain mission uses is set in its Description.ext.

Example Configuration File

// comments are written with "//" in front of them.
// server.cfg
passwordAdmin = "xyzxyz"; // password to protect admin access
password = "xyz"; // password required to connect to server
hostname="OFP Server # 1";
motd[]= {"Welcome to OFP server.","Hosted by Flashpoint Webworlds.",}; // Welcome message, two lines "," means 'new line'
motdInterval=1; // if motd has multiple lines, how fast to show these in succession (default is 5 seconds).
voteThreshold=0.33; // when one third agrees, this is enough to confirm a vote
reportingIP=""; // private server - no reporting ("armedass.master.gamespy.com" to report to the master server)
voteMissionPlayers=3; // start voting for missions when 3 players connect
checkfiles[]={"HWTL\dta\data3d.pbo","dta\data3d.pbo"}; //list of files to check for identity
kickduplicate=1; // do not allow duplicate id 
equalModRequired=1; // require equal mod
class Missions {};


ArmA Demo Configuration

When running the ArmA: Demo in server mode, there are 3 multi player missions included. The following example is for the missions included with the demo only.

class Missions
{
 class MPCTF_01   // name for the mission, can be anything
 {
      template = M02CaptureTheFlag.SaraLite;
      cadetMode = 1;   // difficulty 0=veteran 1=cadet (not only AI, but radar, map etc)
 };
 class MPCOOP_01   // name for the mission, can be anything
 {
      template = M01Cooperative.SaraLite;
      cadetMode = 1;   // difficulty 0=veteran 1=cadet (not only AI, but radar, map etc)
 };
 class MPCTI_01   // name for the mission, can be anything
 {
      template = M03ConquerTheIsland.SaraLite;
      cadetMode = 1;   // difficulty 0=veteran 1=cadet (not only AI, but radar, map etc)
 };
};


Multiplayer Server Commands

The following commands are available to you once you have connected to a server. You can access the command line by pressing the / key, which allows you to type any of the following commands in. You have to include the # before the command.


Administration Commands

#login password             Log in as the admin
#logout                     Admin log out
#vote admin (name or ID)    Users can vote an admin to control the server
#mission filename           Select mission with known name
#missions                   Select mission
#restart                    Restart mission
#reassign                   Start over and reassign roles
#kick (name or ID)          Allows you to kick the nickname
#shutdown                   Shuts down the server
#init                       Reload server config file loaded by –config option
#monitor (interval in sec)  Shows performance information of the server. Interval 0 means to stop monitoring
#debug (command) (interval) Commands can be checkfile, console, totalsent, usersent, userinfo, userqueue
                           

User Commands

#vote missions              Users can vote for the mission selection
#vote mission (name)        Users can vote on a particular mission (named) to play
#vote kick (name/ID)        Users can vote to kick off an individual
#vote restart               Vote to restart the mission
#vote reassign              Vote to reassign
#userlist                   Displays the list of users on the server (use pgup to scroll up)


Reference

This has been copied from the Bohemia Interactive Wiki

Personal tools