How to create your own ARK server

Ark: Survival Evolved - Overview

Ark: Survival Evolved (stylized as ΛRK) is an action-adventure game released in 2017 by the game development company Studio Wildcard. The game is available for PC, Xbox One, Nintendo Switch, and PS4. Mobile versions of the game exist for Android and iOS.

In the game, you start as a man or woman stranded naked on the shores of a mysterious island, populated with roaming dinosaurs and other prehistoric animals, called ARK. The player has to hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements to survive. There are currently more than 150 creatures that populate the world of Ark, and one of the primary mechanics of the game is taming these creatures using projectiles like tranquilizing darts or weapons. During the game, the player can team up with, or prey upon, hundreds of other players on various ARK servers to survive, dominate - and finally escape from the island!

This “Ark: Survival Evolved” tutorial provides information on following topics:

What is "Ark: Survival Evolved"?

“Ark: Survival Evolved” is a survival game, as the title indicates, where you are stranded in a hostile world with nothing. You have to hunt, harvest, craft and gather your way towards bigger and better resources. The game concept is similar to other games like Minecraft, Dayz and Rust. You can explore the island and its imposing environment, which is composed of many natural and unnatural structures, above-ground, below-ground, and underwater. While doing this, you discover the most exotic procedurally randomized creatures and rare blueprints, allowing you to build structures and level-up your character. All your actions require resources, and you have to eat and drink to keep your character alive.

The game supports both single-player local games and massive multi-player games using more than 100 Ark servers. You can create a tribe on the server and invite your friends to join your tribe to be even stronger. In your tribe, all tamed dinosaurs and building structures are usually shared between tribe members, and you can delegate tasks to other members of your tribe.

ARK: Survival Evolved

Why Should I Run My Own "Ark: Survival Evolved" Server?

When playing “Ark: Survival Evolved” on one of the existing public servers, you are limited to the constraints and resources available on this server. These predefined ARK maps and assets are an excellent start to get some initial inspiration. Still, they will not allow you to imagine and design your own unique ‘Procedurally Generated ARKs’ for infinite replayability and endless surprises.

By hosting your own “Ark: Survival Evolved” server, you can design your ARK map precisely to your creativity and liking.

In this tutorial, you will learn how to deploy your own “Ark: Survival Evolved” server on a Scaleway Elements Virtual Instance to design your ARK and invite your friends to play with you on a server tailored to your needs.

How Can I Create My Own "Ark: Survival Evolved" Server?

Requirements

Deploying your own “Ark: Survival Evolved” server can be done in a few steps on a Scaleway Elements Developent Instance. If you do not have a Virtual Instance yet, start by deploying your first instance.

Note: The “Ark: Survival Evolved” game server application requires at least 6GB of RAM to start. Memory requirements increase as the number of connected players increases, as well depending on the activated mods. We recommend that you use at minimum a DEV1-L instance for smooth gameplay.

1 . Connect to your Virtual Instance using SSH.

2 . Update the apt packet cache and upgrade the software already installed on the instance:

apt update && apt upgrade -y

3 . Create a new steam user account:

useradd -m steam

4 . The “Ark: Survival Evolved” game server application requires SteamCMD, a command-line version of the Steam client. To install it, the multiverse repository and the i386 architecture are required. Configure these settings and update the apt package manager before installing the SteamCMD client:

add-apt-repository multiverse
dpkg --add-architecture i386
apt update
apt install lib32gcc1 steamcmd -y

During the installation you are asked to agree to Steam’s license agreement. Use the Tab key to move to OK, then press Enter to accept the terms:

5 . Enter the steam user account and create a new directory for the ARK server.

Note: Make sure to have at least 12 GB of free disk space available to be able to download and expand all ARK server files.

su steam
mkdir -p /home/steam/servers/ark

6 . Start the steamcmd client:

steamcmd

The Steam console displays:

Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK.

Steam>

7 . Login as anonymous user to the steam service, set the directory for the ARK server files (/home/steam/servers/ark), and download the application with the ID 376030 for “Ark: Survival Evolved”. Then leave the Steam console using the quit command:

Steam> login anonymous
Steam> force_install_dir /home/steam/servers/ark
Steam> app_update 376030 validate
Steam> exit

Note: You can also execute these steps directly from the console by running the following command:

steamcmd +login anonymous +force_install_dir /home/steam/servers/ark +app_update 376030 +quit

8 . Leave the steam user account:

exit

9 . Create a symlink to the steamcmd application:

ln -s /usr/games/steamcmd /home/steam/steamcmd

10 . Create a systemd script named /etc/systemd/system/ark-server.service with the following contents. Make sure to replace <server_name> with the desired name for your server:

[Unit]
Description=ARK Survival Evolved Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
User=steam
Group=steam
ExecStartPre=/home/steam/steamcmd +login anonymous +force_install_dir /home/steam/servers/ark +app_update 376030 +quit
ExecStart=/home/steam/servers/ark/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=<server_name> -server -log
WorkingDirectory=/home/steam/servers/ark/ShooterGame/Binaries/Linux
LimitNOFILE=100000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID

[Install]
WantedBy=multi-user.target

11 . Enable and start the newly created systemd server:

systemctl enable ark-server && systemctl start ark-server

Note: You can verfiy if your ARK server is running by typing the following command: systemctl status ark-server.service. An output like the following example displays:

● ark-server.service - ARK Survival Evolved Server
   Loaded: loaded (/etc/systemd/system/ark-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-11-12 16:30:05 UTC; 1min 55s ago
  Process: 1791 ExecStartPre=/home/steam/steamcmd +login anonymous +force_install_dir /home/steam/servers/a
 Main PID: 1836 (ShooterGameServ)
    Tasks: 14 (limit: 4915)
   CGroup: /system.slice/ark-server.service
           └─1836 /home/steam/servers/ark/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?Ses

12 . To customize your server, open the GameUserSettings.ini file in a text editor and edit the parameters towards your requirements. You can also use a Configuration sGenerator to automatically generate the required settings from a visual interface.

nano /home/steam/servers/ark/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

13 . Install a firewall on your Virtual Instance to protect it. We use UFW in this tutorial:

apt install ufw

14 . Create a script configure_ufw.sh and put the following content into it:

 #!/bin/sh
 if [[ $EUID -ne 0 ]]; then
     echo "This script must be run as root"
     exit 1
 fi
 for port in 7777 7778 27015; do
     ufw allow $port/udp
 done
 ufw allow 27020/tcp
 ufw allow 22/tcp
 ufw default deny
 ufw default allow outgoing
 ufw enable 
 echo "Firewall rules configured and activated."

How Can I Connect to My Own "Ark: Survival Evolved" Server?

After successfully completing the installation of your ARK server, you can connect to it by following these three steps:

1 . Launch the “Ark: Survival Evolved” client on your local computer and click Join ARK.

2 . Use the server name filter to find your server and select it.

3 . Enter the server password and click Accept to connect to it.

Conclusion

You now have configured a ARK server on a Scaleway Virtual Instance, installed basic protection through UFW and are ready to invite your friends to build your tribe on the server. For more information about customization and additional mods, refer to the official ARK Community platform.

Discover the Cloud That Makes Sense