This tool allows you to manage any ARK: Survival Evolved linux server without having to remember long commands.
It provides a lot of features, to get the full list check the Commands section on the bottom of this page.
To install ARK Server Tools you must have already installed SteamCMD following this guide:
https://developer.valvesoftware.com/wiki/SteamCMD#Linux
We assume you have created the steam
user to store steamcmd and your ARK server.
To allow your ARK server to communicate with the outside you have to open some ports in your firewall:
iptables -I INPUT -p udp --dport 27016 -j ACCEPT
iptables -I INPUT -p tcp --dport 27016 -j ACCEPT
iptables -I INPUT -p udp --dport 7778 -j ACCEPT
iptables -I INPUT -p tcp --dport 7778 -j ACCEPT
iptables -I INPUT -p tcp --dport 32330 -j ACCEPT
NB: Change the ports according to the ones set in your arkmanager.cfg
file.
To install ARK Server Tools run this command:
curl -sL http://git.io/vtf5N | 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 arkmanager
script and its daemon to the proper directories and will create an empty log directory in /var/log
for ARK Server Tools.
To instead perform a user-install of ARK Server Tools as an unprivileged user, run this command:
curl -sL http://git.io/vtf5N | bash -s -- --me
Stored in /etc/arkmanager/arkmanager.cfg
you can find the variables needed to start the server, like the port numbers, the system environment variables and so on.
Also, in this file, you can specify any parameter you want to add to the startup command of ARK server.
These parameters must be prefixed by the ark_
string, some example could be:
ark_SessionName="My ARK server"
ark_MaxPlayers=50
ark_ServerPVE=False
ark_DifficultyOffset=1
Your session name may not contain special characters (eg. !![EU]!! Aw&some ARK
) as it could break the startup command.
In this case you may want to comment out the ark_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. ark_bRawSockets=""
).
To specify a dash-option without an argument (e.g. -log
), add the option="" prefixed with arkflag_
(e.g. arkflag_log=""
).
To specify a dash-option with an argument (e.g. -StructureDestructionTag=DestroySwampSnowStructures
), add the option=value prefixed with arkopt_
(e.g. arkopt_StructureDestructionTag=DestroySwampSnowStructures
).
You can override or add variables for a specific system user creating a file called .arkmanager.cfg
in the home directory of the system user.
To install ARK Server just run this command as normal user:
arkmanager install
To get a complete list of the script commands you can run arkmanager --help
or arkmanager -h
.
Installs arkmanager to the directory specified in /etc/arkmanager/arkmanager.cfg
or ~/.arkmanager.cfg
.
Starts ARK server
Stops ARK server
Restarts ARK server
Manually updates ARK server if a new version is available. This accepts zero or more of the below options.
Apply update without check the current version
Waits for server to perform world save and then updates.
Warns the players for a configurable amount of time before updating. Should be suitable for adding to a cron job.
Validates all ARK server files
Updates installed and requested mods
Takes a backup of the save files before updating.
Get the status of the server. Show if the process is running, if the server is up and the current version number
Check if a new version of the server is available but not apply it
Check for a new ARK Server Tools version and upgrades it if needed
Uninstalls the ARK Server Tools
Saves a backup of your server inside the backup directory
Broadcast a message to all curently connected players. Example:
arkmanager broadcast "Hi, admin here"
Saves the current world.
Run a rcon command on the server. Example:
arkmanager rconcmd "ListPlayers"
Full list of available command here: http://steamcommunity.com/sharedfiles/filedetails/?id=454529617&searchtext=admin
Original author of arkmanager: LeXaT