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.
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
Setting Up Ubuntu for SteamCMD
After completing the prerequisites, you will need to set up Ubuntu correctly on your ECS instance.
2.You will have to update & upgrade your Ubuntu to latest packages using the following commands:
# sudo apt-get update && sudo apt-get upgrade
3.When you see the following message, type 'Y' and press Enter key.
4.Select “install the package maintainer's version” option and then select OK.
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
2.Write the following lines in opened sources.list file as shown below:
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
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
7.After execution of above command, you will see the following screen. Type 'Y' and press Enter key.
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.
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.
2.Select your password of your choice:
3.Enter your information like Full Name, Phone Number, etc.
4.Confirm your information is correct by typing 'Y' and press Enter.
5.To assign admin rights to user, use the following command:
# adduser ark sudo
1.Use the following command to open /etc/sysctl.conf file
# sudo nano /etc/sysctl.conf
2.Add the following line
Press Ctrl + X, write 'Y' and press Enter. Then run
# sysctl -p /etc/sysctl.conf
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:
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
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.
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
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
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
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=simpleRestart=on-failureRestartSec=5StartLimitInterval=60sStartLimitBurst=3User=arkGroup=arkExecStartPre=/home/ark/steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quitExecStart=/home/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=example -server -logExecStop=killall -TERM srcds_linux[Install]WantedBy=multi-user.target
4.Execute the following command to apply your updated changes.
# systemctl daemon-reload
5.Execute the following commands to enable systemd unit and run/start your ARK server.
# systemctl enable ark.service
# systemctl start ark
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.
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:
2.Click on More.
3.Click on Configure Rules.
4.Click on Quickly Create Rules.
5.Add the configurations for port UDP 27015 as shown in screenshot below & click OK.
6.Now, add the configurations for port UDP 7777 as shown in screenshot below & click OK.
7.Now, add the configurations for port UDP 7778 as shown in screenshot below & click OK.
8.Add the configurations for port TCP 27020 as shown in screenshot below & click OK.
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.
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!