Jump to content
terox

Tutorial: Installation & Configuration of ArmA3 Dedicated Server

Recommended Posts

Just a heads up on a recent change.

If your server runs DEV version, only DEV version clleits will be able to connect

if your server runs Stable, only stable clients will be able to connect

Happy days

@ rundll.exe, did you manage to sort your issue out?

Share this post


Link to post
Share on other sites

Just fails to connect to my server when hosting off the same network, all other servers work fine. I'll try to open a wider range of ports but I doubt that's the issue.

Truth be told I'm just trying to setup a dedicated server so I have a way of testing multiplayer missions. Would it be possible to somehow run the server on my local network and not the internet, sort of how the in-game hosting tool lets you select between your LAN and the internet when creating a new game?

Share this post


Link to post
Share on other sites

When connecting to a server on the same internal network as your workstation, you have to connect to the internal IP of the server, not the public IP used with Static NAT or port forwarding. If you use the server browser in ArmA 3 to try to connect, it is attempting to use the Public IP of the server. You will need to click on the "Remote" button and specify the inside (Private) IP of your server and the port you are using. (Default port is 2302)

Share this post


Link to post
Share on other sites
Known Issues

DirectX

  • Windows Web Server 2008 - Error message: arma3.exe - Entry Point Not Found.The procedure entry point CreateDXGIFactory1 could not be located in the dynamic link library dxgi.dll.
    :icon_arrow:Reporting Post (Not Resolved)

This problem has been solved

Our server original operating system: Windows Server 2008 Enterprise (Simplified Chinese) SP1

Run steam and ArmA 3 Alpha occur same error message: ...CreateDXGIFactory1 could not be located in the dynamic link library dxgi.dll...

First, download and install directx_11_redist,the problem persists

Then upgrade Windows Server to SP2, still error... :cryy:

Last, download and install Windows6.0-KB971512-x86,the problem is solved!:yay:

For reference

Share this post


Link to post
Share on other sites
When connecting to a server on the same internal network as your workstation, you have to connect to the internal IP of the server, not the public IP used with Static NAT or port forwarding. If you use the server browser in ArmA 3 to try to connect, it is attempting to use the Public IP of the server. You will need to click on the "Remote" button and specify the inside (Private) IP of your server and the port you are using. (Default port is 2302)

Thanks for the reply.

I've tried connecting to the server via my laptop's local IP address, but my computer wasn't able to find any games. Just out of curiosity, isn't the arma 3 server hosting the game over the internet? I thought you could only connect to LAN games if the host were running the lobby over LAN as well.

Share this post


Link to post
Share on other sites
Thanks for the reply.

I've tried connecting to the server via my laptop's local IP address, but my computer wasn't able to find any games. Just out of curiosity, isn't the arma 3 server hosting the game over the internet? I thought you could only connect to LAN games if the host were running the lobby over LAN as well.

There is a good possibility that Windows Firewall (or whichever firewall program you may use) is blocking the ports needed to host the game. Here is a list of the ports that need to be open on the server:

Open these ports: UDP 2300-2400, 47624-47624, 28800-28900; TCP 2300-2400, 47624-47624 (in your router too)

Also be sure you config file contains this line: reportingIP="arma3pc.master.gamespy.com";

Share this post


Link to post
Share on other sites
You should really add the requiredBuild variable to the tutorial's server.cfg file.

How do you get the server do launch with dev? tried the -dev but wouldn't work

Share this post


Link to post
Share on other sites

So currently we cannot run a server if we have the d3d11.dll missing. Apart from waiting for a proper dedi server exe, any solutions ?

Share this post


Link to post
Share on other sites
Just wonder if any have fixed the issue with windows server2003 and the d3d11 error?
So currently we cannot run a server if we have the d3d11.dll missing. Apart from waiting for a proper dedi server exe, any solutions ?

No know Fix for Win Server 2003

following is for a not up to date version of 2008

:icon_arrow:Page 13, post by noseek

has a solution to this


@skydive Try reading the first post, specifically check out the sections

  • RUNNING MULTIPLE SERVERS ON SAME MACHINE
  • RUNNING CLIENT & SERVER ON SAME MACHINE


How do you get the server do launch with dev? tried the -dev but wouldn't work

To run the Development version

  1. Open Steam
  2. Select library
  3. Right click on ArmA3 & select properties
  4. Select Beta tab
  5. In the drop down box, select "development-Development Build"
  6. ArmA3 will then automatically update if it isnt running

To roll back to stable build

repeat the above procedure, but instead of opting in to the dev build, select the Opt out option

If in the future you want to revert to a stable build, simply undo the option and the ArmA3 version will roll back to the last stable


You should really add the requiredBuild variable to the tutorial's server.cfg file.

Impulse 9 has done some testing on this and states requiredbuild is not functioning as yet .

Since a late patch,

  • Only DEV clients can connect to a DEV server
  • Only Stable clients can connect to stable servers

The only issue that could arise is if there were mismatches with a server/client running the same version type branch but running different versions and the client can still connect to the server etc. Nobody has reported anything on this at the moment


The initial post has been updated to this point

All previously posted content that is important should now be in the first post

Changelog Version 1.04

  • Added "How to run development version
  • Updated troubleshooting: with fix for DirectX issue
  • Updated troubleshooting: with "How best to use this thread"

TROUBLE SHOOTING

Best way to use this thread

  1. For any initial query Read through this first post (It is updated with posted content every few days)
  2. If your query is not answered here, then follow the "Updated to this post" link at the top of this post and read on from there
  3. If that does not answer your query, then you may need to read through the entire thread, I may have missed something important. if I have let me know.
  4. If you still have no answer then post on the thread and we will try and get a solution
  5. You could also join the Server Admins Skype group channel, where you will get live help

IMPORTANT

To help others please post back any solutions you find. Not all server admins are highly trained IT Technicians (Including me)

Edited by Terox

Share this post


Link to post
Share on other sites

I started hosting the Arma 3 Alpha with Wasteland on my dedicated Win 2008 R2 Web server yesterday - and experience alot of crashes as everyone.

Now my question is, is there any kind of logging and/or error reporting? I have

logFile          = "server_wasteland.log";

in my config file, but it doesn't seem to log anything. Is there a config option to set the debug level or something like that to make it actually log something?

As I have some years of programming and hosting experience I might be able to wrap my head around armascript and would like to help, but to do that I have to actually find a spot to start.

Share this post


Link to post
Share on other sites
I started hosting the Arma 3 Alpha with Wasteland on my dedicated Win 2008 R2 Web server yesterday - and experience alot of crashes as everyone.

Now my question is, is there any kind of logging and/or error reporting? I have

logFile          = "server_wasteland.log";

in my config file, but it doesn't seem to log anything. Is there a config option to set the debug level or something like that to make it actually log something?

As I have some years of programming and hosting experience I might be able to wrap my head around armascript and would like to help, but to do that I have to actually find a spot to start.

In addition to naming a log file in the server config, you also need these lines in the server startup string so it knows where to put / look for the files.

-config=cfg\Wasteland.cfg -cfg=cfg\Arma3Alpha.cfg -profiles=cfg

cfg is the directory in my Arma 3 directory where I have the config files and where my .log and .RPT logs are written.

Share this post


Link to post
Share on other sites
In addition to naming a log file in the server config, you also need these lines in the server startup string so it knows where to put / look for the files.

-config=cfg\Wasteland.cfg -cfg=cfg\Arma3Alpha.cfg -profiles=cfg

cfg is the directory in my Arma 3 directory where I have the config files and where my .log and .RPT logs are written.

The config files were in my start script already, but will try it with the profiles. It seems like it puts the profiles in "My Documents/Arma 3 Alpha" when not specified, but there is no .log or .RPT either.

Will reply with results when the server is restarted next time.

Share this post


Link to post
Share on other sites
The config files were in my start script already, but will try it with the profiles. It seems like it puts the profiles in "My Documents/Arma 3 Alpha" when not specified, but there is no .log or .RPT either.

Will reply with results when the server is restarted next time.

The -profiles switch should fix it for you. This will tell it where to put server.log, (or whatever you named it) mpStatistics.log, arma3.rpt, arma3.bidmp and arma3.mdmp.

Share this post


Link to post
Share on other sites

You can have multiple server or server+client simply by creating steam_appid.txt with 107410 in it.

Save it into you arma3 folder. To run a server + client, you must start the server before your client.

Those commands in the server.cfg file are working fine

//Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default),"short","full"

timeStampFormat = "full";

//Enables output of dedicated server console into textfile. Default location of log is same as crash dumps and other logs

logFile = "server1_console.log"; // Tells ArmA-server where the logfile should go and what it should be called

and the server can start with a mission :

For example :

class Missions

{

class teetimeswarfareTBr1

{

template="teetimeswarfareTBr1.Stratis"; // omit the .pbo suffix

difficulty="regular"; // difficulty: recruit, regular, veteran or mercenary (see CfgDifficulties in the main game config)

};

};

Other thing : to have good server performances, don't use core 0.

Edited by Mariodu62

Share this post


Link to post
Share on other sites

Thanks a lot for this tutorial. Everything is working perfectly fine.

For those others facing problems on a Windows Server 2008 R2: installing the normal directx runtime through the webinstaller should fix the issues :)

Share this post


Link to post
Share on other sites

Greetings, couple of things I have done/noticed that I saw a lot of questions on: (EDIT: I just saw Marksmods post..yep!)

1. DX and missing dll's. I run Win2008 R2 and just went to the MS web installer for Directx, let it install and that was that.

2. In conjunction with running the .bat file to restart the server if it crashes, I now run a .bat file to kill the server every 5 hours as well because especially on wasteland it just starts to bog.

3. The switches for like cpucount and max mem I think are disregarded completely and I just took them out of the command line argument for the server start up. It still only uses 1 CPU for now which I hope they fix shortly since I run a dual quad core Zeon box. ;)

4. in addition to above if you try anything above -cpucount 4 arma.exe will crash upon start. I tried to be cute and put in 8 and found this out quickly.

All in all I am pretty pleased with the continuing development. There have been some nice FPS fixes just within the last couple of days and the netcode is solid.

Cheers

---------- Post added at 10:06 ---------- Previous post was at 09:30 ----------

Forgot to add this .bat file I run along with the .bat file for restarting server on crash.

:START

C:\Windows\System32\taskkill /im arma3.exe

C:\Windows\System32\timeout /t 18000

GOTO START

That will kill the arma server every 5 hours then of course the other bat file will restart it.

Share this post


Link to post
Share on other sites

Ok I managed to get the server working on another computer.

However, each time the machine reboots, steam pops up a dialog box, confirming I want to go in offline mode. Does anyone know how to get rid of this dialog box? Then the unattended restart script would work on starting the machine. (I put a shortcut to the .bat in the startup folder). Currently arma3.exe won't start as long as this dialog box is open.

Share this post


Link to post
Share on other sites

But then I need a second steam account, and purchase another copy if I want to play on my own server. Not really what I'm looking for.

Share this post


Link to post
Share on other sites
Ok I managed to get the server working on another computer.

However, each time the machine reboots, steam pops up a dialog box, confirming I want to go in offline mode.

Why are you needing a reboot ?

The issue of steam and rebooting hasn't been raised before

Edited by Terox

Share this post


Link to post
Share on other sites
In order to serve your mpmissions from another location than the root game folder, simply delete the folder and create a Junction (aka Symlink) instead.

mklink /J C:\steam\steamapps\common\user\Arma 3\mpmissions C:\Users\user\Desktop\Dropbox\mpmissions

Where does ths go, in the server.cfg i guess?

---------- Post added at 11:35 AM ---------- Previous post was at 10:40 AM ----------

ok got it working, for anybody else wanting to do this, run cmd tool on your server to create the link, use "" around the directories, and delete your mpmissions folder BEFORE you create the link.

mklink /J "C:\steam\steamapps\common\user\Arma 3\mpmissions" "C:\Users\user\Desktop\Dropbox\mpmissions"

Share this post


Link to post
Share on other sites
There is a good possibility that Windows Firewall (or whichever firewall program you may use) is blocking the ports needed to host the game. Here is a list of the ports that need to be open on the server:

Open these ports: UDP 2300-2400, 47624-47624, 28800-28900; TCP 2300-2400, 47624-47624 (in your router too)

Also be sure you config file contains this line: reportingIP="arma3pc.master.gamespy.com";

Not strictly true on the ports, but if you are using a custom port (-port=xxxx switch) you will most likely know about this already. Ports used are Port, Port + 1, and Port + 3.

The DEFAULT port is 2302, same as Arma2 (why they didn't change this I have no idea). I use 3302 for Arma3, so in my case I'm using -port=3302, which means I need to make sure 3302, 3303, and 3305 are open for business.

Share this post


Link to post
Share on other sites

Just to clarify here is an example file structure and location of files if you set certain parameters

Command line entry: -profiles

NOTE: If running Firedeamon, the user will be "SYSTEM", for most other scenarios it will be "Administrator"

The below example is for Firedeamon.

Files automatically created during exe.start if they don't already exist are highlighted in Blue

"-profiles=d:\Games\A3\Server_No1"

d:\Games\A3\Server_No1\Users\SYSTEM\SYSTEM.Arma3AlphaProfile

d:\Games\A3\Server_No1\Users\SYSTEM\SYSTEM.vars.Arma3AlphaProfile

d:\Games\A3\Server_No1\Users\SYSTEM\Arma3Alpha.cfg

d:\Games\A3\Server_No1\MPMissions\ ? Think this was auto created can't remember

d:\Games\A3\Server_No1\arma3.rpt

Command line entry: -config

if you then add a -config parameter as in the example below, you will need to manually create the file and edit it accordingly

-config=d:\Games\A3\Server_No1\MyServerConfig.cfg

In the "MyServerConfig.cfg, if you add the line

logFile = "Server_No1.log"; 

The logfile will automatically be created as

d:\Games\A3\Server_No1\Server_No1.log

Command line entry: -netlog

This will automatically create the following file

d:\Games\A3\Server_No1\mpStatistics.log



Initial Post has been updated to this point

CONTENTS

  1. Setting up your server
    • What you need
    • how you do it

[*]Links[/b]

  • Information
  • useful Tools

[*]Selecting between Stable & Dev Builds

[*]Running multiple servers on one machine

[*]Running server & client on same machine

[*]Location of files[/b]

[*]Re-locating MpMissions

[*]Port Forwarding[/b]

[*]Trouble Shooting & Help

  • Best way to use this thread
  • Live chat help
  • What cannot be done
  • Known Issues

[*]Example files[/b]

  • Arma3Alpha.cfg
  • Arma3Alpha.cfg
  • .Arma3AlphaProfile

[*]Advanced configuration[/b]

  • _profiles
  • AutoServer_Restart.bat File
  • Firedeamon

[*]Changelog

Changelog Version 1.05

Date: 17th March 2013

  • Added Section: "LOCATION OF FILES (When setting parameters)"
  • Added Section: "RE-LOCATING MPmIssions (For example to a dropbox)"
  • Added "VerifySignatures = 2" into config.cfg (My bad, why I forgot to add this I will never know) IMPORTANT Please add to config

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

×