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