= ARK: Survival Evolved Linux Server Tools 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 <> section. Known issue with updating ------------------------- If updating from 1.6.53 or earlier, you will likely get the following message: ``` Unable to get latest release ``` If updating from 1.6.53 or earlier, and `arkstUnstable` is set, then it is likely to say that a hotfix is available, but fail to install it. Please either: * edit `arkmanager` wherever it is installed, and replace + `arkstGithubRepo="FezVrasta/ark-server-tools"` + with + `arkstGithubRepo="arkmanager/ark-server-tools"` + or * re-install using the netinstall script below. Installation ------------ Prerequisites ~~~~~~~~~~~~~ ARK Server Tools requires certain packages be installed in order to function correctly. If running under CentOS or RHEL, you will need the following packages installed: ``` perl-Compress-Zlib curl lsof glibc.i686 libstdc++.i686 bzip2 ``` If running under Debian or Ubuntu, you will need the following packages installed: ``` perl-modules curl lsof libc6-i386 lib32gcc1 bzip2 ``` Common prerequisites which should normally already be installed are: ``` >=bash-4.0 >=coreutils-7.6 findutils perl rsync sed tar ``` If using CentOS 6 or earlier, or Debian 7 or earlier, you will need to compile a newer version of glibc. See https://github.com/arkmanager/ark-server-tools/wiki/Install-of-required-versions-of-glibc-and-gcc-on-RHEL-CentOS To use ARK 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 ARK server. Requirements ~~~~~~~~~~~~ To allow your ARK server to communicate with the outside you have to open some ports in your firewall: ```sh iptables -I INPUT -p udp --dport 27016 -j ACCEPT iptables -I INPUT -p tcp --dport 27016 -j ACCEPT iptables -I INPUT -p udp --dport 7777 -j ACCEPT iptables -I INPUT -p tcp --dport 7777 -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. Install ARK Server Tools ~~~~~~~~~~~~~~~~~~~~~~~~ To install ARK Server Tools run this command: [source,sh] curl -sL https://raw.githubusercontent.com/arkmanager/ark-server-tools/master/netinstall.sh | sudo bash -s steam NB: You may want to change the `bash -s` parameter to fit your steam user if different from `steam`. If you want to install the `arkmanager` service, append the `--install-service` option to the install command. 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: [source,sh] curl -sL https://raw.githubusercontent.com/arkmanager/ark-server-tools/master/netinstall.sh | bash -s -- --me Configuration ~~~~~~~~~~~~~ Stored in `/etc/arkmanager/arkmanager.cfg` and `/etc/arkmanager/instances/.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 <> for options. Also, in these files, 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: [source,sh] 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. Each server instance must have its own set of ports. These ports are specified using the `ark_Port`, `ark_QueryPort` and `ark_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 <> for more options. Install ARK Server ~~~~~~~~~~~~~~~~~~ To install ARK Server just run this command as normal user: [source,sh] arkmanager install Usage ----- `arkmanager [Global Options] [Command Options] [Command Args] [Instances]` Global Options ~~~~~~~~~~~~~~ [horizontal] `--help`:: Prints some help on using the command `--version`:: Prints the arkmanager version Common Options ~~~~~~~~~~~~~~ [horizontal] `--verbose`:: Exposes the output of SteamCMD `--dots`:: Prints dots for progress `--spinner`:: Uses a spinner for progress `--arkopt,{option}`:: Adds the specified option to the server command line; used with `run`, `start`, and `restart`. + Options can be of the form: `-