BoiseComputer / atlas-server-tools

Install and manage ATLAS game servers using Linux CLI. Allows for management of multiple server grid instances.

Home Page:https://biteoftech.com/2019/01/22/atlas-linux-server-tools/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ATLAS Linux Server Tools

This tool allows you to manage any ATLAS linux server without having to remember long commands. It provides a lot of features, to get the full list check the Usage Wiki section.

Quick Start

I have put together a set of commands to help you get a 2x2 server up as quicky as possible. The setup is mostly automated and and should have a server up and running within minutes. You will want to go in and adjust server names and any customization you would like after the install and setup are fully completed.

Installation

Prerequisites

ATLAS Server Tools requires certain packages be installed in order to function correctly.


Warning
There is an issue when running ARK and ATLAS on the same machine. ARK requires Curl 4 and ATLAS requires Curl 3. As a workaround a special package containing both versions must be installed.


Important
If running under CentOS or RHEL, you will need the following packages installed:
perl-Compress-Zlib
curl
lsof
glibc.i686
libstdc++.i686
bzip2
jq


Important
If running under Debian or Ubuntu, you will need the following packages installed:
perl-modules
curl
lsof
libc6-i386
lib32gcc1
bzip2
jq

Common prerequisites which should normally already be installed are:

>=bash-4.0
>=coreutils-7.6
findutils
perl
rsync
sed
tar


To use ATLAS Server Tools, you will need to install SteamCMD following this guide:
https://developer.valvesoftware.com/wiki/SteamCMD#Linux
We assume you have created the steam user to store steamcmd and your ATLAS server.

Requirements

To allow your ATLAS server to communicate with the outside you have to open some ports in your firewall:
(Example port ranges for a 4 server grid)

5755X = Query Ports
575X = Game Client Ports (Leave + 1 space between servers until requirement is confirmed by Grapeshot)
3233X = RCON Ports
2700X = Seamless Ports


Tip
2x2 Server Port Mapping Example (4 servers)
The Game Port +1 usage has not been confirmed by Grapeshot. Subject to change.

Server

Grid

X/Y

Query Port

Game Port

Game Port +1

RCON Port

Seamless Port

AtlasServer_01

A1

0x0

57550

5750

5751

32330

27000

AtlasServer_02

B1

0x1

57551

5752

5753

32331

27001

AtlasServer_03

A2

1x0

57552

5754

5755

32332

27002

AtlasServer_04

B2

1x1

57553

5756

5757

32333

27003

How to open these ports on your Linux firewall:
iptables -I INPUT -p udp --match multiport --dport 57550,57551,57552,57553 -j ACCEPT
iptables -I INPUT -p tcp --match multiport --dport 57550,57551,57552,57553 -j ACCEPT
iptables -I INPUT -p udp --match multiport --dport 5750,5751,5752,5753,5754,5755,5756,5757 -j ACCEPT
iptables -I INPUT -p tcp --match multiport --dport 32330,32331,32332,32333 -j ACCEPT
iptables -I INPUT -p tcp --match multiport --dport 27000,27001,27002,27003 -j ACCEPT

Install ATLAS Server Tools

To install ATLAS Server Tools run this command:

curl -sL http://git.io/fh4HA | sudo bash -s steam

NB: You may want to change the bash -s parameter to fit your steam user if different from steam.

This will copy the atlasmanager script and its daemon to the proper directories and will create an empty log directory in /var/log for ATLAS Server Tools.

To instead perform a user-install of ATLAS Server Tools as an unprivileged user, run this command:

curl -sL http://git.io/fh4HA | bash -s -- --me

Configuration

Stored in /etc/atlasmanager/atlasmanager.cfg and /etc/atlasmanager/instances/<instancename>.cfg you can find the variables needed to start the server, like the port numbers, the system environment variables and so on.

You will need to modify these files with any options you wish to give to the server, and any paths that are non-standard in your environment (e.g. one common one is the path to the appinfo cache).

See [Configuration files] for options.

Also, in these files, you can specify any parameter you want to add to the startup command of ATLAS server. These parameters must be prefixed by the atlas_ string, some example could be:

atlas_SessionName="My ATLAS server"
atlas_MaxPlayers=50
atlas_ServerPVE=False
atlas_DifficultyOffset=1

Your session name may not contain special characters (eg. !![EU]!! Aw&some ATLAS) as it could break the startup command. In this case you may want to comment out the atlas_SessionName variable and define it inside your GameUserSettings.ini file instead.

To specify an option without an argument (e.g. bRawSockets), specify an empty argument (e.g. atlas_bRawSockets="").

To specify a dash-option without an argument (e.g. -log), add the option="" prefixed with atlasflag_ (e.g. atlasflag_log="").

To specify a dash-option with an argument (e.g. -StructureDestructionTag=DestroySwampSnowStructures), add the option=value prefixed with atlasopt_ (e.g. atlasopt_StructureDestructionTag=DestroySwampSnowStructures).

You can override or add variables for a specific system user creating a file called .atlasmanager.cfg in the home directory of the system user.

Each server instance must have its own set of ports. These ports are specified using the atlas_Port, atlas_QueryPort and atlas_RCONPort settings in the instance configuration. If the QueryPort or Port settings are shared between multiple instances, then the server will often either crash or hang without being able to be queried. If the RCONPort setting is shared between multiple instances, the server will hang at 0/0 players.

See Configuration Files Wiki for more options.

Install ATLAS Server

To install ATLAS Server just run this command as normal user:

atlasmanager install

About

Install and manage ATLAS game servers using Linux CLI. Allows for management of multiple server grid instances.

https://biteoftech.com/2019/01/22/atlas-linux-server-tools/

License:MIT License


Languages

Language:Shell 100.0%