ARMA 2 Dedicated Server Guide – Config Files, How to Create

ARMA 2, just like Operation Flashpoint, is a tactical FPS developed by Bohemia Interactive. Both the series are well known for their realistic gameplay. The game was released last year and an expansion pack named “Operation Arrowhead” has been released recently. Our ARMA 2 Dedicated Server Guide will aid you in setting up a dedicated server for the game.

Minimal Requirements
Before you proceed, you should check that your machine should meet the following minimum requirements to run an ARMA 2 server efficiently.

  • 2 GHz machine with 512MB RAM
  • 1 Mbps upload speed

Step #1
Open Steam and select the library dropdown link called “Tools”.

Step #2
Scroll down until you find “ARMA 2: Operation Arrowhead-Dedicated Server”.

Step #3 – Server Configuration
You are going to need some config files for your server.

ARMA 2 Server CFG
Save it as “server.cfg” for reference. Here is a sample config you can use for the dedicated server:

//
// server.cfg
//
// comments are written with “//” in front of them.
// GLOBAL SETTINGS
hostname = “Fun and Test Server”; // The name of the server that shall be displayed in the public server list
password = “”; // Password for joining, eg connecting to the server
passwordAdmin = “xyz”; // Password to become server admin. When you’re in ARMA MP and connected to the server, type ‘#login xyz’
reportingIP = “armedass.master.gamespy.com”; // This is the default setting. If you change this, your server
//reportingIP = arma2pc.master.gamespy.com”; // In case of ARMA2 might not turn up in the public list. Leave empty for private servers
//reportingIP = “arma2oapc.master.gamespy.com”; // For Operation Arrowhead
logFile = “server_console.log”; // Tells ARMA-server where the logfile should go and what it should be called
// 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[] = {
“”, “”, “”,
“Welcome to the Testing”,
“Server Settings: Veteran, Crosshair = off, 3rdPerson = off, MapInfo = off, VoN = off, CustomFiles = 200KByte, Voting = 33%, PersistentMaps = on”,
“We are looking for fun – Join us Now !”,
“http://www.segmentnext.org/”,
“”,
“You should use mumble, its better than”,
“TS2 Server for recruits: mypage.org:8767”
};
motdInterval = 5; // Time interval (in seconds) between each message
// JOINING RULES
checkfiles[] = {}; // Outdated.
maxPlayers = 30; // Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player.
kickDuplicate = 1; // Each ARMA version has its own ID. If kickDuplicate is set to 1, a player will be kicked when he joins a server where another player with the same ID is playing.
verifySignatures = 1; // Verifies the players files by checking them with the .bisign signatures. Works properly from 1.08 on
equalModRequired = 0; // Outdated. If set to 1, player has to use exactly the same -mod= startup parameter as the server.
// 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
// INGAME SETTINGS
disableVoN = 1; // If set to 1, Voice over Net will not be available
vonCodecQuality = 0; // Quality from 1 to 10
persistent = 1; // If 1, missions still run on even after the last player disconnected.
// SCRIPTING ISSUES
onUserConnected = “”; // self-explaining
onUserDisconnected = “”;
doubleIdDetected = “”;
regularCheck = “”;
// some ARMA specific stuff – signature verification
onUnsignedData = “kick (_this select 0)”; // unsigned data detected
onHackedData = “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
BattlEye = 1; //Server to use BattlEye system
// MISSIONS CYCLE (see below)
class Missions {}

CFG
Save it as “arma2.cfg” for reference. These options are created by default.

language=”English”;
adapter=-1;
3D_Performance=1.000000;
Resolution_W=800;
Resolution_H=600;
Resolution_Bpp=32;
// These options are important for performance tuning
MinBandwidth = 320000; //* 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 = 10000000000; //Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available.
MaxMsgSend = 256; //* 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 = 1024; //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 = 64; //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
MinErrorToSend = 0.005; //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 = 1600000; //Users with custom face or custom sound larger than this size are kicked when trying to connect.

Default ARMA 2 Profile
Save it as “default.arma2profile.cfg” for reference.

class Difficulties
{
class regular // Displayed as “Cadet”
{
class Flags
{
// These are the settings. Set a value to 0 to disable the feature, or set it to 1 to enable it.
Armor=1; // Gives you improved body armor, tank armor etc
FriendlyTag=1; // Displays information on friendly units. ONLY WORKS WITH ‘Weaponcursor=0’, eg crosshair on.
EnemyTag=1; // Displays information on enemy units
HUD=1; // Shows you leaders location and your position in formation
HUDPerm=1; // Shows HUD permanently
HUDWp=1; // Shows Waypoints right after they’re ordered to you
HUDWpPerm=1; // Shows Waypoints permanently
WeaponCursor=1; // Shows the crosshair for your weapon
AutoAim=1; // Enables auto aim when you’re not looking through your weapon’s scope. Also works with crosshair off
AutoGuideAT=1; // AT missiles will be automatically guided to their target. If 0, player has to lock onto the target.
3rdPersonView=1; // This turns 3rd(third) person view and group leader view on or off. Please never talk of this as “3D view” – ARMA is not an arcade game!
ClockIndicator=1; // Displays the clock indicator on the left of your screen when giving/receiving orders like “At 11 o’clock, eemy man at 200 meters”
Map=1; // Shows symbols for all objects known to your group on the map. This will NOT disable the map itself !
Tracers=1; // Displays tracers even of small arms that in real life would not have tracers
AutoSpot=1; // If you’re close enough to an enemy, you’ll report it without right-clicking
UltraAI=0; // Enables some kind of super AI that hears and sses more and has better tactics. This is for both friendly and enemy sides.
UnlimitedSaves=1; // Enables saing permanently. For single player missions. But you then can only load the last save state.
DeathMessages=1; // (1.09 and later) Displays “XXX was killed by YYY” messages in multiplayer
NetStats=1; // (1.09 and later) Enables the scoreboard functionality in MP
VonID=1; // (1.09 and later) When using VoN, display the name of the player speaking.
};
// These are the skills. Value may range from 0.000000 to 1.000000
skillFriendly=0.350000; // Friendly tactics skill
skillEnemy=0.350000; // Enemy tactics skill
precisionFriendly=0.350000; // Friendly shooting precision
precisionEnemy=0.350000; // Enemy shooting precision
};
class veteran // Most of the options from above are not available, because they’re off by default.
{
// Also soldiers/vehicles die sooner upon damage (have no armor or body armor).
class Flags
{
HUD=1; // Shows you leaders location and your position in formation
HUDWp=1; // Shows Waypoints right after they’re ordered to you
HUDWpPerm=0; // Shows Waypoints permanently
WeaponCursor=1; // Shows the crosshair for your weapon
ClockIndicator=1; // Displays the clock indicator on the left of your screen when giving/receiving orders like “At 11 o’clock, eemy man at 200 meters”
3rdPersonView=1; // This turns 3rd(third) person view and group leader view on or off. Please never talk of this as “3D view” – ARMA is not an arcade game !
Tracers=1; // Displays tracers even of small arms that in real life would not have tracers
UltraAI=0; // Enables some kind of super AI that hears and sses more and has better tactics. This is for both friendly and enemy sides.
DeathMessages=1; // (1.09 and later) Displays “XXX was killed by YYY” messages in multiplayer
NetStats=1; // (1.09 and later) Enables the scoreboard functionality in MP
VonID=0; // (1.09 and later) When using VoN, display the name of the player speaking.
};
// These are the skills. Value may range from 0.000000 to 1.000000
skillFriendly=0.850000;
skillEnemy=0.850000;
precisionFriendly=0.850000;
precisionEnemy=0.850000;
};
};

Do note that the first 2 config files should be placed in “\ARMA2\default” folder. Third config should go here:

ARMA2\default\users\default\

You can name these files anyway, you want.

Step #4 – Port Forwarding
Make sure following UDP ports are opened:

  • 2302
  • 2303
  • 2305

Step #5 – How to Start Server
To start the server, you will need a command line that should be placed in “ARMA2Server.exe”. Your command line should look something like this:

c:\ARMA2\arma2oaserver.exe” -port=2302 -name=default -config=default\server.cfg -cfg=default\ARMA2.cfg -profiles=default

You cannot specify any IP in the command line as a command like “-IP” is not supported here.

Step #6
Launch ARMA 2 Operation Arrowhead and click on “Multiplayer”.

Step #7
Click on host new session or new. Host new session will be in the Server Browser or as an alternative new will be below the server browser where the filter is.

Step #8
When the session options load, select your options. You can change your hostname to whatever you want, you can change the password and the number of players allowed as well. However, leave your port the same and do not edit it.

Step #9
Once you have clicked “OK” you can select the mission and click “OK” on that tab as well. This will take you to the lobby.

Step #10
In the lobby, you can invite friends and set the parameters for your mission: disable A.I, set day-night cycle, etc.

Step #11
Click continue/play and your mission will load.

Step #12
Have fun playing ARMA 2: Operation Arrowhead with your friends.

Being the managing editor, Ali manages a lot of the editorial duties as well as publishing stories for you. A long-time gamer, his favorite game series is the Gears of War but when he's not ...