Create an ARK: Survival Evolved Server on Ubuntu 16.04
Updated by Linode Written by Nick Brewer
Dedicated CPU instances are available!Linode's Dedicated CPU instances are ideal for CPU-intensive workloads like those discussed in this guide. To learn more about Dedicated CPU, read our blog post. To upgrade an existing Linode to a Dedicated CPU instance, review the Resizing a Linode guide.
This guide will show you how to set up a personal ARK: Survival Evolved server on a Linode running Ubuntu 16.04 LTS (Xenial Xerus).
NoteThe steps in this guide require root privileges unless otherwise noted. Be sure to run the steps below asroot
or with thesudo
prefix. For more information on privileges, see our Users and Groups guide.
Before You Begin
To connect to your ARK server, you must have a copy of the ARK game client.
In keeping with the system requirements for an ARK server, we recommend using our 8GB plan or a high memory Linode when following these steps.
Update your Linode’s software:
apt-get update && apt-get upgrade
Install SteamCMD, the Steam command line interface:
apt-get install steamcmd
During the installation process, you will be prompted to agree to the Steam License Agreement. Select I Agree and hit Ok to accept the terms of the agreement.
For security reasons, you’ll create a separate
ark
user to run your server application. Take note of the password you assign:adduser ark
Adjust Your System Settings
Run the following command to increase the allowed number of open files:
echo "fs.file-max=100000" >> /etc/sysctl.conf && sysctl -p
Update the hard and soft file limits by running:
echo "* soft nofile 1000000" >> /etc/security/limits.conf echo "* hard nofile 1000000" >> /etc/security/limits.conf
Enable PAM limits by issuing this command:
echo "session required pam_limits.so" >> /etc/pam.d/common-session
Install Your ARK Server
Switch your session to that of the
ark
user, and create aserver
directory that will contain your ARK server files:su - ark mkdir server
Create a symlink from
/usr/games/steamcmd
tosteamcmd
in theark
user’s home directory:ln -s /usr/games/steamcmd steamcmd
Run
steamcmd
with the following options to install the ARK server:steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quit
This will take several minutes to complete.
Create a systemd Unit for Your ARK Server
By creating a systemd unit file for your ARK server, it can be set to start automatically after a reboot.
Switch back to your root user session:
su -
Create a new systemd service file and add the following values to it. Fill in the
SessionName
value on line 12 with the name you’ll use to identify your ARK server:- /lib/systemd/system/ark.service
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[Unit] Description=ARK Survival Evolved [Service] Type=simple Restart=on-failure RestartSec=5 StartLimitInterval=60s StartLimitBurst=3 User=ark Group=ark ExecStartPre=/home/ark/steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quit ExecStart=/home/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=example -server -log ExecStop=killall -TERM srcds_linux [Install] WantedBy=multi-user.target
Save and exit the file.
Update systemd to apply your changes:
systemctl daemon-reload
Enable your new systemd unit and start your ARK server:
systemctl enable ark.service systemctl start ark
Configure Your ARK Server
Once you’ve started the server, you can add or remove settings by editing the GameUserSettings.ini
file under /home/ark/server/ShooterGame/Saved/Config/LinuxServer
. Add the following settings within the [ServerSettings]
section of that file, replacing the “example” passwords with your own:
- /home/ark/server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
-
1 2
ServerPassword=example ServerAdminPassword=example
ServerPassword
determines the password that users will be required to enter when connecting to your server. You can omit this line to allow access without a password. ServerAdminPassword
specifies the administrative password that will be used when issuing game commands.
NoteIf you choose to use theServerPassword
option, when connecting to the server you will need to click on Show Password Protected, or manually add the server to your favorites list. Both options are shown in the next section.
A number of options can be configured within this file - for more information take a look at the Server Configuration section of the ARK wiki.
Connect the Game Client to Your ARK Server
You can connect to your new ARK server using two different methods. Because the game is currently in pre-release and under heavy development, some functionality may change or work intermittently. While finding your server from within the game itself is often easier, it’s not always reliable (as of this guide’s publication), so we’ll also go over how to add it to your favorite servers in the Steam client.
In-Game Server List
On your local computer, open the ARK: Survival Evolved game client. Click on JOIN ARK:
As the server list populates, you can filter the results using the Server Name Filter field (1). You must also select UnOfficial from the Server Filter field (2). If you’ve password-protected your ARK server, you must also check the Show Password Protected box (3):
Select your server, and click Join. If your server is password-protected, you’ll be prompted to enter the password.
Steam Server Favorites
Open the Steam application on your local machine, select the File (or View on OS X) menu and navigate to Servers.
Under FAVORITES select ADD A SERVER and direct Steam to connect to your Linode’s IP address or domain name:
Once Steam identifies your ARK server, it should appear in the SERVERS list. Choose your server and hit CONNECT:
Alternately, you can select Favorites from the Server Filter in the in-game server list:
If you’ve created a server password in your
GameUserSettings.ini
file, enter it here:Or if you are using the in-game menu, enter the server password here:
Congratulations! You can now explore the world of ARK in your own persistent server.
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
Join our Community
Find answers, ask questions, and help others.
This guide is published under a CC BY-ND 3.0 license.