How to install an ARK Survival Server on CentOS 7


This article will walk you through how to setup Ark: Survival Evolved on CentOS 7 on a ServerMania dedicated server, cloud server, or SSD cloud virtual private server.

What you’ll need:

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

Before You Begin

You have two options when setting up an ARK Server, you can set it up on your own computer, or you can pay a small monthly fee and host one online.

If you want to set up a reliable and affordable ARK game server online, click here to check out our friends at Empower Servers. They offer high-performance Ark game servers on the best hardware, ensuring the lowest possible latency. Hosting the Ark Server online will deliver the best gaming experience since the server will be hosted on a blazing fast network and will be online 24×7.

Step 1: Update the server


Before we begin, let’s update the server:

yum update -y

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

Step 2: Add a user for the Ark server


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 iptables

Screen Shot 2017-02-28 at 8.59.03 PM

Run these commands to open ports in iptables:

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

Save iptables configuration:

/sbin/service iptables save


Step 4: Install the required libraries

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

yum install glibc.i686 libstdc++.i686 ncurses-libs.i686 -y

Step 5: Update system settings


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


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


We’ll now switch into our arkserver user:

su – arkserver
cd ~

Step 8: Download and extract SteamCMD


Download SteamCMD and some required software

yum install nano wget screen -y

Extract the tar.gz file:

tar xf steamcmd_linux.tar.gz

Step 10: Launch and update SteamCMD


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

./ +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 11: Create an update script


Let’s create a file called updatearkserver and open it in the vi text editor:

vi /home/arkserver/updatearkserver

Press i to enter insert mode. Paste this content into the file:

login anonymous
force_install_dir ./ark
app_update 376030

Hit escape and type :wq to write quit the file

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

./ +runscript updatearkserver

Step 12: Create a start script


Create a file called in the vi text editor:

vi /home/arkserver/ark/

Type i and paste this content into the file:



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

Hit escape and type :wq to write quit the file.

Update the permissions of the file

chmod +x /home/arkserver/ark/

To run the server, execute:

sh /home/arkserver/ark/

To quit the server, execute:

screen -S ark -X quit

Step 13: 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.


  • 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