How to install an ARK Survival Dedicated Server on Linux

If you're looking to setup an Ark Dedicated Server for your gaming community, you will need to install the ARK Dedicated Server software on a remote server. The best OS for running an Ark Server is Linux. 

This article will walk you through how to setup Ark: Survival Evolved on Linux using a ServerMania dedicated server or Hybrid Server.

What You'll Need

In order to install Ark Dedicated Server on Linux, you'll need:

-A Linux server
-Root access
-A sufficient amount of RAM: We recommend at least 8GB

Ark Dedicated Server Installation Instructions

Follow these instructions to install Ark Server on CentOS 7. These instructions may vary for other Linux distributions:

Step 1: Login and Update the server

media_1488326075314.png

Start by logging into the server via SSH. Before we begin, let's update the server:

On CentOS:

yum update -y

On Ubuntu or Debian:

apt-get update

This may take some time depending on how up to date your server is.

Step 2: Add a user for the Ark server

media_1488326185332.png

Add a new user to run the Ark server in:

adduser arkserver

Set the password on the new user:

passwd arkserver

Step 3: Open ports on firewall

Run these commands to open ports in the firewall:

On CentOS:

firewall-cmd --permanent --zone=public --add-port=27015/udp
firewall-cmd --permanent --zone=public --add-port=7777/udp
firewall-cmd --permanent --zone=public --add-port=32330/udp

Step 4: Install the required libraries

Run the following command to install the libraries required for SteamCMD:

On CentOS:

yum install nano wget screen glibc.i686 libstdc++.i686 ncurses-libs.i686 -y

On Ubuntu / Debian:

apt-get install nano wget screen glibc.i686 libstdc++.i686 ncurses-libs.i686 -y

Step 5: Update system settings

media_1488326792742.png

SteamCMD requires a few changes to sysctl.conf to run properly. This command will update the max files open:

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

Step 6: Update security limits file

media_1488326946795.png

We'll input information into our limits.conf file with this command:

echo -e "* soft nofile 1000000\n* hard nofile 1000000" >> /etc/security/limits.conf

Step 7: Switch to arkserver user

media_1488327111893.png

We'll now switch into our arkserver user:

su - arkserver
cd ~

Step 8: Download and Install Ark Server

media_1488327198783.png

Download SteamCMD and Install CMD:

cd Engine/Binaries/ThirdParty/SteamCMD
mkdir Linux
cd Linux
curl http://media.steampowered.com/installer/steamcmd_linux.tar.gz > steamcmd.tar.gz
tar -zxf steamcmd.tar.gz
./steamcmd.sh

Type exit when done.

Step 9: Launch and update SteamCMD

media_1488327269002.png

We will now launch and update SteamCMD. App 376030 is Ark Survival Evolved Dedicated Server and it will be installed in the /ark directory:

./steamcmd.sh +login anonymous +force_install_dir ./ark +app_update 376030 validate +quit

This process will take some time to complete.

The screen will display " Success! App '376030' fully installed." upon completion.

Step 10: Create an update script

media_1488328594737.png

Let's create a file called updatearkserver and open it in the nano text editor:

nano /home/arkserver/updatearkserver

Paste this content into the file:

login anonymous
force_install_dir ./ark
app_update 376030
quit

Hit control +x to save and exit the file.

Now when you want to update your server, simply run:

./steamcmd.sh +runscript updatearkserver

Step 11: Create a start script

media_1488328902927.png

Create a file called arkserver.sh in the nano text editor:

nano /home/arkserver/ark/arkserver.sh

Paste this content into the file:

#!/bin/bash

SessionName="ServerName"
port="7777"
queryport="27015"
rconport="32330"
ServerAdminPassword="YourAdminPassword"
maxplayers="50"


screen -dmS ark ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?Multihome=0.0.0.0?SessionName=$?MaxPlayers=$?QueryPort=$?RCONPort=$?Port=$?ServerAdminPassword=$ -server -log

Hit control + x to save and exit the file.

Update the permissions of the file

chmod +x /home/arkserver/ark/arkserver.sh

To run the server, execute:

sh /home/arkserver/ark/arkserver.sh

To quit the server, execute:

screen -S ark -X quit

Step 12: Connect to your server

You can now connect to your Ark: Survival Evolved game server. Open Steam > click View > Server > and add your server to the Favorites list. Once you open the game, click Join Ark and your server will be available to connect.

About The Author

generic avatar icon
  • Very nice instructions, just what I was looking for for Linux.

    I’m playing with putting this on AWS for my own amusement and use CloudFormation to put this whole assembly into an automated stack. There I intended to use Amazon Linux, which is pretty much EL based, so your instructions should work out of the box.

    Cheers!

  • The steps using iptables doesn’t work on out-of-the-box CentOS 7.4, it’s my understanding that it was replaced by firewalld. This is what worked for me (iptables did not):

    firewall-cmd –permanent –add-port=27015/udp
    firewall-cmd –permanent –add-port=7777/udp
    firewall-cmd –permanent –add-port=32330/udp

  • Followed the guide everything worked up until it was time to start the server. (with the exception of the firewall rules as stated by Mike Wheway above so I added them to firewalld via webmin panel)

    Using the command
    sh /home/arkserver/ark/arkserver.sh
    Does nothing.

    I’m not getting any ark server log files written or anything to know whats actually going on.

  • I followed everything and in the end I can’t seem to get anything to start up, has anyone had any luck getting this to work? The final booting SH seems to do nothing.