Jump to content
terox

Tutorial: Installation & Configuration of ArmA3 Dedicated Server

Recommended Posts

Thank.

I have tried this already and to no avail.

It seems Gametracker wants a Ip, query port and join port.

This probably is for true dedicated servers no?

Share this post


Link to post
Share on other sites
Thank.

I have tried this already and to no avail.

It seems Gametracker wants a Ip, query port and join port.

This probably is for true dedicated servers no?

I don't really know. I would imagine they just read from the query ports like gamespy

try the following first, if you havent already

1) Open the required ports (As per the first post)

2) Try disabling your router and windows firewall temporarily to see if that has any effect.

If you are still stuck, have a read through this

http://www.nch.com.au/kb/10046.html

Edited by Terox

Share this post


Link to post
Share on other sites
I don't really know. I would imagine they just read from the query ports like gamespy

try the following first, if you havent already

1) Open the required ports (As per the first post)

2) Try disabling your router and windows firewall temporarily to see if that has any effect.

If you are still stuck, have a read through this

http://www.nch.com.au/kb/10046.html

Sweet. Thanks for the quick reply. Will check this out and report back.

Share this post


Link to post
Share on other sites
Does anyone know how to get the restart.bat to work with multiple servers running on the one machine?

Cheers

Sean

Sean-

What I have done for this (and use for my ArmA 2 based servers as well) is within my ArmA 3\ directory I have ArmA 3\Cfg\1, ArmA 3\Cfg\2, etc. In each of those Instance Number directories I have copied the arma3.exe and renamed them to arma3_1.exe, arma3_2.exe, etc and put them in the corresponding directories. In addition to the exe files, in each of the instance number directories you want to have unique basic.cfg and config.cfg (name them whatever you want) for each server instance.

I use a batch file for each of those that I launch from the root ArmA 3 directory.

Also note the command line switches for -config -cfg and -profiles. Name the instance directory in those as well so all of your logs, etc are placed in the instance directories for the corresponding server.

This is what my .bat files look like:

@echo off
:start
C:\Windows\System32\tasklist /FI "IMAGENAME eq arma3_1.exe" 2>NUL | C:\Windows\System32\find /I /N "arma3_1.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
echo Server monitored is not running, will be started now 
@start /abovenormal "" /wait "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\Cfg\1\arma3_1.exe" -server -mod=@Arma2NET -name=Server -config=cfg\1\Wasteland.cfg -cfg=cfg\1\Arma3Alpha.cfg -profiles=cfg\1 -world=Stratis -port=2302 -nosplash
echo Server started succesfully
goto started
:loop
cls
echo Server is already running, running monitoring loop
:started
C:\Windows\System32\timeout /t 10
C:\Windows\System32\tasklist /FI "IMAGENAME eq arma3_1.exe" 2>NUL | C:\Windows\System32\find /I /N "arma3_1.exe">NUL
if "%ERRORLEVEL%"=="0" goto loop
goto start

Share this post


Link to post
Share on other sites

Hey guys,

I got a server running on my root server.

When I searh for the server ingame, it shows me a 2500 Ping...when I connect to it I have a 16ms ping and everything plays perfect, any clue (maybe a config issue) why the server bowser shows such a high ping?

Share this post


Link to post
Share on other sites

Hi, I'm looking for the code to run a dedicated Escape from Stratis, but I'm not sure about the code for the mission cycle. I have the wasteland cfg code:

//MISSIONS CYCLE (see below)
class Missions {
class Wasteland_Chernarus {
	template="404Wasteland_ArmA3.Stratis";
	difficulty="Regular";
};
};

but I'd like to know the one for the coop escape from stratis one... Because it's not in the MPMissions folder I'm not sure what I have to fill in and google isn't helping either.

Share this post


Link to post
Share on other sites

It depends on how many maps you have installed on your server.

For example:

class Mission1
...
class Mission2
...
class Mission3
.
.
.
class Mission10
...
class Mission11
...
class Mission12
   {
   template = "Co06-The_Escape.Stratis";
   difficulty="regular";
   };

You just have to add what the file is called without the extension.

Share this post


Link to post
Share on other sites

16:49:04 Dedicated host created.

16:49:06 BattlEye initialization failed

Share this post


Link to post
Share on other sites
16:49:04 Dedicated host created.

16:49:06 BattlEye initialization failed

There is no anti-cheat so disable battleye in the cfg...

Share this post


Link to post
Share on other sites

I just cannot get 2 Arma 3 servers to work. I've been through this thread with a fine toothed comb a number of times in the last week, but am completely at a loss now.

The first server starts and runs just fine. People join and play reliably. The server that starts second is the problem. Players can't join it. They get as far as the joining server screen but then no further. The server console says they are connecting, but never actually finishes them connecting. Attempts to login in as admin are ignored.

It doesn't matter which of the two servers start first, it's the second one that's unjoinable.

Any ideas?

Thanks

Tanky -Paul-

Share this post


Link to post
Share on other sites
I just cannot get 2 Arma 3 servers to work. I've been through this thread with a fine toothed comb a number of times in the last week, but am completely at a loss now.

The first server starts and runs just fine. People join and play reliably. The server that starts second is the problem. Players can't join it. They get as far as the joining server screen but then no further. The server console says they are connecting, but never actually finishes them connecting. Attempts to login in as admin are ignored.

It doesn't matter which of the two servers start first, it's the second one that's unjoinable.

Any ideas?

Thanks

Tanky -Paul-

do you have any rpt entries for those attempting to login and failing to do so

Typical errors that folks forget, tend to overlook or cause are

Each server needs to be run in a different directory, for example

c:\Program Files (x86)\Steam\SteamApps\common\Arma3\
c:\Program Files (x86)\Steam\SteamApps\common\ArmA3_Dev1\
c:\Program Files (x86)\Steam\SteamApps\common\ArmA3_Dev2\

Dev_1 and Dev_2 are copies of the root A3 install

each one of these installs needs to have the

steam_appid.txt file in it

the content of that file is 1 line of code, which is

107410

and each server instance needs to be running on a different port

eg

server 1: 3202

server 2: 3302

server 3: 3402

each server needs inbound UDP firewall rules for the

port Number, (portnumber +1),+2,+3

Make sure that the contents of the various config files are correct, no typos etc

and use a -profile switch for each server, which you then store the config files in

Other things you can do is

rename the arm3.exe in the second, third servers to something else

For the following commandline params

"-profiles=d:\Games\ArmA3\A3_Test2" -config=d:\Games\ArmA3\A3_Test2\test_Vanilla.cfg -nosound -nosplash  -port=3202 -netlog 

you would have the following folder/file structure from d:\Games\ArmA3\A3_Test2

*** Using firedeamon ***

\Users\SYSTEM\Arma3Alpha.cfg
\Users\SYSTEM\SYSTEM.Arma3AlphaProfile
\Users\SYSTEM\SYSTEM.vars.Arma3AlphaProfile
d:\Games\ArmA3\A3_test2\Test_Vanilla.cfg

or normal user admninistrator

\Users\ADMINISTRATOR\Arma3Alpha.cfg
\Users\ADMINISTRATOR\ADMINISTRATOR.Arma3AlphaProfile
\Users\ADMINISTRATOR\ADMINISTRATOR.vars.Arma3AlphaProfile
Test_Vanilla.cfg

Edited by Terox

Share this post


Link to post
Share on other sites

So with the changes to Stable and now we cannot run multi server's per box with the -server flag - doesn't this thread need a note on the first page?

Problem being, second server users get stuck on loading

Cheers

Sean

Share this post


Link to post
Share on other sites
do you have any rpt entries for those attempting to login and failing to do so

Typical errors that folks forget, tend to overlook or cause are

Each server needs to be run in a different directory, for example

c:\Program Files (x86)\Steam\SteamApps\common\Arma3\
c:\Program Files (x86)\Steam\SteamApps\common\ArmA3_Dev1\
c:\Program Files (x86)\Steam\SteamApps\common\ArmA3_Dev2\

Dev_1 and Dev_2 are copies of the root A3 install

each one of these installs needs to have the

steam_appid.txt file in it

the content of that file is 1 line of code, which is

107410

and each server instance needs to be running on a different port

eg

server 1: 3202

server 2: 3302

server 3: 3402

each server needs inbound UDP firewall rules for the

port Number, (portnumber +1),+2,+3

Make sure that the contents of the various config files are correct, no typos etc

and use a -profile switch for each server, which you then store the config files in

Other things you can do is

rename the arm3.exe in the second, third servers to something else

For the following commandline params

"-profiles=d:\Games\ArmA3\A3_Test2" -config=d:\Games\ArmA3\A3_Test2\test_Vanilla.cfg -nosound -nosplash  -port=3202 -netlog 

you would have the following folder/file structure from d:\Games\ArmA3\A3_Test2

*** Using firedeamon ***

\Users\SYSTEM\Arma3Alpha.cfg
\Users\SYSTEM\SYSTEM.Arma3AlphaProfile
\Users\SYSTEM\SYSTEM.vars.Arma3AlphaProfile
d:\Games\ArmA3\A3_test2\Test_Vanilla.cfg

or normal user admninistrator

\Users\ADMINISTRATOR\Arma3Alpha.cfg
\Users\ADMINISTRATOR\ADMINISTRATOR.Arma3AlphaProfile
\Users\ADMINISTRATOR\ADMINISTRATOR.vars.Arma3AlphaProfile
Test_Vanilla.cfg

Anyone know if this really works?some try it?

I can create multiple servers whith this?

Tnx.

BYtes!!!

Share this post


Link to post
Share on other sites

ARMA 3 Alpha simply restricts you running multiple game servers on 1 system, so just tuning some configuration files won't do the trick unfortunately.

After quite some effort we managed to remain offering ARMA 3 Alpha, though looking forward to the patch which will remove this limitation :)

Share this post


Link to post
Share on other sites
So with the changes to Stable and now we cannot run multi server's per box with the -server flag - doesn't this thread need a note on the first page?

Problem being, second server users get stuck on loading

Cheers

Sean

Good point, I'll update the 1st post

Share this post


Link to post
Share on other sites
ARMA 3 Alpha simply restricts you running multiple game servers on 1 system, so just tuning some configuration files won't do the trick unfortunately.

After quite some effort we managed to remain offering ARMA 3 Alpha, though looking forward to the patch which will remove this limitation :)

Nice contribution to this thread right here :yay:

Share this post


Link to post
Share on other sites
Nice contribution to this thread right here :yay:

Are you suggesting he's advertising? Given that he's posted the same thing in 3 different threads?

Share this post


Link to post
Share on other sites

Hi all,

When running 2 servers on the same machine, how can i keep the MP mission folders apart ?

Lets say i would like to run 1 with only Invade&annex, and another with only wasteland, and then a third that contains only my training missions, without the risk of a restart and someone starting the wrong mission type ?

Cheers !

Share this post


Link to post
Share on other sites
Hi all,

When running 2 servers on the same machine, how can i keep the MP mission folders apart ?

Lets say i would like to run 1 with only Invade&annex, and another with only wasteland, and then a third that contains only my training missions, without the risk of a restart and someone starting the wrong mission type ?

Cheers !

With "voteMissionPlayers = 0" the mission set by defauilt will restart automatically.

Share this post


Link to post
Share on other sites
With "voteMissionPlayers = 0" the mission set by defauilt will restart automatically.

I am going to take you through a mini tutorial which i can then use later when I update the initial post

Providing you have the hard drive space, do the following

1) create 3 additional folder on your server

For ease of argument, lets call the "4" installs

  • D:\Games\A3_Master (Your Master copy that is never used and can be updated via steamCmd.exe without interruption to your game services)
  • D:\Games\A3_ServerNo1 (Invade & Annex server) Open ports UDP 3200-3205 for this server
  • D:\Games\A3_ServerNo2 (Wastelands Server) Open ports UDP 3220-3225 for this server
  • D:\Games\A3_ServerTest (Your training \ test server) Open ports UDP 3240-3245 for this server

A3_Master

2) Create a .cmd file with the following code in it

(Run this whenever you want to update your steam install, it will do it automatically)

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION

      :: DEFINE the following variables where applicable to your install

SET A3Path=D:\Games\A3Master
SET STEAMLOGIN=mylogin mypassword
SET A3BRANCH="107410 -beta development"
	:: For stable use "107410 -beta"
	:: For Dev use "107410 -beta development"

SET A3Path=D:\Games\A3Master
       SET STEAMPATH=***wherever Steam Is ***
               :: eg. C:\Apps\Steam  (NB no backslash at the end)

:: _________________________________________________________

echo.
echo You are about to update ArmA3
echo     Dir: %A3Path%
echo     Branch: %A3BRANCH%
echo.
echo Key "ENTER" yo procede
pause
%STEAMPATH%\steamcmd.exe +login %STEAMLOGIN% +force_install_dir %A3Path% +app_update %A3BRANCH% validate +quit
echo .
echo Your ArmA3 is now up to date
echo key "ENTER" to exit
pause

AND THEN RUN THE .CMD FILE

This will then update the master install to the latest DEV /Beta prior to you copying it to the other "Server Installs"


2) copy the following files and or folders from your Master folder to your No.1, No.2 and test server folders

Addons\

DirectX\

Dll\

Dta\

Keys\

Missions\

MPMissions\

ijl15.dll

msvcr100.dll

PhysX3_x86.dll

PhysX3Common_x86.dll

PhysX3Cooking_x86.dll

PhysX3Gpu_x86.dll

Steam.dll

steam_api.dll

steamclient.dll

tier0_s.dll

unicows.dll

vstdlib_s.dll

arma3server.exe

steam_appid.txt


A3_SERVERNo1

4) In the commandline (Firedeamon, desktop shortcut, TCAdmin) that starts this "Invade&Annex" server state the following command line arguments

-port=2302 "-profiles=d:\Games\A3ServerNo1" -config=Config_Invade.cfg -world=empty

5) Create a file named Config_Invade.cfg using notepad in your the No.1 server root directory

Copy the following into that file

//
// server.cfg
//
// comments are written with "//" in front of them.

// STEAM
steamport=2300;
steamqueryport=2301;

// GLOBAL SETTINGS
hostname 		= "My Invade & Annex Server:    My Teamspeak address";		// The name of the server that shall be displayed in the public server list
//password 		= "ServerAccessPassword";				                        // Password for joining, eg connecting to the server
passwordAdmin 		= "AdminPassword";				                        // Password to become server admin. When you're in Arma MP and connected to the server, type '#login xyz'
reportingIP 		= "arma3pc.master.gamespy.com";  	                                // This is the default setting. If you change this, your server might not turn up in the public list. Leave empty for private servers
logFile 		= "No1_Server.log";
verifySignatures 	= 2;

// 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[] = {
       "",
       "",
"",
""__________     SYSTEM MESSAGES __________",
"Welcome to My Annex&Invade Server",
"IMPORTANT   Verify Signatures is enabled",
"",
"TS3 Server:     teamspeak.mydomain.com",
"Web:            www.mywebsite.com",
"TS3 Server:     teamspeak.zeus-community.net",	"",
"__________     END OF MESSAGE __________",
""
};
motdInterval = 5;					        // Time interval (in seconds) between each message



// JOINING RULES
maxPlayers 	 	        = 40;			        // Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player.
// 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
voteMissionPlayers        = 0;

// INGAME SETTINGS
disableVoN 		= 0;					// If set to 1, Voice over Net will not be available
vonCodecQuality 	= 8;					// Quality from 1 to 10
persistent 		= 1;					// If 1, missions still run on even after the last player disconnected.

// MISSIONS CYCLE (see below)
class Missions
{
         class InvadeAnnex
        {
             template="co_xx_invade&Annex.Stratis";
             difficulty="Regular";
         };
};

6) Add the required mission to this server's MpMissions folder, in this case (co_xx_invade&Annex.Stratis.pbo ) and make sure it matches with the mission name you placed in the above .cfg file

7) Now run the server

  1. Give it 30 seconds or so to start up and report to Gamespy
  2. Set your Gamespy browser filter to look for your server
  3. Then Check Gamespy to make sure you can see your server listing

It will have created a "USER" folder in the No1.Server root directory

It will contain a sub folder named "Administrator" or "System" (depending on what application or method you used to start the server up with)

In that folder it will contain 3 files

  • ******.Arma3AlphaProfile (This contains the difficult settings for your server, edit them as you see fit)
  • ******.vars.Arma3AlphaProfile (Ignore this file, you can't do anything with it)
  • Arma3Alpha.cfg (this contains the bandwidth settings, edit this as you see fit)


8) Repeat the process for your other 2 servers, editing values, lines of code where applicable


A3_SERVERNo2

Command line params: -port=2322 "-profiles=d:\Games\A3ServerNo2" -config=Config_Wastelands.cfg -world=empty

Config_Wastelands.cfg

steamport=2320;
steamqueryport=2321;

Edit the rest of the config as you see fit, mission cycle etc

A3_SERVERTEST

Command line params: -port=2342 "-profiles=d:\Games\A3ServerTest" -config=Config_Test.cfg -world=empty

Config_Test.cfg

steamport=2340;
steamqueryport=2341;

Edit the rest of the config as you see fit, mission cycle etc


You should now now have

  1. A system to quickly update your master install
  2. 3 virtual servers,
  3. Each server should have it's required UDP ports open
  4. Each server now uses its own (-profile) MpMissions folders
  5. providing you have the system resources, all 3 servers can be run at the same time

Take note, to update the servers you can either

manually copy the master install files over after updating it

or write a simple .cmd file that robocopies to each install

Edited by Terox

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×