How to Set Up an ARK: Survival Evolved Server on Ubuntu OS

By Arslan Ud Din Shafiq, Alibaba Cloud Tech Share Author

ARK: Survival Evolved is an adventure-action genre video game. It is my personal favorite and one of the most played games worldwide. You can play as a single player or play with your friends on a server in multiplayer mode. There are a few ways to host a multiplayer server: buying a dedicated gaming server, using a third-party service, or creating your own on Alibaba Cloud!

As a gamer and developer, I prefer to have more flexibility when it comes to creating dedicated gaming servers. One major benefit of using a cloud provider, such as Alibaba Cloud, is that I do not have to worry about maintaining or upgrading the hardware in my server. It is also elastic, which means that I can easily scale my resources based on demands.

In this tutorial, I will be using an Ubuntu 16.04 server on Alibaba Cloud Elastic Compute Service (ECS). You could also use other operating systems (OS); however, the steps may differ slightly from this tutorial. To setup your own ARK: Survival Evolved server, follow the tutorial below.

Prerequisites:

1.You must have an Alibaba Cloud ECS instance activated. If you are a new user, you can get free $300 credit in your Alibaba Cloud account. If you don’t know how to setup your instance, you can refer to this tutorial or the quick-start guide.
2.You must have a copy of game client from https://www.playark.com to use your ARK: Survival Evolved server.
3.You should setup your server’s hostname.

Minimum Requirements for ARK: Survival Evolved Server

1.Ubuntu 16.04 (64 bit) installed on your Alibaba Cloud ECS
2.6 GB RAM required (8 GB Recommended)
3.Fast Internet (you can purchase bandwidth on ECS for internet access)

Setting Up Ubuntu for SteamCMD

After completing the prerequisites, you will need to set up Ubuntu correctly on your ECS instance.

1.Login as root user with your root username & password via SSH client (e.g. Putty — You can get Putty from https://www.putty.org ). You can also connect directly using the Alibaba Cloud console.

2.You will have to update & upgrade your Ubuntu to latest packages using the following commands:

# sudo apt-get update && sudo apt-get upgrade

Image for post
Image for post

3.When you see the following message, type ‘Y’ and press Enter key.

Image for post
Image for post

4.Select “install the package maintainer’s version” option and then select OK.

Image for post
Image for post

Installing SteamCMD:

To install SteamCMD in Ubuntu, follow the steps below:

1.You will have to open the sources.list in nano editor using the following command:

# sudo nano /etc/apt/sources.list

Image for post
Image for post

2.Write the following lines in opened sources.list file as shown below:

deb http://archive.ubuntu.com/ubuntu xenial main universe multiversedeb http://archive.ubuntu.com/ubuntu xenial-updates main universe multiversedeb http://archive.ubuntu.com/ubuntu xenial-security main universe multiverse

Image for post
Image for post

3.After you have done writing, press Ctrl + X, type ‘Y’ and press Enter key.
4.Now, type the following command in your terminal:

# sudo dpkg --add-architecture i386

5.Now you will need to update your package again using the following command:

# sudo apt-get update

Image for post
Image for post

6.Now type the following command to proceed towards installation of SteamCMD:

# sudo apt-get install steamcmd

If above command gives any error, then you may use the following command:

# sudo apt-get -f install steamcmd

Image for post
Image for post

7.After execution of above command, you will see the following screen. Type ‘Y’ and press Enter key.

Image for post
Image for post

8.During installation of SteamCMD, a screen will appear to ask regarding terms and agreement. Select OK option and then select I AGREE to accept these terms and agreement and select OK.

Image for post
Image for post
Image for post
Image for post

Adding a New User in Ubuntu

To avoid any security issues, you will have to add another user on your server.

1.To add user, use the following command:

# adduser ark

Note: ark can be any username of your choice.

Image for post
Image for post

2.Select your password of your choice:

Image for post
Image for post

3.Enter your information like Full Name, Phone Number, etc.

Image for post
Image for post

4.Confirm your information is correct by typing ‘Y’ and press Enter.

Image for post
Image for post

5.To assign admin rights to user, use the following command:

# adduser ark sudo

Image for post
Image for post

Configure Open Files Limit:

1.Use the following command to open /etc/sysctl.conf file

# sudo nano /etc/sysctl.conf

2.Add the following line

fs.file-max=100000

Image for post
Image for post

Press Ctrl + X, write ‘Y’ and press Enter. Then run

# sysctl -p /etc/sysctl.conf

Image for post
Image for post

3.Use the following command to open /etc/security/limits.conf file

# sudo nano /etc/security/limits.conf

4.Update the following lines to the lines below in opened file and use Ctrl + X, then type ‘Y’ and press Enter to save the settings:

* softnofile1000000
* hardnofile1000000

Image for post
Image for post

5.Use the following command to open /etc/pam.d/common-session file

# sudo nano /etc/pam.d/common-session

6.Add the following line in the opened file as shown in screenshot below and use Ctrl + X, then type ‘Y’ and press Enter to save the settings:

# session required pam_limits.so

Image for post
Image for post

The above changes are necessary for tuning. Otherwise, consumption of system resources would be higher.

Installing ARK Server

Now let’s proceed towards the installation of ARK server.
1.Firstly, you will have to create a server directory that contains the files of your ARK server. To create a directory, execute the following commands in your terminal:

# mkdir server

The argument server is the name of directory.

Image for post
Image for post

2.Now let’s create symlink from the location /usr/games/steamcmd to steamcmd in your user’s directory. In my case, username is ark, so mine would be ark user’s directory. To do this, use the following command:

# ln -s /usr/games/steamcmd steamcmd

Image for post
Image for post

3.Use the following command to run streamcmd for installation of ARK server.

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

Image for post
Image for post

Now you can see that your app has been successfully installed.

Creating a systemd Unit for ARK Server

1.When the system is restarted or rebooted, we will create a systemd unit file to automatically start the ARK server. For this purpose, we will log in again from our root account or we can simply switch user to root by using the following command:

Command to switch user to root:

# su -

2.Now to create a new systemd file, execute the following command:

# nano /lib/systemd/system/ark.service

Image for post
Image for post

3.Type the following lines in opened file in nano editor. Use Ctrl + X, type ‘Y’ and press Enter key to save the file.

[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
Image for post
Image for post

4.Execute the following command to apply your updated changes.

# systemctl daemon-reload

Image for post
Image for post

5.Execute the following commands to enable systemd unit and run/start your ARK server.
# systemctl enable ark.service

Image for post
Image for post

# systemctl start ark

Image for post
Image for post

Configuring ARK Server

Now, after successful execution of the commands above, you will need to configure your server by editing settings in GameUserSettings.ini file. You can setup password for the users and admin in this file. You can also leave user’s password blank when you want your users to connect with your server without any password. Admin password is required while issuing game commands. To do this, you can follow the commands below:

1.Open the GameUserSettings.ini file.

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

2.Now add the following lines given below in opened nano editor and use Ctrl + X, type ‘Y’ and press Enter to save the settings.

Image for post
Image for post

Setting Up Firewalls for ARK Server

You can protect your ARK server from unauthorized access by setting up firewalls. To do this, follow the following instructions.

If you have activated firewalls, you will have to define a rule in Alibaba Cloud security group for your cloud server to add exception for port 27015, 7777, 7778 and 27020. By default, these ports are blocked by the firewalls.
1.Go to your Elastic Compute Service section:

Image for post
Image for post

2.Click on More.

Image for post
Image for post

3.Click on Configure Rules.

Image for post
Image for post

4.Click on Quickly Create Rules.

Image for post
Image for post

5.Add the configurations for port UDP 27015 as shown in screenshot below & click OK.

Image for post
Image for post

6.Now, add the configurations for port UDP 7777 as shown in screenshot below & click OK.

Image for post
Image for post

7.Now, add the configurations for port UDP 7778 as shown in screenshot below & click OK.

Image for post
Image for post

8.Add the configurations for port TCP 27020 as shown in screenshot below & click OK.

Image for post
Image for post

Connecting to Your ARK Survival Server

After successfully completing all the previous steps, you should be able to connect to your ARK server. To do this, you just need to perform three steps.

1.Open your ARK Survival client and click Join ARK.
2.Use Server Name Filter and select your server.
3.Enter password and click Accept.

Conclusion

If you follow all the steps correctly, you should have a fully functional and dedicated ARK gaming server. If you are interested to know how to host a Minecraft server on Alibaba Cloud, you should definitely check out my Minecraft tutorial!

I will be writing more tutorials on gaming in the near future. If you are interested in writing, feel free to check out the Tech Share program. Be sure to stay up to date with the official Alibaba Cloud Blog!

Reference:

https://www.alibabacloud.com/blog/how-to-set-up-an-ark-survival-evolved-server-on-ubuntu-os_574283?spm=a2c41.11384718.0.0

Written by

Follow me to keep abreast with the latest technology news, industry insights, and developer trends.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store