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.
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.
Comparison at a glance:
| ARK: Survival Ascended (ASA) | ARK: Survival Evolved (ASE) | |
|---|---|---|
| Steam App ID | 2430930 | 376030 |
| Native Linux server | No — Windows binary under Proton | Yes — native ELF |
| RAM (single vanilla map) | 12–16 GB | 6–8 GB |
| Disk space | ~30 GB | ~20 GB |
| Mod source | CurseForge (official) | Steam Workshop |
| Mod catalog size (2026) | Growing — hundreds of mods | Mature — thousands of mods |
| Crossplay (PS5/Xbox) | Yes | PC only |
| Query port needed | No (EOS only) | Yes (27015) |
| Active development | Yes — new content here | Maintenance only |
| Recommended plan | Hostinger KVM 4 / KVM 8 | Hostinger 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).
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
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
steamsystem user - Install SteamCMD and GloriousEggroll’s Proton build
- Download ASA server (app
2430930) into/home/steam/ArkSurvivalAscended/ - Register a
ark-island.servicesystemd 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
_WP suffix in ASAASA 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
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.
| Setting | What it controls | Vanilla | Popular QoL |
|---|---|---|---|
XPMultiplier | Player/tame XP gain | 1.0 | 2.0–3.0 |
TamingSpeedMultiplier | How fast tames fill the taming bar | 1.0 | 3.0–5.0 |
HarvestAmountMultiplier | Resources per harvest tick | 1.0 | 2.0–3.0 |
MatingIntervalMultiplier | Cooldown between breeds (lower = faster) | 1.0 | 0.5 |
EggHatchSpeedMultiplier | Egg incubation speed | 1.0 | 5.0–10.0 |
BabyMatureSpeedMultiplier | Juvenile growth speed | 1.0 | 10.0–25.0 |
DayCycleSpeedScale | Day/night cycle speed (lower = longer days) | 1.0 | 0.5 |
StructureDecayPVEMultiplier | PvE auto-decay of abandoned bases | 1.0 | 0.0 (off) |
Interactive rate calculator
Pick your multipliers and copy the generated [ServerSettings] block straight into GameUserSettings.ini.
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.
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
-passivemods trapARK 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.
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:
| Map | Game port (UDP) | Query port (ASE only) | RCON (TCP) |
|---|---|---|---|
| The Island | 7777 | 27015 | 27020 |
| Scorched Earth | 7787 | 27025 | 27021 |
| Aberration | 7797 | 27035 | 27022 |
| Extinction | 7807 | 27045 | 27023 |
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
| Command | What it does |
|---|---|
ListPlayers | List connected players with their Steam IDs |
KickPlayer <SteamID> | Kick one player |
BanPlayer <SteamID> | Permanent ban |
Broadcast <msg> | Server-wide chat announcement |
SaveWorld | Force a world save to disk (do before any restart) |
DoExit | Clean shutdown — systemd will restart it |
DestroyWildDinos | Respawn 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
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:
| Symptom | Fix |
|---|---|
| Server starts but doesn’t show in the ASA in-game browser | Wait 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 running | Query 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 logs | Usually Proton version mismatch. Re-run the cdp1337 installer to upgrade to latest GE-Proton and relaunch. |
Mod loads in -mods but does nothing in-game | Passive mod — add its ID to -passivemods= as well (see section 09). |
| ASA server boots to empty void, no terrain | Map name missing _WP suffix. Use TheIsland_WP, not TheIsland. |
| Server OOM-killed under load | dmesg | 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 tames | CPU-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 map | Both 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/tames | Restore 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 empty | Admin password mismatch — RCON uses ServerAdminPassword, not ServerPassword. Also make sure the launch line and INI match. |
| ASA server hangs on shutdown, systemd kills with SIGKILL | Increase 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.
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 →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 →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 panel — Pterodactyl or AMP can manage ARK with a web UI instead of raw systemd.
- Harden the VPS — Windows 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.