How to create an ARK Survival Evolved server on a Linux VPS step by step

Complete tutorial to set up an ARK Survival Evolved server on a Linux VPS using SteamCMD, systemd, and mods — Ubuntu 24.04, ports, backups, and troubleshooting.

Hosting your own ARK Survival Evolved (ASE) server gives you full control over XP rates, mods, PvP rules, and who joins your tribe. Unlike shared servers, a dedicated VPS removes lag during tribe wars, lets you cluster between maps, and keeps your save under your control — without depending on a generic game-hosting provider.

This tutorial targets technical owners who want to run ARK on a Linux VPS using SteamCMD and systemd, with mod configuration, firewall rules, and automated backups. Plan for 30-45 minutes to run through it end to end — the initial server download (~15 GB) is the slowest step and depends on your VPS bandwidth.

The recipe here uses Ubuntu 24.04 LTS, the most common distribution on commercial VPS plans and the one with stable support for the 32-bit libraries the ARK server still needs. It adapts cleanly to Debian 12, but Rocky Linux/Alma require package name adjustments.

Prerequisites

What you need before you start

A VPS with Ubuntu 24.04 LTS, at least 6 GB of RAM, 4 vCPUs, and 50 GB of free SSD storage. Root SSH access and UDP ports 7777, 7778, and 27015 open on the provider firewall (not just on the VPS ufw). ARK does not require a Steam account to run as a dedicated server.

Operating system Ubuntu 24.04 LTS
Minimum RAM 6 GB (10+ players: 12 GB)
Disk 50 GB SSD (~15 GB install)
UDP ports 7777, 7778, 27015
Service user steam (non-root)

First, confirm that your VPS has swap enabled — ARK consumes RAM in bursts during auto-save, and without swap the kernel will silently kill the process. Check with free -h and, if the Swap column shows 0B, create a 4 GB swapfile with fallocate -l 4G /swapfile.

Server preparation

This section sets up the non-root user, installs system dependencies, and prepares the directory structure. Running the ARK server as root is a common mistake — an exploit in the game would expose the entire VPS.

01

Update the package index and install dependencies:

sudo apt update
sudo apt install -y lib32gld1 lib32stdc++6 libcurl4 libcurl4:i386 wget tar curl

The ARK server still ships 32-bit binaries — without the :i386 libraries the process crashes at boot with error while loading shared libraries. The libcurl4:i386 package in particular is the most frequent error on Ubuntu 24.04.

02

Add the multiarch repository for 32-bit support and install SteamCMD:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository multiverse
sudo apt install -y steamcmd

SteamCMD is Valve’s official command-line tool for downloading Steam content — you will use it to fetch the ARK server and the mods.

03

Create a dedicated user for the server and the install directories:

sudo useradd -m -s /bin/bash steam
sudo mkdir -p /home/steam/arkserver
sudo chown -R steam:steam /home/steam/arkserver

From here on, every server-related command should run as the steam user (use sudo -u steam -i to switch into that account). The systemd service we are going to create also runs under this account.

Downloading and installing the ARK server

This step downloads the ~15 GB ARK server from Valve’s CDN. On a VPS with a 1 Gbps link the download takes 5-10 minutes; on slower links it can take 30+ minutes.

04

As the steam user, download the ARK server via SteamCMD (App ID 376030):

sudo -u steam -i
steamcmd +force_install_dir /home/steam/arkserver +login anonymous +app_update 376030 validate +quit

The validate flag forces an integrity check — recommended on the first install and on any update. +login anonymous works because the ARK Server is free; a Steam account would only be needed for paid games.

Watch the disk space

A complete ARK server install uses ~15 GB. If you add 2-3 large mods (S+, Awesome SpyGlass, Structures Plus), you can easily exceed 25 GB. Check df -h before downloading.

05

Create the server startup script:

mkdir -p /home/steam/arkserver/ShooterGame/Saved/Config/LinuxServer
nano /home/steam/arkserver/start-ark.sh

Paste the content below (adjust SessionName, ServerPassword, and ServerAdminPassword):

#!/bin/bash
cd /home/steam/arkserver/ShooterGame/Binaries/Linux
./ShooterGameServer "TheIsland?listen?SessionName=MyServer?ServerPassword=pass123?ServerAdminPassword=admin456?Port=7777?QueryPort=27015?MaxPlayers=20" -server -log

Make the script executable:

chmod +x /home/steam/arkserver/start-ark.sh

TheIsland is the default map — swap it for Ragnarok, TheCenter, ScorchedEarth, Aberration, Extinction, Valguero, CrystalIsles, Genesis, or GenesisPart2 as desired. Larger maps use more RAM.

systemd service and firewall

Running the server directly with ./start-ark.sh works for testing, but in production you need auto-restart on crash and auto-start when the VPS boots. Systemd solves both.

06

Create the systemd unit as root:

exit  # leave the steam user shell
sudo nano /etc/systemd/system/arkserver.service

Paste the content:

[Unit]
Description=ARK Survival Evolved Server
After=network.target

[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam/arkserver
ExecStart=/home/steam/arkserver/start-ark.sh
Restart=on-failure
RestartSec=30
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Restart=on-failure restarts the server if it crashes; RestartSec=30 waits 30 seconds before bringing it back up, avoiding an infinite loop when something is genuinely broken.

07

Enable and start the service:

sudo systemctl daemon-reload
sudo systemctl enable arkserver
sudo systemctl start arkserver
sudo systemctl status arkserver

The first start takes 3-5 minutes to load the map — you will see [ARK] Server started in the log when it is ready. Follow along with sudo journalctl -u arkserver -f.

08

Configure the firewall and open the required UDP ports:

sudo ufw allow 7777/udp
sudo ufw allow 7778/udp
sudo ufw allow 27015/udp
sudo ufw allow 22/tcp
sudo ufw enable

Port 22 (SSH) must be allowed before enabling ufw — forgetting this is the most common way to lock yourself out of the VPS. Confirm with sudo ufw status numbered.

Installing Workshop mods

Mods are optional, but they are the main reason to host your own server. ARK uses the Steam Workshop, and mods are downloaded automatically by SteamCMD on the first start after you add the IDs.

09

Stop the server before changing the configuration:

sudo systemctl stop arkserver

Edit the GameUserSettings.ini file:

sudo -u steam nano /home/steam/arkserver/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

Add inside the [ServerSettings] section (create it if it does not exist):

[ServerSettings]
ActiveMods=731604991,1404697612,1814953878

The IDs are the numbers in the Workshop mod URL (steamcommunity.com/sharedfiles/filedetails/?id=NUMBER). The three above are examples: Structures Plus, Awesome SpyGlass, and Super Structures.

10

Restart the server to download and activate the mods:

sudo systemctl start arkserver
sudo journalctl -u arkserver -f

On the first boot with mods, the server takes 10-20 minutes to download, extract, and mount them — do not give up or restart in the middle. Watch the log until you see ActiveMods: ID1, ID2, ID3 mounted successfully.

Back up before every new mod

Poorly maintained mods can corrupt the save permanently. Always back up ShooterGame/Saved/SavedArks/ before adding a new mod — we have seen unrecoverable saves after a problematic S+ update.

Verification

Confirm that the server is running and visible to players:

sudo systemctl status arkserver
sudo ss -tulpn | grep -E "7777|7778|27015"

The ss output should show the three ports in the LISTEN state. In the ARK client, open the unofficial servers menu and look for the SessionName you set — if it appears, the server is reachable through the Steam Query Protocol.

If the server does not appear in the public list but the IP responds, the issue is almost always the 27015 (query) port being blocked — check the VPS provider firewall, not just ufw.

Troubleshooting

Error “libcurl.so.4: cannot open shared object file”

Missing 32-bit library. Run:

sudo apt install -y libcurl4:i386

This error shows up on Ubuntu 22.04+ because the ARK server still uses legacy x86 binaries.

Server crashes after a few hours (out-of-memory)

Check whether the OOM killer was involved:

sudo dmesg | grep -i "killed process"

If you see Killed process ... ShooterGameServer, the VPS is out of RAM. Reduce MaxPlayers, remove heavy mods, or upgrade to a plan with more memory.

Corrupted save after a crash

ARK saves to ShooterGame/Saved/SavedArks/. If the main save is corrupted, ARK generates .bak files automatically — restore by renaming:

cd /home/steam/arkserver/ShooterGame/Saved/SavedArks
cp TheIsland.ark.bak TheIsland.ark
Automated backups are mandatory

Set up periodic backups of the SavedArks directory through cron. A corrupted save without backup means losing weeks of progress. Consider daily VPS snapshots as well.

Next steps

With the server running, consider the following steps to harden the operation:

  • Configure automated daily save backups via cron, with 7-day retention in a separate directory
  • Enable admin chat logging with ServerChatLog=True in GameUserSettings.ini to audit cheat commands
  • Configure clustering between multiple maps (TheIsland + Ragnarok, for example) using ClusterDirOverride and clusterid
  • Add a Discord webhook for server status notifications (start, stop, connected players)
  • Monitor RAM and CPU usage with htop or through the VPS metrics dashboard

If you are taking this to production, a Hostini Linux VPS tuned for games ships with a kernel tuned for UDP throughput, a real 1 Gbps link, and daily snapshots — which covers automated backups without you having to set up cron.

Frequently asked questions

What is the minimum VPS spec to run ARK Survival Evolved?

For up to 10 players on the default map, plan for 6 GB of RAM, 4 vCPUs, and 50 GB of SSD storage. Larger maps (Ragnarok, Crystal Isles) or clusters with heavy mods can easily climb to 12-16 GB of RAM. ARK is more memory-bound than CPU-bound — insufficient RAM causes stutters and intermittent crashes.

Can I run ARK Survival Ascended (ASA) on Linux?

ARK Survival Ascended currently has no official Linux build — only Windows Server. Running ASA on a Linux VPS through Wine or Proton is unstable and not recommended in production. This tutorial covers ARK Survival Evolved (ASE), which has a stable native Linux server.

How do I open the ARK server ports on the firewall?

ARK uses UDP 7777 (game), UDP 7778 (raw socket), and UDP 27015 (Steam query) by default. Allow all three in ufw with sudo ufw allow 7777/udp, 7778/udp, and 27015/udp. If the server does not appear in the public Steam list, the 27015 query port is almost always the culprit.

How do I install Workshop mods on a Linux ARK server?

Edit GameUserSettings.ini and add ActiveMods=ID1,ID2,ID3 with the Workshop IDs. On the first start, SteamCMD downloads the mods automatically into ShooterGame/Content/Mods. Large mods (S+, Awesome SpyGlass) can take 10-15 minutes to extract on first boot — do not interrupt the process.

How much bandwidth does an ARK server use?

Realistic estimate: ~50-100 KB/s per connected player during active play, with spikes around 200 KB/s during raids or events. For 20 concurrent players, expect ~2 Mbps of sustained upload. A VPS with a 1 Gbps link is more than enough, but plans with monthly traffic caps need attention on 24/7 servers.

Why does the ARK server keep restarting on its own?

Most common causes: out-of-memory (the kernel OOM killer terminates the process — check dmesg), save corruption (check the ShooterGame logs), and a mod crash incompatible with the current game version. Set up automated backups before adding any new mod.

Topics:
Next steps VPS, dedicated or managed panel for FiveM, SAMP, MTA, Tibia and more.Host your game server with Hostini →
Was this tutorial helpful?
Chat on WhatsApp