Arma 3 dedicated server linux

Arma 3 dedicated server linux

247 уникальных посетителей
3 добавили в избранное

Die Installation von Docker kann für die jeweilge Linux Distribution (z.B. Ubuntu, Fedora, CentOS, Debian) aus der Offiziellen Dokumentation entnommen werden: https://docs.docker.com/install/

Die Installation von docker-compose ist ebenfalls gut dokumentiert: https://docs.docker.com/compose/install/.

Da nun Docker & docker-compose installiert sind, können wir nun mit der Installation des LGSM (Linux Game Server Manager) Container beginnen.

Dazu legen wir zuerst die Datei docker-compose.yml an:

In dieser Datei befindet sich die Containerdefinition für den Container ‘linuxgsm’.
Der Container erhält das Docker Image ‘linuxgsm’, der Ordner (auf dem Host System) /srv/games/linuxgsm/ wird im Container unter /home/lgsm eingehängt. Für den Arma 3 Server benötigte Ports (2302 — 2305) sowie den für BattleEye benötigten Port 2306 werden direkt weitergereicht (Da Arma 3 auf diesen Ports ausschließlich mit dem Protokol UDP arbeitet, müssen wir dies angeben, wenn nichts angegeben wird werden nur TCP Pakete durchgereicht!)

Im weiteren Verlauf des Guides werden sich an dieser Konfigurationsdatei zwei Dinge ändern.
Zum einen werden wir (insofern erforderlich) ein selbst erstelltes LGSM Docker Image nutzen, um ein Paket für die Serverseitige Arma 3 Mod extDB2 / extDB3 nachzuinstallieren. Diese Mod kann genutzt werden um Arma 3 mit einer Datenbank zu verbinden. Diese Mod wird häufig bei Persistenten Missionen wie Arma 3 Life; Exile; . ) verwendet, alternativ kann IniDBi2 verwendet werden, welche keine weiteren Pakete benötigt.

Die zweite Änderung betrifft den sogenannten entrypoint, das ist ein Script welches beim Containerstart ausgeführt werden soll. In unserem Fall wollen wir zusätzlich zum normalen Entrypoint des LGSM Containers unseren Arma 3 Server starten.

Nun können wir den Container mittels docker-compose starten und stoppen.

Wenn man den Container gestartet hat und eine Shell geöffnet hat, kann man den Arma 3 Server recht einfach über das LGSM Script im Homeverzeichnis installieren. Dafür braucht man natürlich (für Steam CMD) einen Gültigen Steam Login zum Download der Serverfiles (Arma 3 muss nicht im Besitz des Accounts sein.)

Der Arma 3 Server kann anschließend mit arma3server start gestartet werden. Mit arma3server console kann man in die tmux session gehen und die server logs einsehen.

Источник

Arma 3 dedicated server linux

Hello Im trying to run a arma 3 server on:
Ubuntu 14.04 LTS

The server is not being able to find the mods on the server any help would be much appreciated

arma3server (script)
├── functions
├── log
├── serverfiles
│ ├ arma3server (linux server command)
│ ├── addons
│ ├── battleye
│ ├── cfg
│ ├── curator
│ ├── dta
│ ├── heli
│ ├── kart
│ ├── keys
│ ├── mark
│ ├── mods
│ │ ├── @ALiVE
│ │ ├── @CBA_A3
│ ├── mpmissions
│ ├── steamapps
│ ├── userconfig
├── Steam
└── steamcmd

arma3server config mods:

I have the same issue

The problem has been repeatedly posted here

But there is apparently no solution

Also all Google solutions were unsuccessful

— Uppercase and lowercase characters

— Absolute and relative paths

The both command-line does not work:

./arma3server -netlog -ip=xx.xxx.xxx.xxx -port=2302 -cfg=/home/arma3server/serverfiles/cfg/arma3-server.network.cfg -config=/home/arma3server/serverfiles/cfg/arma3-server.server.cfg -mod=/home/arma3server/serverfiles/mods/@cba_a3/;/home/arma3server/serverfiles/mods/@bwa3 -servermod= -bepath= -autoinit -loadmissiontomemory

./arma3server -netlog -ip=xx.xxx.xxx.xxx -port=2302 -cfg=/home/arma3server/serverfiles/cfg/arma3-server.network.cfg -config=/home/arma3server/serverfiles/cfg/arma3-server.server.cfg -mod=/mods/@cba_a3/;/mods/@bwa3 -servermod= -bepath= -autoinit -loadmissiontomemory

The vanilla server (without mods) running smoothly

With my Windows dedicated test server there is no problem

All mods are found

Somehow linux does not recognize the path

Did you guys ever sort this issue out ?

@Healthstr and @[FRS]=Freddy=

In the arma3server script you need to specify this as your mod line, if you are using nested folders, As I am on my installation (debian 7)

^— lowercase mod names !! make sure your mods folder has been lowercased recursively

Had to take all the spaces out of the directories and change all *.pbo’s to lowercase. But, this loads mods to the server.

My mod directory structure. Might clean this up later

Источник

Deploy ARMA 3 Game Servers

LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.

ARMA 3 will run on popular distros as long as the minimum requirements are met.

For consistant uptime it is recomended you host a server in a data center. If you dont already have a server, you can rent a dedicated or vitual server from one of our sponsored providers, OVHCloud, Linode, Vultr.

  • Ubuntu 18.04 LTS
  • Debian 10
  • CentOS 8

32-Bit and 64-Bit game server binary is available.

SteamCMD by Valve is used to install and update this game server.

SteamDB

Steam uses appid 233780.
Update history is available from SteamDB.

Before installing, you must ensure you have all the dependencies required to run arma3server.

Ubuntu 64-bit

Debian 64-bit

EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.

CentOS 64-bit

user with sudo access

root user

From the command-line do the following. Ensuring you have also installed the required dependencies.

1. Create a user and login.

For security best practice, ensure you set a strong password. Random password:

You will need to enter a Steam username and password to download dedicated server.

It is recommended that you create a new Steam username just for the server.

All Commands

Running

start

restart

console

To exit the console press CTRL+b d . Pressing CTRL+c will terminate the server.

Updating

update

validate

Debugging

Details

You can get all important and useful details about the server such as passwords, ports, config files etc.

Debug

Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.

Backup

Backup will allow you to create a complete tar bzip2 archive of the whole server.

Monitor

LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.

Читайте также:  Установить гостевую для линукс

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Cronjobs

To automate LinuxGSM you can set scheduled tasks using cronjobs, to run any command at any given time. You can edit the crontab using the following.

Below are the recommended cron tasks.

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Источник

Arma 3: Dedicated Server

Contents

Introduction

This page contains useful information on how to install and configure an ARMA 3 server and includes step by step guides of the install process. Also information on how to configure and run a server. The majority of directories and paths are customizable, however those defined are all consistent with the tutorial instructions.

Much of the tutorial here was created using this forum guide.

Installation

Requirements

  1. Steam Account
  2. Supported Operating System:
    • Windows Server 2008 or later
    • A modern Linux distribution
  3. Minimum Hardware:
source
Part Minimum Recommended
CPU 2.4 GHz Dual-Core 3.5 GHz Quad-Core
RAM 2GB 4GB
Storage 32 GB HDD 32 GB SSD

Instructions (Windows o/s)

The following instructions will guide you through setting up one Arma 3 server on 1 box, however they will also set the foundations for installing multiple servers on that same box:

  1. Install the latest version of DirectX
  2. Create the following empty directories
    • D:\Apps\Steam
    • D:\Games\ArmA3\A3Master
    • D:\Games\ArmA3\A3Files
  3. Download steamcmd.exe and save it to your targetted Steam install directory (E.g D:\Apps\Steam)
  4. Run the steamcmd.exe. (This will download and install the required steam files to your custom steam directory)
  5. Create an #Arma3server_steamcmd_example.cmd file and save it to D:\Games\ArmA3\A3Files
  6. Run the #Arma3server_steamcmd_example.cmd file
  7. Just after logging into Steam, the console window will hang and ask for a validation key
    • Steam will have automatically sent you an email with this validation code, which you then need to input at the command prompt
    • The Update console window should then continue to run and install ArmA3 ((DEV or STABLE) version to the target directory as defined in the .cmd file) eg (D:\Games\ArmA3\A3Master)
  8. Create a shortcut for the ArmA3Server.exe on the server desktop
  9. Add the following parameters to the Target Line in the shortcut tab of the newly created desktop shortcut
    • -port=2302 (Required if running multiple server instances including any previous Arma 2 instances)
    • «-profiles=D:\Games\Arma3\A3Master»
    • -config=CONFIG_server.cfg
    • -world=empty
      • so it looks something similar to the following
      • «D:\Games\Arma3\A3Master\arma3server.exe» «-profiles=D:\Games\Arma3\A3Master» -port=2302 -config=CONFIG_server.cfg -world=empty
  10. Setup the #Port Forwarding in your firewall or\and router accordingly, also doesn’t seems like implemented in some routers Port Trigger feature works with Arma 3 Server (tested with ASUS RT-N66U)
  11. Make sure you have:
    • Network Discovery enabled for your network type (the setting can be found in [Control Panel\Network and Internet\Network and Sharing Center\Advanced sharing settings]. If you have problem with its state reset on the interface reopen, check if all of the required for this feature services are running: DNS Client, Function Discovery Resource Publication, SSDP Discovery, UPnP Device Host; (makes server accessible from internet) (maybe it is about the services and not the network discovery)
    • Windows Media Player Network Sharing Service enabled (makes server joinable) ;

If you can’t connect to server through server browser try to use «direct connect»: this is a client side issue (doesn’t mean other clients will have it too), reason for the issue for now unknown, I can say it is not related to: Windows services, Windows network settings, network routers, firewalls.

Device Host; (note: Changes to the above 2 settings require Arma relaunch to be applied, as for server same for client machines;)

  1. Start up your shortcut, check the server runs. (You will see a console pop up in your desktop after a few seconds)
  2. Close the console window down, then you will need to edit the following files which will have been automatically created
    • D:\Games\Arma3\A3Master\Users\Adminstrator\Administrator.Arma3Profile
    • D:\Games\Arma3\A3Master\Users\Administrator\Arma3.cfg
  3. Restart the server
  4. Start up your client Arma3.exe (Running the same branch as the server, (eg Stable or DEV) and you should then be able to see your server in the server browser (Filters are available to reduce the server list)
  5. Login to your server using the password you defined in #CONFIG_server.cfg by typing «/» to open the chat window and then type (#login ADMINPASSWORD) followed by enter.

Instructions (Linux o/s)

Installation

As a security best practice, create a user to run steam instead of running as root or an administrator. This way, if your ArmA server is compromised the attacker will find it more difficult to access the rest of the operating system.

Switch to the newly created steam user.

Create a new directory for SteamCMD to avoid cluttering the home directory.

Download the SteamCMD for Linux tarball from the link at the Valve Developer Community page. Use a command line download tool such as wget or curl.

Extract the tarball.

Execute steamcmd.sh. It will install the rest of the Steam client and start the Steam client shell. If this step fails on a 64-bit OS, you likely need to install 32-bit libraries.

At the Steam client shell, login with a valid Steam username and password. The Valve Developer Community Wiki recommends that you create a new Steam account for this. SteamCMD will cache the login credentials and anyone who gains access to your server will be able to log into the account used here. In addition, you cannot log into a single Steam account from two places at once. You do not need to have Arma 3 purchased on the Steam account used here to download the server. Therefore, you should create a new Steam account with no purchases only for use on this server.

Change the directory SteamCMD will install the server in.

Install the Arma 3 Linux dedicated server. The validate option will check for corruption.

Create the directories used to store the profile files and Arma3.cfg file.

Updating

You will have to update the server whenever a patch is released on Steam.

If the server is running, stop it by pressing Ctrl+C in the terminal (or screen/tmux instance) that the server is attached to. Otherwise, switch to the steam user.

Login to the Steam account used in the installation section above.

Set the Arma 3 installation directory to the same directory used above.

Update the Arma 3 Linux dedicated server. The validate option will check for corruption.

Configuration

You will most likely want to customize your server’s name, password, security settings, and so on with a server.cfg file. Change to the arma3 directory and create and edit your server.cfg file.

If you don’t know how to use vim, use nano instead.

See server.cfg for documentation and examples.

The first time you run the server it will auto-create a profile file at

/.local/share/Arma 3 — Other Profiles/server/server.Arma3Profile. Edit this file to customize difficulty settings.

Launching

A Linux executable is provided to launch the server. Make sure that you are running it under the steam user and not root or another administrator!

NB: If you are using the -mod= parameter, you must specify relative paths within or below the Arma 3 directory. Symlinks will work.

The arma3server process will attach to the current terminal. If you are connected to the server over SSH, the server will stop when you disconnect. You can keep the server running using a terminal multiplexeer like GNU Screen or tmux. There are many tutorials online on how to use these programs to detach and reattach processes from and to a terminal.

You can safely stop the server by pressing Ctrl+C in the terminal (or screen/tmux instance) that the server is attached to.

Case sensitivity & Mods

Some mods such as CUP Terrains and @ALiVE will not function if there are capital letters in any of their file names. If you do not update your mods on a regular basis, you can just use the command

in the directory where your mods are located. This will recursively search the directory tree and make all the filenames lowercase.

If you regularly update your mods using, e.g. ArmA3Sync, you will find that this will redownload any files/folders that have changed case every time you run it. The solution to this is to use a package called «ciopfs» — Case Insensitive On Purpose Filesystem. You should first run the «find . -depth. » command mentioned above on your mod folder. Then, make an empty directory outside of the mods directory, e.g. mods_caseinsensitive. You then mount the directory with:

and tell ArmA3Sync to synchronise in the mods_caseinsensitive directory. Once it has finished, you can unmount the directory with:

You should find that all of the files in the original mods directory are lowercase.

Additional Info

Further Reading

Tools

  • Firedeamon
  • ArmA3 server using TA2DST Method
    A YouTube video tutorial by Kirkwood364 which uses Tophe’s Arma 2 Dedicated Server Tool to administer and run an A3 server (Links for all the files required are available in the 1st comment of his YouTube video)
  • Arma3 Server Monitor — end of support in 2015

Useful Addons

  • Zeu_Serverskills (AI Skill setting addon)
  • Zeu_ServerBriefing (Inject server information to all missions automatically

File Locations

Some files are automatically created when you use certain commandline parameters Some files have to be created manually. If you have followed the instructions accurately, you will now have the following files and directories in addition to the clean install

  • D:\Games\Arma3\A3Master\ Users\Administrator\Administrator.Arma3Profile(Difficulty settings)
  • D:\Games\Arma3\A3Master\ Users\Administrator\Administrator.vars.Arma3Profile(Some binarised content which you cannot edit)
  • D:\Games\Arma3\A3Master\ Users\Administrator\Arma3.cfg(Bandwidth settings)
  • D:\Games\Arma3\A3Master\ MPMissions\(This is where custom made mission.pbo’s need to be placed)
  • D:\Games\Arma3\A3Master\ arma3.rpt(Debug Log, automatically created every time the arma3server.exe is started)
  • D:\Games\Arma3\A3Master\ CONFIG_server.cfg(Manually created)
  • D:\Games\ArmA3\A3Files\ Arma3server_steamcmd_example.cmd(Manually created)
  • D:\Apps\Steam\

Port Forwarding

Arma 3 uses the same default ports as Arma 2 with the addition of several ports. So if you intend running A2 and A3 servers on the same machine, you need to edit the ports used. Default ports are all UDP and as follows:

Incoming

  • 2302 (default Arma 3 Game port) + (VON is now part of main gameport due to NAT issues)
  • 2303 (STEAM query, +1)
  • 2304 (Steam port, +2)
  • 2305 (VON port, +3 — not used atm. but allocated)
  • 2306 (BattlEye traffic, +4)

Outgoing

DST Port Protocol Destination Comment
2344 TCP + UDP 81.0.236.111 BattlEye — arma31.battleye.com
2345 TCP 81.0.236.111 BattlEye — arma31.battleye.com
2302-2306 UDP any Arma Server to Client Traffic
2303 UDP any Arma Server STEAM query port
2304 UDP any Arma Server to STEAM master traffic

To define the ArmA3 Game port used, state -port= **** in your command line arguments (Where **** is the new initial Arma 3 Game, e.g 2302)

and to define your Steam ports add the following lines to your CONFIG_server.cfg (editing the actual port numbers as required)

If you are running multiple servers, i would suggest the following format

2302 UDP (gameport + VON)
2303 UDP (STEAM query port)
2304 UDP (STEAM master port)
2305 UDP (VON reserved port but not used atm.)
2306 UDP (BattlEye traffic port)
so open ports 2302-2306
. and leave at least 100 ports between the next 2 nd server set

2402 UDP (gameport + VON)
2403 UDP (STEAM query port)
2404 UDP (STEAM master port)
2405 UDP (VON reserved port but not used atm.)
2406 UDP (BattlEye traffic port)
so open ports 2402-2406
and leave at least 100 ports between the next 3 rd server set, etc.

NAT traversal

UPnP allows you to automatically create port forwarding on your router to bypass NAT (UPnP enabled routers are required). The functionality can be easily enabled in server config as described in the server.cfg page.

Configuring for stable or Dev branch

Edit the Arma3server_steamcmd_example.cmd as defined below then run it

  • To select Development version
  • To select stable build (Dedicated server package)
  • To select stable build (Full client\server package)

Important Feature

Since 12 th March 2013 the development branch and the stable branch versions are no longer compatible. This means:

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

Advanced Configuration

Bandwidth Optimisation

Multiple Server configuration

There are various methods available to run multiple Dedicated Arma 3 servers on the same box. Each server instance requires:

  • Its own unique set of ports
  • Its own profile
  • Its own config

This post explains it more in depth.

Each method has some pro’s and cons To select the preferred methodology that suits your requirements you need to have considered the following

  • The useage of the «Keys» folder
  • The useage of the «MpMissions» folder
  • Available Hard drive space
  • Update management

METHOD 1

see THIS POST for more detailed information This is copy of the master install into a different directory As may times as you have space for

  • Most robust
  • Unique MpMissions folder
  • Unique «keys» folder
  • Allows ability to run seperate instances of different branches of the game, (E.g Dev or Stable)
  • Uses more drive space
  • Requires more effort to create and automate the updating process

METHOD 2

This uses 1 master install folder and has renamed arma3server.exe’s in sub folders of the master see THIS POST for more detailed information

Pros (Compared to Method 1)

  • Uses less space than Method 1
  • Updating will be easier

Cons (Compared to Method 1)

  • Not very robust
  • Shares MPMissions folders with all the other exe’s (Will create a very cluttered MpMissions folder and allows admins to select addon required missions for a mod this server instance isn’t running
  • Shares «keys» folder with all other exe’s (This can cause an issue when running various differing -mod servers)
  • Will not allow you to run seperate instances of different branches of the game

METHOD 3

This is a hybrid of method 1, in that it is essentially a «Virtual» copy of the master install in a different directory the difference being that many folders are sim linked to the initial Master directory simlink GUI:

Pros (Compared to Method 1)

  • Uses less drive space (As you wont have multiple copies of the addons folder)
  • Allows for unique MpMissions folder if desired
  • Allows for unique «keys» folder if desired
  • Updating will be easier

Cons (Compared to Method 1)

  • Requires more effort to initially create the simlinks and directories
  • Will not allow you to run seperate instances of different branches of the game at the same time, (E.g Dev or Stable)

For example, on Linux, if you initially have the following folder layout:

arma3server/ . mods # folder where you keep your mods arma3server .

Instead of copying the folders as directed in METHOD 1, run the following commands:

Then proceed with the rest of the instructions in METHOD 1.

METHOD 4

You can of course mix and match all 3 previous methods to suit your specific requirements.

Dedicated Server & Client configuration

The only known issue, is to make sure you start the server up before you start the steam client Failing to do this causes steam port issues and your client will not be able to connect to the server

Headless Client

A Headless Client can be used by missions to offload AI processing to a dedicated client, freeing up the dedicated server process from most AI processing. Thus more AI units can be spawned and the server process will be able to dedicate most of it is processing towards communication with the clients. For a Headless Client/Dedicated Server to function together efficiently, they both need to be connected to each other via extremely low latency and high bandwidth. Effectively, they need to be on the same LAN at least, but preferably running on the same computer.

Setup and Execution

  • Headless Client for ARMA 3 requires a valid active Steam account logged in to function (see Dwarden’s post)
  • A Headless Client is simply Arma3.exe run from the command line with parameters, for example:

In the example above, the headless client is running on the same host as the dedicated server. It uses a profile called HC and connects to the server with a password as required by the server (the password is for password protected servers, optional). The server in this example is running on port 2444, alter this to the port of your server.

  • The Headless Client profile needs to be created like any other profile in Arma 3 (Note: It is best if you name this profile HC)

No configuration of the profile is necessary, but after creation, edit HC.Arma3Profile located in C:\Users\yourusername\Documents\Arma 3 — Other Profiles\HC and add this line:

Alternatively, you can use the full Arma 3 client to connect to any multiplayer server with BattlEye enabled and accept the BattlEye License Agreement, which will do the same thing as manually editing HC.Arma3Profile.

Once the profile is ready, copy the profile directory to C:\Users\yourusername\Documents\Arma 3 — Other Profiles on the server (if the profile was not created on the server). If the profile was created on the server or is not going to run on the server and is already on the computer it is going to run on, then it is ready to go.

  • If the Headless Client is on the server, the server’s cfg must have the local loopback address as seen below (e.g. A3Server.cfg):

Dwarden suggests that battleyeLicense=1; be in the server’s config, but it is unclear whether this is actually necessary. (Dwarden’s post).

  • If the Headless Client is running in the same network or the same computer, the server’s config has to have the address in localClient[]=x.x.x.x.

This will allow the server to communicate with the Headless Client using unrestricted bandwidth. It is also required to add the adress to headlessClients[]=<"x.x.x.x">;. Multiple headless clients at different addresses can be added:

Headless Client on a Dedicated Server Notes

If the Arma 3 Headless Client and an Arma 3: Dedicated Server are running on the same Windows computer (VM or physical), it may be beneficial to set processor affinity to prevent execution intensive threads from being scheduled across the same (v)CPUs. The operating system will generally schedule threads efficiently, but manual CPU allocation is possible. This can be achieved by right-clicking on the process (e.g. Arma3Server.exe(*32)) in the processes tab of the Windows Task Manager and selecting Set Affinity. . Be aware that on a physical intel CPU, the odd numbered CPUs are Hyper-thread cores.

Note: You can use automated solution for affinity assign via batch file with commandline CMD /AFFINITY HEXvalue e.g. CMD /C START /AFFINITY 0xF3 arma3server.exe

It has been observed that although the ARMA server and client processes will kick off multiple threads, the bulk of processing is used up by only one or two threads. For example, spawning 50 AI units does not generate 50 threads. There is one thread in the process that handles all of the AI units, irrespective of how many have been spawned. In this way, the ARMA server and client processes do not make maximal use of the processing capability found in modern processors and so AI counts do not scale easily. As such, faster CPU core speed is king and offloading the AI to multiple headless clients on the same computer will probably produce the best possible results for complex missions involving many AI units (albeit an expensive way to get the results).

Источник

Читайте также:  Adb windows exe что это
Оцените статью