How to install ARK: Survival Evolved Server on Ubuntu 16

Try it in our public cloud & Get $50 Credit
CLAIM NOW

Ark Survival Evolved

Ark: Survival Evolved is a popular action game that features survival-themed crafting, combat, and most notably, the ability to tame and ride dinosaurs. This guide will walk you through the steps of setting up this server on Ubuntu 16.04 LTS.

Getting started

In order to install the Ark: Survival Evolved server software, you will need the following:
• 1 Node (Cloud Server or Dedicated Server) running a clean installation of Ubuntu 16.
• All commands must be entered as root with the exception of some performed by a user that we will create specifically for running Steam.
• 2 vCores and 6GB RAM. These are the minimum requirements for an Ark server that can handle up to 10 users.

Tutorial

Before beginning the installation process, wake sure your system is up to date. This is also a good time to install the basic dependencies.

apt-get update && apt-get upgrade -y
apt-get install nano wget tar lib32gcc1 -y

The first step is to create an user for Steam related content. For security reasons, you won’t want to use root for this.

adduser --disabled-login --disabled-password steam

Now it’s time to prepare your system with specific parameters to allow the game server to run. First, increase the amount of simultaneous system files that can be opened. You can do this by editing your sysctl.conf.

echo "fs.file-max=100000" >> /etc/sysctl.conf
sysctl -p

Append the following changes to your system limits configuration file.

echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf

Finally, enable the PAM limits module. Now your server is prepared to install Ark: Survival Evolved.

echo "session required pam_limits.so" >> /etc/pam.d/common-session

Now to proceed to the installation of the Ark server software.

cd /home/steam
su - steam
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
./steamcmd.sh

This will be done through the Steam command line interface. To install your game server, you must execute the following commands:

login anonymous
force_install_dir ./arkserver
app_update 376030 validate

Wait for the software to be downloaded. Once you see the following, the installation is complete.

Update state (0x61) downloading, progress: 99.95 (3222988684 / 3224465090)
Success! App '376030' fully installed.

Now that the server is installed, simply type quit to get out of the steam command line interface.

The next step is to configure your newly-installed Ark server. You will need to use the root user for these next commands.

Let’s create an init script so that your Ark server will start automatically if the Ubuntu server were to reboot. Create the following file:

nano /lib/systemd/system/arkserver.service

Add the following contents into the file, making sure that the ExecStart line corresponds to what you had in the previous file.

[Unit]
Description=ARK Survival Server
[Service]
Type=simple
User=steam
Group=steam
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
ExecStart=/home/steam/arkserver/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=?ServerPassword=?ServerAdminPassword= -server -log
ExecStop=killall -TERM srcds_linux
[Install]
WantedBy=multi-user.target

Start and enable the Ark Survival Server on system boot.

systemctl --system daemon-reload
systemctl start arkserver.service
systemctl enable arkserver.service

You can check your server is actually running with systemctl. Below you’ll find the exact command and the expected output which confirms that the daemon is operational.

systemctl status arkserver.service
arkserver.service - ARK Survival Server
Loaded: loaded (/lib/systemd/system/arkserver.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2016-08-12 20:47:46 UTC; 4min 13s ago
Main PID: 24825 (ShooterGameServ)
CGroup: /system.slice/arkserver.service
??24825 /home/steam/arkserver/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=MyARKServer?ServerPassword=friendspassword?ServerAdminPassword=superadminpassword -server -log

Since this is a fresh Ubuntu server, its firewall service should be already enabled. The default settings are suitable but we will be adding a few rules for Ark server traffic. We’ll open up these ports.

ufw allow 27015/udp
ufw allow 7777/udp
ufw allow 32330/tcp

For your reference, here is the traffic that will be flowing through these ports:
• UDP 27015: Query port for Steam’s server browser
• UDP 7777: Game client port
• TCP 32330: RCON for remote console server access (optional)

Of course, you can also use the classical iptables method via these commands:

iptables -A INPUT -p udp -m udp --sport 27015 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 7777 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 32330 --dport 1025:65355 -j ACCEPT

Conclusion

With that, you should now have a properly installed ARK Survival Server ready to welcome players. Be sure to upgrade your server if you find yourself regularly approaching or exceeding 10 players a game. If you liked this KB article, please share it with your friends.

Ark Survival Evolved

  • Morgan Green

    Hey there. Just curious. I have
    Active: failed (Result: start-limit-hit) Since Sat blah blah timestamp.
    Any idea what could be going on? Running Ubuntu 16.10 8GB Ram with 100GB SSD.

    • ptalbot

      We would like to know where you’re receiving this error, in order to reproduce it and assist you.

  • Timothy Wagoner

    I used your technique to get the server running, however i have ant issue. The 1st is how do I shut down or save the server so I can update it or change server settings. The 2nd issue I have is that I cannot connect across my lan. After clicking to join it just times out. Any ideas?

  • PatPeter

    Why are you doing?
    ExecStop=killall -TERM srcds_linux
    Instead of:
    ExecStop=killall -TERM ShooterGameServer

    All this is going to do is kill all Counter-Strike/Garry’s Mod servers that you’re hosting.