The definitive 2026 ARK dedicated server guide — covers both ARK: Survival Ascended (the UE5 remaster most servers are running now) and ARK: Survival Evolved (still alive with its huge legacy mod library). Full install walkthroughs, GameUserSettings.ini deep dive, the mod install trap that catches nearly everyone (-passivemods), clustering, crossplay, RCON, backups, and hardware recommendations that actually hold up under load.

Heads up — ASA has no native Linux server

Studio Wildcard never shipped a native Linux binary for ARK: Survival Ascended. You have two real options on Linux: run the Windows server binary under Proton/Wine (community-supported, the cdp1337/ARKSurvivalAscended-Linux script automates this on Debian/Ubuntu) or use Windows directly. If you want a pure native Linux server, stick with ASE. We cover both paths in full below.

01 // Which version should you run?

ASA is the graphical and engine upgrade with a brand-new CurseForge-based mod ecosystem. ASE is the battle-tested original with a decade of Steam Workshop mods and a native Linux binary. The right answer depends on your community, hardware budget, and mod tolerance.

// ASA vs ASE picker

Comparison at a glance:

  ARK: Survival Ascended (ASA) ARK: Survival Evolved (ASE)
Steam App ID2430930376030
Native Linux serverNo — Windows binary under ProtonYes — native ELF
RAM (single vanilla map)12–16 GB6–8 GB
Disk space~30 GB~20 GB
Mod sourceCurseForge (official)Steam Workshop
Mod catalog size (2026)Growing — hundreds of modsMature — thousands of mods
Crossplay (PS5/Xbox)YesPC only
Query port neededNo (EOS only)Yes (27015)
Active developmentYes — new content hereMaintenance only
Recommended planHostinger KVM 4 / KVM 8Hostinger KVM 2 / KVM 4

02 // Requirements

ARK is one of the most RAM-hungry survival games ever shipped. Underprovisioning is the single most common reason servers crash or tick below 15 FPS. These are the real minimums — not the marketing ones.

ASA (Survival Ascended) minimums

  • OS: Debian 12 / Ubuntu 22.04 LTS with Proton (GloriousEggroll recommended), or Windows Server 2019+.
  • CPU: 4 modern cores minimum — single-thread performance matters more than core count. Prefer AMD EPYC or Intel Xeon Gold/Platinum tiers on VPS shopping lists.
  • RAM: 16 GB for a single vanilla map, 24–32 GB for modded, 32 GB+ for a 2–4 map cluster.
  • Storage: 30 GB free NVMe. Save files balloon with tames and structures.
  • Network: 100 Mbit symmetric, public IPv4.
  • Ports: 7777/udp (game), 27020/tcp (RCON, optional). No query port — ASA uses EOS discovery.

ASE (Survival Evolved) minimums

  • OS: Debian 11/12 or Ubuntu 20.04/22.04 LTS. Native ELF binary.
  • CPU: 2–4 cores.
  • RAM: 8 GB single map, 16 GB modded or multi-map.
  • Storage: 20 GB free.
  • Ports: 7777/udp (game), 7778/udp (steam raw), 27015/udp (query), 27020/tcp (RCON, optional).
Hardware reality check

A 4-map ASA cluster with 20 players and a couple of QoL mods will peak around 28–30 GB of RAM in use. Buy once, buy enough. The savings from picking the next tier down evaporate the first time your server OOM-kills mid-raid.

03 // Install ASE — native Linux path

This is the clean path: Wildcard ships a native Linux binary, so there’s no Proton layer, no Wine prefixes, no weirdness. If you picked ASE above, start here. If you picked ASA, skip to section 04.

3.1 Create the steam user and install SteamCMD

# as root
apt update && apt upgrade -y
dpkg --add-architecture i386
apt update
apt install -y software-properties-common lib32gcc-s1 libsdl2-2.0-0:i386 curl wget tar unzip

useradd -m -s /bin/bash steam
su - steam
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxvf -

3.2 Download the ASE server (app 376030)

# still as steam user
mkdir -p ~/servers/ark
./steamcmd.sh +force_install_dir /home/steam/servers/ark \
  +login anonymous \
  +app_update 376030 validate \
  +quit

First download is ~20 GB — go make a coffee. Re-run the same command anytime Wildcard ships an update.

3.3 First launch — generate the config files

ARK only writes GameUserSettings.ini and Game.ini on first shutdown, so you need to boot once and stop it cleanly:

cd /home/steam/servers/ark/ShooterGame/Binaries/Linux/
./ShooterGameServer "TheIsland?listen?SessionName=MyArk?ServerPassword=changeme?ServerAdminPassword=admin123?Port=7777?QueryPort=27015?MaxPlayers=20" -server -log
# wait until you see "Wildcard is up", then Ctrl+C to stop

# configs now exist at:
# /home/steam/servers/ark/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
# /home/steam/servers/ark/ShooterGame/Saved/Config/LinuxServer/Game.ini
Tip — never put admin passwords on the command line

The launch string above is for the first boot only. After configs exist, move ServerPassword and ServerAdminPassword into GameUserSettings.ini under [ServerSettings]. Anything on the command line is visible in ps aux to every user on the box.

04 // Install ASA — Proton / Windows path

ASA has no Linux-native binary, so on a Linux VPS you run the Windows server under Proton (Valve’s Wine fork). The community-maintained cdp1337/ARKSurvivalAscended-Linux script handles Proton install, creates a steam user, registers a systemd service, and sets up sensible defaults. It’s the closest thing to a one-line install ARK has on Linux.

4.1 Install ASA on Debian 12 / Ubuntu 22.04 LTS

# as root
apt update && apt upgrade -y
apt install -y curl wget sudo

# Download and run the community installer
curl -o /tmp/install.sh -L https://raw.githubusercontent.com/cdp1337/ARKSurvivalAscended-Linux/main/install.sh
chmod +x /tmp/install.sh
sudo /tmp/install.sh

The installer will:

  • Create a steam system user
  • Install SteamCMD and GloriousEggroll’s Proton build
  • Download ASA server (app 2430930) into /home/steam/ArkSurvivalAscended/
  • Register a ark-island.service systemd unit so the server auto-starts on boot and restarts on crash

4.2 Configure your first map

After install, edit the systemd unit or the generated config to set session name, ports, and admin password. The installer drops convenience links in /home/steam/ArkSurvivalAscended/ that point at the real config paths.

# Start and enable the service
systemctl enable --now ark-island
systemctl status ark-island

# Follow the log live
journalctl -u ark-island -f

First launch takes 3–5 minutes as Proton builds its prefix and ARK loads the map. You’ll see the familiar Commandlet display: lines, then Wildcard is up.

4.3 Alternative — Windows Server install

If you’re running Windows Server 2019+ natively, use SteamCMD directly. No Proton needed:

steamcmd +force_install_dir C:\ARKServer +login anonymous +app_update 2430930 validate +quit

Then launch with:

ArkAscendedServer.exe TheIsland_WP?listen?SessionName=MyArk?Port=7777?MaxPlayers=20?ServerAdminPassword=admin123 -NoBattlEye
Map names have the _WP suffix in ASA

ASA maps use the _WP (World Partition) suffix: TheIsland_WP, ScorchedEarth_WP, TheCenter_WP, Aberration_WP, Extinction_WP, etc. Leaving the suffix off silently loads an empty void — one of the most-reported “my server won’t start” issues.

05 // Ports & firewall

The single biggest “my server doesn’t show up” issue is the firewall. Open the right ports for your version and only those ports.

# UFW on Debian/Ubuntu — ASE
ufw allow 7777/udp
ufw allow 7778/udp
ufw allow 27015/udp
ufw allow 27020/tcp   # only if you expose RCON
ufw reload

# UFW on Debian/Ubuntu — ASA
ufw allow 7777/udp
ufw allow 27020/tcp   # only if you expose RCON
ufw reload
Never expose RCON to the public internet

RCON is a plaintext protocol. If you need remote admin, restrict the RCON port to specific IPs (ufw allow from X.X.X.X to any port 27020 proto tcp) or tunnel over SSH. Bots scrape open RCON ports constantly — one weak admin password and your map is gone.

06 // systemd service (ASE)

ASA users get systemd for free via the cdp1337 installer. For ASE, create your own unit so the server auto-restarts and starts at boot.

# as root
cat > /etc/systemd/system/ark-ase.service << 'EOF'
[Unit]
Description=ARK Survival Evolved Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam/servers/ark/ShooterGame/Binaries/Linux
ExecStartPre=/home/steam/steamcmd/steamcmd.sh +force_install_dir /home/steam/servers/ark +login anonymous +app_update 376030 +quit
ExecStart=/home/steam/servers/ark/ShooterGame/Binaries/Linux/ShooterGameServer "TheIsland?listen?SessionName=MyArk?Port=7777?QueryPort=27015?MaxPlayers=20" -server -log
Restart=on-failure
RestartSec=15
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now ark-ase
journalctl -u ark-ase -f

The ExecStartPre line auto-updates the server every time it starts, so you never fall behind a Wildcard patch. Comment it out during a wipe week if you want to freeze the version.

07 // GameUserSettings.ini — rates & multipliers

ARK’s tuning is famously deep. Almost every rate in the game is a float multiplier, and the defaults (1.0) are balanced around a hardcore 12–24h taming loop that burns most players out. Here’s what each main setting actually does, and a calculator to generate a config block you can paste straight in.

SettingWhat it controlsVanillaPopular QoL
XPMultiplierPlayer/tame XP gain1.02.0–3.0
TamingSpeedMultiplierHow fast tames fill the taming bar1.03.0–5.0
HarvestAmountMultiplierResources per harvest tick1.02.0–3.0
MatingIntervalMultiplierCooldown between breeds (lower = faster)1.00.5
EggHatchSpeedMultiplierEgg incubation speed1.05.0–10.0
BabyMatureSpeedMultiplierJuvenile growth speed1.010.0–25.0
DayCycleSpeedScaleDay/night cycle speed (lower = longer days)1.00.5
StructureDecayPVEMultiplierPvE auto-decay of abandoned bases1.00.0 (off)

Interactive rate calculator

Pick your multipliers and copy the generated [ServerSettings] block straight into GameUserSettings.ini.

// rate multiplier calculator
[ServerSettings] XPMultiplier=3.0 HarvestAmountMultiplier=3.0 TamingSpeedMultiplier=5.0 MatingIntervalMultiplier=0.5 EggHatchSpeedMultiplier=10.0 BabyMatureSpeedMultiplier=20.0

08 // Game.ini — advanced tuning

Game.ini holds the deeper knobs: per-stat XP requirements, engram unlock rules, per-species spawn rates, and the stat-point-per-level overrides that turn ARK into a different game. If GameUserSettings.ini is “how fast”, Game.ini is “how much”.

Per-stat multipliers

Under [/script/shootergame.shootergamemode], these lines override how much Health, Stamina, Oxygen, Food, Weight, Melee, and Movement each point gives you on tames. The index order is 0=Health, 1=Stamina, 2=Torpidity, 3=Oxygen, 4=Food, 5=Water, 6=Temperature, 7=Weight, 8=Melee, 9=Speed.

[/script/shootergame.shootergamemode]
PerLevelStatsMultiplier_DinoTamed<add>[0]=2.0    ; +2x post-tame HP gain per level
PerLevelStatsMultiplier_DinoTamed<add>[7]=2.0    ; +2x weight gain per level
PerLevelStatsMultiplier_DinoTamed<add>[8]=1.5    ; +1.5x melee per level
PerLevelStatsMultiplier_Player[0]=1.5                 ; +1.5x HP per player level
PerLevelStatsMultiplier_Player[7]=3.0                 ; +3x player weight per level

Engrams & level cap

[/script/shootergame.shootergamemode]
LevelExperienceRampOverrides=(ExperiencePointsForLevel[0]=10,ExperiencePointsForLevel[1]=25,...) ; full array for player levels
OverridePlayerLevelEngramPoints=5     ; engram points awarded per level (repeat line per level)
AutoUnlockAllEngrams=True              ; skip the engram puzzle entirely

Hand-crafting the full LevelExperienceRampOverrides array is painful — use the ArkForum level generator or our upcoming tool to produce it.

Always restart after Game.ini edits

ARK reads Game.ini only at boot. Changes made while the server is running are ignored until the next restart. The same applies to mod IDs — adding a mod to the launch parameters requires a full service restart, not just a reload.

09 // Installing mods

Mods are where ARK goes from “fine” to “thousand-hour community”. The install flow is completely different between ASA and ASE — and there’s one specific gotcha in ASA that silently bricks mod loading for thousands of new admins.

ASA mods — CurseForge

ASA mods are distributed through CurseForge. You reference them by the numeric project ID (the number in the mod’s CurseForge URL), and the server auto-downloads them on first boot.

Add the mod IDs to your launch line as -mods=ID1,ID2,ID3:

ArkAscendedServer.exe TheIsland_WP?listen?SessionName=MyArk?Port=7777?MaxPlayers=20 \
  -mods=928548,930404,935587 \
  -NoBattlEye
The -passivemods trap

ARK distinguishes between “active” mods (content, gameplay) and “passive” mods (server-side utilities, RCON helpers, cosmetic packs with no active gameplay). Passive mods must appear in both -mods= and -passivemods= — leaving them out of -passivemods makes them silently not load, but the server starts without error.

This is so common that even the Ark Ascended Server Manager tool had it as a shipped bug for months. If a mod installs cleanly but does nothing in-game, add its ID to -passivemods too:

-mods=928548,930404,935587,1000101 \
-passivemods=1000101

ASE mods — Steam Workshop

ASE uses Steam Workshop. You put the Workshop numeric IDs into GameUserSettings.ini under [ServerSettings]:

[ServerSettings]
ActiveMods=731604991,729352919,793605978
; first mod in the list is the "priority" mod (total-conversion loads first)

SteamCMD downloads Workshop items automatically when the server starts. To force an immediate update without restarting:

./steamcmd.sh +login anonymous \
  +force_install_dir /home/steam/servers/ark \
  +workshop_download_item 346110 731604991 \
  +quit

Mods live in ShooterGame/Content/Mods/. If a mod breaks after a Wildcard patch, delete its folder and let SteamCMD re-download.

Clients must subscribe separately

On ASE, every player connecting to a modded server must subscribe to the same Workshop mods on their Steam account — the server does not ship content to clients. ASA handles this automatically through CurseForge; this is one of ASA’s biggest quality-of-life wins.

10 // Clustering — linking multiple maps

A cluster lets players hop between maps with their character, tames, and items intact — the feature that turns ARK from a single-map server into a proper persistent world. All servers in the cluster share a ClusterID and a shared storage directory.

Launch flags

Add these to every server in the cluster, using the same ID and directory on all of them:

-clusterid=my-cluster-2026 \
-ClusterDirOverride="/home/steam/cluster-data" \
-NoTransferFromFiltering
  • -clusterid — any string, must match on all servers in the cluster
  • -ClusterDirOverride — shared directory for uploaded characters/tames/items. All ARK processes on the host need read/write access.
  • -NoTransferFromFiltering — allow any tame/item to transfer (disable for stricter PvP rules)

Per-map port allocation

Each map needs its own set of ports. Common layout for a 4-map cluster:

MapGame port (UDP)Query port (ASE only)RCON (TCP)
The Island77772701527020
Scorched Earth77872702527021
Aberration77972703527022
Extinction78072704527023
Cluster hardware scaling

Each additional ASA map adds 6–10 GB of RAM on top of the first. A 2-map ASA cluster comfortably fits on Hostinger KVM 4 (16 GB); a 4-map cluster needs KVM 8 (32 GB) minimum. For ASE the same math is roughly half — 2 maps fit KVM 2, 4 maps fit KVM 4.

11 // RCON admin

RCON lets you issue admin commands to a running server without being logged in as a player. Enable it with these launch flags:

-RCONEnabled=True -RCONPort=27020 -ServerAdminPassword=STRONG_UNIQUE_PASSWORD

Connect with any source-engine-compatible RCON client — gorcon/rcon-cli is a clean single-binary option:

rcon-cli --address 127.0.0.1:27020 --password STRONG_UNIQUE_PASSWORD

> ListPlayers
> Broadcast Server restart in 5 minutes
> SaveWorld
> DoExit
CommandWhat it does
ListPlayersList connected players with their Steam IDs
KickPlayer <SteamID>Kick one player
BanPlayer <SteamID>Permanent ban
Broadcast <msg>Server-wide chat announcement
SaveWorldForce a world save to disk (do before any restart)
DoExitClean shutdown — systemd will restart it
DestroyWildDinosRespawn all wild dinos (use after mod changes)

12 // Backups — save your tribe

Ark saves are notoriously fragile — mod updates, crashes mid-save, and occasional Wildcard patches can corrupt SavedArks/. Never trust a single copy.

What to back up

  • ASE: ShooterGame/Saved/SavedArks/ (map save + .arkprofile + .arktribe)
  • ASE: ShooterGame/Saved/Config/LinuxServer/ (your INIs)
  • ASA: ShooterGame/Saved/SavedArks/<MapName>/
  • ASA: ShooterGame/Saved/Config/WindowsServer/
  • Cluster data: whatever directory you set in -ClusterDirOverride

Automated hourly backup script

Drop this at /home/steam/bin/ark-backup.sh, chmod +x, and schedule via cron:

#!/bin/bash
set -e
SERVER_ROOT="/home/steam/servers/ark"
BACKUP_ROOT="/home/steam/backups"
STAMP=$(date +%Y%m%d-%H%M)
DEST="$BACKUP_ROOT/ark-$STAMP"

mkdir -p "$DEST"
rsync -a "$SERVER_ROOT/ShooterGame/Saved/SavedArks/"    "$DEST/SavedArks/"
rsync -a "$SERVER_ROOT/ShooterGame/Saved/Config/"       "$DEST/Config/"
tar -czf "$DEST.tar.gz" -C "$BACKUP_ROOT" "ark-$STAMP"
rm -rf "$DEST"

# Keep last 72 hourly + last 30 daily archives
find "$BACKUP_ROOT" -maxdepth 1 -name 'ark-*.tar.gz' -type f -mmin +4320 -delete
# crontab -e (as steam user)
0 * * * * /home/steam/bin/ark-backup.sh >> /home/steam/backups/backup.log 2>&1
Off-site copy, always

A backup on the same disk is not a backup — it’s a convenience. Sync the daily tarballs to Backblaze B2 or Cloudflare R2 with rclone copy. Both have free tiers that comfortably fit a month of ARK backups for a few cents.

13 // Troubleshooting

The exact errors you’ll hit, in the order you’ll hit them:

SymptomFix
Server starts but doesn’t show in the ASA in-game browserWait 5–10 minutes — EOS discovery is slow on first boot. Also filter by Unofficial and make sure your session name is unique enough to find by search.
ASE shows No Sessions Found with server runningQuery port 27015/udp not reachable. Test with sudo lsof -i -P -n | grep 27015 and open it in the firewall and VPS control panel.
OnlineSubsystemEOS login loop in logsUsually Proton version mismatch. Re-run the cdp1337 installer to upgrade to latest GE-Proton and relaunch.
Mod loads in -mods but does nothing in-gamePassive mod — add its ID to -passivemods= as well (see section 09).
ASA server boots to empty void, no terrainMap name missing _WP suffix. Use TheIsland_WP, not TheIsland.
Server OOM-killed under loaddmesg | grep -i kill to confirm. Add swap as a safety net, then upsize to next VPS tier. ASA on 16 GB with mods is always borderline.
TPS drops to <15 with many tamesCPU-bound. Raise MaxTamedDinos thoughtfully, set DinoCountMultiplier=0.5 to cut wild population, schedule a DestroyWildDinos in cron every 6h.
Cluster transfer uploads character but won’t download on other mapBoth servers must share the same -ClusterDirOverride path, and the steam user on both needs read/write. Check with ls -la on the cluster dir.
Save corrupted after crash — .ark file but no tribes/tamesRestore from most recent backup tarball. Rename corrupt save to .bak, rsync the last good SavedArks/ back, start the server.
RCON connects but every command returns emptyAdmin password mismatch — RCON uses ServerAdminPassword, not ServerPassword. Also make sure the launch line and INI match.
ASA server hangs on shutdown, systemd kills with SIGKILLIncrease TimeoutStopSec=300 in the systemd unit — ASA can take 60–90s to flush a cluster save on a busy map.
After Wildcard patch, server loops “mismatched version”Force SteamCMD/validate: steamcmd +force_install_dir <path> +login anonymous +app_update <appid> validate +quit. For ASA use 2430930, for ASE 376030.

14 // Hardware recommendations

ARK is the most expensive game on this site to host properly, and the one where penny-pinching hurts you fastest. Here’s what actually works — not the marketing minimums.

Recommended — single map (ASA or ASE)

Hostinger KVM 4 — 4 vCPU, 16 GB RAM, 200 GB NVMe

The realistic minimum for ASA on a single map with a handful of players and a QoL mod stack. Fine for ASE with heavy mods too. Single-thread performance from the AMD EPYC platform keeps TPS solid at 20–30 concurrent players. €12.99/mo.

Get Hostinger KVM 4 →
Recommended — cluster (2–4 ASA maps)

Hostinger KVM 8 — 8 vCPU, 32 GB RAM, 400 GB NVMe

Running a full ASA cluster or a heavily modded 50+ player community? KVM 8 handles 4 maps with breathing room. Don’t try to cheap out here — the moment one map OOMs, the cluster transfer buffer desyncs and players lose characters. €24.99/mo.

Get Hostinger KVM 8 →
Alternative — managed, no Linux required

Nitrado — one-click ARK hosting

If the install sections above looked like a lot, Nitrado rents you a ready-to-go ASA or ASE server with web UI, auto-updates, and mod management built in. More expensive per slot than a VPS, but zero Linux knowledge required and ready in 2 minutes.

Get Nitrado ARK Server →

15 // Next steps

  • Choose a panelPterodactyl or AMP can manage ARK with a web UI instead of raw systemd.
  • Harden the VPSWindows hardening or equivalent Debian hardening (fail2ban, SSH keys only, unattended-upgrades) before you expose RCON.
  • Plan your wipe cadence — see our Rust Server Wipe Guide for the generic principles that apply equally to ARK cluster refreshes.
  • Find related content — all of our game server guides use the same hardware tiers, so your cost math stays consistent across games.