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
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
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
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 Install Ark Server
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
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
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
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.
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!
Hey, if you do make it, can you share the process?
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.
This should fix it for you:
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
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.
This should fix it for you:
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