How to Create an ARK: Survival Evolved Server on Ubuntu 16.04

How to Create an ARK: Survival Evolved Server on Ubuntu 16.04

comments

ARK: Survival Evolved is a dinosaur survival game that immerses you into a world of Pteranodons, Tyrannosauruses, Quetzalcoatluses and other primitive species from millions of years ago. There's a little something for everyone in this game. You can build bases, tame dinosaurs, farm, dive for pearls, build and sail a boat, raid other tribes' bases and more!

Sounds like a great game doesn't it? Well it is. But, the official servers for this game are an utter disaster. All you have to do is read the reviews on Steam to see the discontent from the players on how the official servers are being managed. There's massive lag. There's alpha tribes destroying all other bases on the servers. Alphas handcuffing and encumbering players with weight, so they can't play. Blocking off spawns and setting traps for new players. and nothing is being done about it.

Luckily though it's quite easy to setup your own ARK server on Ubuntu 16.04. I'll teach you how to get your own server up and running in less than 15 minutes with this guide.

If you don't already have a Linux system to install your ARK server on, and if you've found this guide useful, please consider renting a VPS from Linode with my affiliate ID. You can use coupon code bootstrapped2017 for a free $20 credit to your account.

Requirements

  • Ubuntu (with root privileges)
  • 6 GB free disk space minimum
  • 4 GB RAM minimum (8 GB RAM recommended)

Install SteamCMD

Install SteamCMD (Steam Console Client), which will be used for downloading, installing and updating your ARK server

sudo su - root
apt-get update 
apt-get install steamcmd

Increase Open Files Limit

ARK will not run unless you increase the open files limit on your Ubuntu server to a minimum of 100000.

If you're trying to run more than one game server on your system, you will most likely need to increase this limit even higher.

echo "fs.file-max=100000" >> /etc/sysctl.conf && sysctl -p
echo "* soft nofile 100000" >> /etc/security/limits.conf
echo "* hard nofile 100000" >> /etc/security/limits.conf
echo "session required pam_limits.so" >> /etc/pam.d/common-session

Create ARK User Account

For security reasons, it's recommended that you create a new user account for ARK to run under

adduser --disabled-login --gecos 'ARK Server' ark
su ark

Download ARK

Download ARK via the Steam console client. Depending on the connection speed of your server, this may take a few minutes as it has to download approximately 6 GB worth of files.

steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quit

steamcmd-downloading-ark

Add ARK as a Service

Switch back to the root user

exit

Create systemd service file for ARK

nano /etc/systemd/system/ark.service

Paste the following into the file

Description=ARK Survival Evolved Server
[Service]
Type=simple
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
User=ark
Group=ark
WorkingDirectory=/home/ark/server
ExecStartPre=/usr/games/steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quit
ExecStart=/home/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?RCONEnabled=True?RCONPort=27015 -server -log
ExecStop=killall -TERM srcds_linux
[Install]
WantedBy=multi-user.target

Enable and start ARK service

systemctl enable ark
systemctl start ark

Verify the ARK server is running

service ark status

ark-service-status

Configure ARK Server

The GameUserSettings.ini file is generated the first time that you start the ARK server. If you haven't already started the server, do so now. A full list of server configuration settings is available here.

Open the config file

nano /home/ark/server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

[SessionSettings] section

Set the name of your server

SessionName=your_servers_name

[ServerSettings] section

Set PVE or PVP

ServerPVE=True

Set admin password

ServerAdminPassword=your_password

Set server password (optional)

ServerPassword=your_password

After updating the configuration file, to make the changes take effect, restart the server

service ark restart

Congratulations! Your ARK server should now be up and running. Did you have trouble during a certain part of the guide? Do you have a question on how to do something we haven't covered? Let us know in the comments below!

Install RCON Tool

If you want to issue server commands via the console without logging into the game, you can use a RCON tool.

cd ~
wget https://raw.githubusercontent.com/ericmathison007/gaming/master/tools/rcon.c

Compile RCON tool

gcc -o rcon rcon.c

Tool command syntax

Syntax: rcon [-P"rcon_password"] [-a127.0.0.1] [-p27015] command

Example on issuing the saveworld command

rcon -P"rcon_password" -a127.0.0.1 -p27015 saveworld

Admin Commands

If you're unfamiliar with the console commands, you can view the full list here.

Log into admin

enablecheats <admin_password>

Enable spectator mode

cheat enablespectator

Disable spectator mode

cheat disablespectator

Toggle god mode

admincheat god

Fly around the map

admincheat fly

Fly through objects

admincheat ghost

Deactivate fly mode

admincheat walk

List players

admincheat listplayers

Kick player

admincheat kickplayer <SteamID>

Ban player

admincheat banplayer <SteamID>

Unban player

admincheat unbanplayer <SteamID>

Hide admin icon next to name

cheat setadminicon false

Show administration manager window

showmyadminmanager

Troubleshooting

SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed

The following error message will most likely occur if you haven't increased the open files limit or if your system doesn't have enough RAM

Using binned.
4.5.1-0+UE4 7038 3077 402 7
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
Mods