• Create Account

### Tutorial info

• Added on: May 26 2013 02:11 PM
• Date Updated: Jul 21 2014 11:38 PM
• Views: 20492

1 Ratings

# How To Setup An Arma2 Combined Ops Server (Using SteamCMD)

A quick guide on how to setup and arma2 dedicated server for windows.

Posted by DomUk on May 26 2013 02:11 PM
Tutorial-Arma

The Server Files
There is two ways to get the dedicated server files on your machine;

@echo off
echo ----------------------------------------
echo ----------------------------------------
pause
You will need to download and run steamCMD which can be found at the link - SteamCMD
Run the application once then you need to create a batch file in the same folder as the SteamCMD.exe. This can be called anything you like (downloadarma2co.bat) simply paste the code above in to the file and replace STEAMUSERNAME and STEAMPASSWORD with your own.

Server Setup
Once you have got the server files you will need to open the arma2 folder, and copy the "addons" folder into your arma2oa folder. Its about 8GB of core files required for any arma2oa server to work as most operation arrowhead servers use arma2 content

The next step is to setup your server config, this allows you to set the name, server password, admin password ect which will customize your server. Below is an example of a server.cfg that you can use, if you want to know more about what each option is please read this post here - Arma2OA Server.cfg Help

You should create a folder in the arma2oa folder called "defaultserver" and then save your config as server.cfg. You can copy and paste the example below in to this file.

server.cfg

//
// 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
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[] = {
"", "",
"Two empty lines above for increasing interval",
"Welcome to our server",
"", "",
"http://www.example.com",
"One more empty line below for increasing interval",
""
};
motdInterval = 5;					// Time interval (in seconds) between each message

// JOINING RULES
checkfiles[] = {};					// Outdated.
maxPlayers = 64;					// 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 = 2;					// Verifies .pbos against .bisign files. Valid values 0 (disabled), 1 (prefer v2 sigs but accept v1 too) and 2 (only v2 sigs are allowed).
equalModRequired = 0;					// Outdated. If set to 1, player has to use exactly the same -mod= startup parameter as the server.
//requiredBuild = 12345					// Require clients joining to have at least build 12345 of game, preventing obsolete clients to connect

// Steam Ports
steamPort = 8766;                                       // Steam Port - Default 8766 - Must Be Unique
steamQueryPort = 27016;                                 // Steam Query Port - Default 27016 - Must Be Unique

// 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;					// since 1.62.95417 supports range 1-20 //since 1.63.x will supports range 1-30 //8kHz is 0-10, 16kHz is 11-20, 32kHz is 21-30
persistent = 1;						// If 1, missions still run on even after the last player disconnected.
timeStampFormat = "short";				// Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default),"short","full".
BattlEye = 1;                                           // Server to use BattlEye system

// SCRIPTING ISSUES
onUserConnected = "";					//
onUserDisconnected = "";				//
doubleIdDetected = "";					//
//regularCheck = "{}";                                  //  Server checks files from time to time by hashing them and comparing the hash to the hash values of the clients. Causes heavy I/O, uncomment to disable feature - READ WARNING ABOVE - makes cheating possible!

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

// MISSIONS CYCLE (see below)
class Missions {};


Mission Cycle
At the bottom of your server.cfg you have a section where you can pre-load your missions for when the server starts up. You can create or download missions from the internet and then put them in the "MPMissions" folder in the arma2oa folder. You then take the name of the mission file you just placed in the folder and put it in the mission cycle section. Below is an example

" then you would put in the mission cycle section
class Missions
{
class Wasteland
{
template="Wasteland_United_Chernarus.Chernarus";
difficulty="Regular";
};
};
Take note that you do not put the ".pbo" on the end of the map template. The .Chernarus at the end of the map name tells the server what map the server is going to use, the first part is just the name of the mission you are going to play.

Make sure that you change this in server.cfg if you copy pasted the example one, because if its left blank on server startup people will be able to vote for a map of their choice, rather than the one you want.

Server Startup Command Line
To start your server to test if it works you should create a batch file (startserver.bat) in the root (top folder) of the arma2oa directory. You will need to use something similar to below.

• Arma2OA Non-Beta Server
arma2oaserver.exe -ip=xxx.xxx.xxx.xxx -port=2302 -name=defaultserver -profiles=defaultserver -cfg=defaultserver\basic.cfg -config=defaultserver\server.cfg
• Arma2OA Beta Server
Expansion\beta\arma2oaserver.exe -ip=xxx.xxx.xxx.xxx -port=2302 -beta=Expansion\beta;Expansion\beta\Expansion -name=defaultserver -profiles=defaultserver -cfg=defaultserver\basic.cfg -config=defaultserver\server.cfg -mod=expansion;expansion\beta;expansion\beta\expansion;

Don't forget to put your own IP and PORT in place of the XXX in the example.

Setting Up Arma2OA Beta
Lots of servers are using arma2 beta because of the bug fixes and benefits it brings to the game.
Coming Soon

Setting Up Battleye
After running your server once, turn it off and then find your defaultserver folder, there should be a battleye folder located in this folder. You need to open the config_xxx.cfg that has been created, you should see on the first line is rcon PASSWORDHERE. You can either use this password or change it, this password can be used on tools such as BEC, Battlewarden or GOTCHA out of game to help manage admin, hackers and logs.