How to install ARK: Survival of the Fittest server on CentOS 7

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

Ark: Survival Of The Fittest
Ark: Survival of the Fittest is a popular action game that features survival-themed crafting, combat, and most notably, the ability to tame and ride dinosaurs. Ark: Survival of the Fittest is a special game mode with fast-paced rounds in which the last player standing wins.

Ark: Survival of the Fittest must be played using specific servers. This guide will walk you through the steps of setting up this server on CentOS 7.

Getting started

Here’s what you’ll need in order to install the Ark: Survival of the Fittest server:
• 1 server (Cloud Server or Dedicated Server) running a fresh installation of CentOS 7.
• Root access to the server
• For basic support of up to 10 players, 2 vCores and 6GB of RAM or the equivalent will be needed.

Tutorial

The very first step is to update your system. This is also the time to install the basic dependencies.

yum update -y
yum install nano wget tar glibc.i686 libgcc.i686 libstdc++.i686 -y

Create an user specifically to access the Steam related content you’ll need for installation. It’s unsafe to use the root user for this purpose.

adduser -s /usr/sbin/nologin steam

Let’s make some quick preparations to your system before installation. First, for the purposes of the server, you’ll need to increase the amount of simultaneous system files that can be opened by altering sysctl.conf.

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

Then, alter the system limits configuration file with the following:

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

Finally, enable the PAM limits module on the system to prepare it for use as a multiuser server.

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

Now you can proceed with the installation of the Ark: Survival Evolved server.

cd /home/steam
/home/steam# su -s /bin/bash 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

After entering the Steam command line interface, type this command to install the game server.

login anonymous
force_install_dir ./arkserver
app_update 445400 validate

You will have to wait while the server software downloads. This can take a variable amount of time depending on your connection, but you are done once you see the following.

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

Now that the server is installed, exit the command line interface with quit.

Switch over to the root user so you can set up the server configuration.

In order for the Ark server to automatically start on boot, you can create an init script. This is what you will name it:

nano /etc/systemd/system/arkserver.service

And now, simply add the following content to the file: (Make 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

Now start the Ark server, and enable it to start on boot.

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

Use systemctl to verify that the server is actually running. Here’s the command you should use, and an example of expected output:

service arkserver status

? arkserver.service - ARK Survival Server
Loaded: loaded (/etc/systemd/system/arkserver.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2016-08-12 23:57:27 UTC; 3s ago
Main PID: 27027 (ShooterGameServ)
CGroup: /system.slice/arkserver.service
??27027 /home/steam/arkserver/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName..

Adjust the firewall rules from the default settings. (If you have already altered the firewall in some way, you may need to make further adjustments.) You’ll have to open up these ports to allow traffic to flow to and from the Ark server:

firewall-cmd --add-port=27015/udp
firewall-cmd --add-port=7777/udp
firewall-cmd --add-port=32330/tcp

This is what each port is for:
• UDP 27015: Query port for Steam’s server browser
• UDP 7777: Game client port
• TCP 32330: RCON for remote console server access (optional)

Here’s an equivalent command you can use with iptables, if you prefer:

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

Installation is now complete. If you’ve set it up properly, you should now be able to host games of Ark: Survival of the Fittest for up to 10 players. Add more vCores and RAM to enable even more players to join your server.