ARK: Survival Ascended

PlatformSupportNotes
Linux⚠️ Proton-GERequires compatibility layer
Windows✅ NativeRecommended (official support)

ARK: Survival Ascended

ARK: Survival Ascended is a resource-intensive server that requires substantial hardware. This guide covers installation and configuration on Linux using Proton to run the Windows-only server binary.

ARK: Survival Ascended is extremely demanding. Minimum specifications:

  • RAM: 16GB minimum, 32GB strongly recommended
  • vCPU: 4+ cores (8+ for 70+ players)
  • Disk Space: 60GB+ SSD (performance critical for large worlds)
  • Network: Stable connection, 10+ Mbps upload recommended for 64+ players

Resource demands increase significantly with player count, mods, and cluster settings. ASA uses Unreal Engine 5, requiring substantially more resources than legacy ARK.

02

Prerequisites

  • Dedicated server or VPS with sufficient resources
  • SSH access to your Linux server
  • Basic Linux command line knowledge
  • Steam account (free)
03

Step 1: Update System and Install Dependencies

bash
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget git lib32gcc-s1 lib32stdc++6 python3-minimal
04

Step 2: Install SteamCMD

SteamCMD is the command-line Steam client used to download and manage server files.

bash
mkdir -p ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
./steamcmd.sh +quit
05

Step 3: Install Proton-GE

ARK: Survival Ascended is Windows-only. Proton-GE (Glorious Eggroll) enables running Windows binaries on Linux.

bash
mkdir -p ~/.steam/root/compatibilitytools/Proton-GE-next/
cd ~/.steam/root/compatibilitytools/Proton-GE-next/

# Download latest Proton-GE
wget $(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | grep linux | cut -d '"' -f 4)

# Extract
tar -xzf Proton-GE-next-*.tar.gz
rm Proton-GE-next-*.tar.gz
06

Step 4: Install ARK: Survival Ascended Server

Download the server files using SteamCMD. ARK: Survival Ascended uses AppID 2430930.

bash
cd ~/steamcmd
./steamcmd.sh +force_install_dir ~/arkserver +login anonymous \
  +app_update 2430930 validate +quit

This may take 20-30 minutes depending on disk speed and connection.

07

Step 5: Configure Wine/Proton Environment

Create a wrapper script to run ARK with Proton:

bash
mkdir -p ~/arkserver-scripts
cat > ~/arkserver-scripts/run-ark-proton.sh << 'EOF'
#!/bin/bash

export WINEPREFIX=~/.proton-ark
export PATH=~/.steam/root/compatibilitytools/Proton-GE-next/Proton-GE-next/bin:$PATH
export STEAM_COMPAT_TOOL_PATHS=~/.steam/root/compatibilitytools/Proton-GE-next

PROTON_VERSION=$(ls -d ~/.steam/root/compatibilitytools/Proton-GE-next/Proton-GE-next-* 2>/dev/null | head -1)
if [ -z "$PROTON_VERSION" ]; then
  PROTON_VERSION=$(ls -d ~/.steam/root/compatibilitytools/Proton-GE-next/Proton-GE-next/ 2>/dev/null)
fi

if [ -z "$PROTON_VERSION" ]; then
  echo "Proton-GE not found. Please install it first."
  exit 1
fi

cd ~/arkserver/ShooterGame/Binaries/Win64/
$PROTON_VERSION/proton run ArkAscendedServer.exe "$@"
EOF

chmod +x ~/arkserver-scripts/run-ark-proton.sh
08

Step 6: Configure GameUserSettings.ini

Navigate to the server configuration directory:

bash
mkdir -p ~/arkserver/ShooterGame/Saved/Config/WindowsServer/
cd ~/arkserver/ShooterGame/Saved/Config/WindowsServer/

Create or edit GameUserSettings.ini:

ini
[SessionSettings]
SessionName=My ARK Server
ServerPassword=YourServerPassword
ServerAdminPassword=YourAdminPassword
MaxPlayers=70
DifficultyOffset=1.0
TamingSpeedMultiplier=1.0
HarvestAmountMultiplier=1.0
RespawnIntervalMultiplier=1.0
ResourcesRespawnPeriodMultiplier=1.0
KillXPMultiplier=1.0
HarvestXPMultiplier=1.0
CraftXPMultiplier=1.0
GenericXPMultiplier=1.0
SpecialXPMultiplier=1.0
AutoSavePeriodMinutes=30
PvEDifficultyScalingMaxOffset=5.0
ItemStackSizeMultiplier=1.0
RaidDinoCharacterFoodDrainMultiplier=1.0
PvPStructureDecay=0.0
BossKillXPMultiplier=1.0
AllyDinoCharacterFoodDrainMultiplier=1.0
PlayerCharacterHealthRecoveryMultiplier=1.0
DinoCharacterFoodDrainMultiplier=1.0
DinoCharacterStaminaDrainMultiplier=1.0
DinoTurretDamageMultiplier=1.0
StructurePreventResourceRadiusMultiplier=1.0
TribeSlotReuseCooldown=0
AllowHideDamageSourceFromLogs=False
AllowCaveBuildingPvE=False
AllowFlyerCarryPvE=False
IncreasePvPRespawnIntervalCheckPeriod=300.0
IncreasePvPRespawnIntervalMultiplier=1.0
IncreasePvPRespawnIntervalBaseAmount=1.0
OxygenSwimSpeedStatMultiplier=1.0
ProximityPromptRangeMultiplier=1.0
ClampItemSpoilingTimes=True
RCONPort=27020
RCONEnabled=True
QueryPort=27015
Port=7777
MaxPlayers=70
PvEStructureDecay=False
RaidDinoCharacterFoodDrainMultiplier=1.0
AllowFlyerCarryPvP=False
AllowCaveBuildingPvP=False
AllowTurretSameTeamDamage=True
AllowAllianceTurretSameTeamDamage=True
AllowStructureColorPicker=True
PreventSpawningAnimals=False
MapPlayerLocation=True
EnablePVPGamma=True
DisableWeatherFog=False
EventColorSet=0
NightTimeSpeedScale=1.0
DayTimeSpeedScale=1.0
PlayersOnlyMybed=False
RCONServerGameLogBuffer=600
AllowHitMarkers=True
DontAlwaysNotifyPlayerJoined=False
AllowCrateSpawnsOnTopOfStructures=False
ServerPassword=
ServerAdminPassword=adminpassword
DayTime=0.0

[ServerSettings]
MultiHome=
Port=7777
QueryPort=27015
RCONEnabled=True
RCONPort=27020
listen=True
GameLogBuffer=600
AllowDownloadChars=True
AllowDownloadItems=True

[/Script/ShooterGame.ShooterGameSession]
SessionName=My ARK Server
MaxPlayers=70
ServerPassword=yourpassword
ServerAdminPassword=adminpassword
RCONEnabled=True
RCONPort=27020
bUseSessions=True

Key settings explanation:

  • SessionName: Server name visible in browser
  • ServerPassword: Password to join (leave empty for public)
  • ServerAdminPassword: Admin password for in-game commands
  • MaxPlayers: Player count (adjust based on hardware)
  • Port: Main game port (UDP)
  • QueryPort: Server query/status port
  • RCONPort: Remote console port
  • Various multipliers control game difficulty and progression speed
09

Step 7: Create Systemd Service

Create a service file to automatically manage the server:

bash
sudo tee /etc/systemd/system/arkserver.service > /dev/null << 'EOF'
[Unit]
Description=ARK: Survival Ascended Dedicated Server
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=arkserver
WorkingDirectory=/home/arkserver/arkserver
Environment="WINEPREFIX=/home/arkserver/.proton-ark"
Environment="WINEARCH=win64"
ExecStart=/home/arkserver/arkserver-scripts/run-ark-proton.sh -server -log
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal

# Resource limits
MemoryLimit=30G
CPUQuota=400%

[Install]
WantedBy=multi-user.target
EOF

Create the arkserver user:

bash
sudo useradd -m -s /bin/bash arkserver
sudo chown -R arkserver:arkserver /home/arkserver/arkserver
sudo chown -R arkserver:arkserver /home/arkserver/.proton-ark

Enable and start the service:

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

Check status:

bash
sudo systemctl status arkserver
sudo journalctl -u arkserver -f  # Follow logs
10

Step 8: Open Firewall Ports

ARK: Survival Ascended uses multiple UDP ports:

bash
sudo ufw allow 7777/udp comment "ARK Game Port"
sudo ufw allow 7778/udp comment "ARK Query Port"
sudo ufw allow 27015/udp comment "ARK Steam Query"
sudo ufw allow 27020/tcp comment "ARK RCON"

If using iptables directly:

bash
sudo iptables -A INPUT -p udp --dport 7777 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 7778 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27020 -j ACCEPT
11

Step 9: Server Management

Using RCON for Administration

Install a Python RCON client:

bash
pip3 install arkrcon

Connect to your server:

bash
arkrcon -H localhost -p 27020 -P adminpassword

Common admin commands:

bash
GetChat              # View recent chat
SetMessageOfTheDay "Server rules here"
ListPlayers          # Show connected players
KickPlayer [ID]      # Kick player by ID
BanPlayer [ID]       # Ban player
SaveWorld            # Force save (automatic every 30min)
DoExit              # Graceful server shutdown

Using ARK Server Manager

For GUI management, use ARK Server Manager (Windows) to remotely connect via RCON, or manage the config files directly on Linux.

Monitoring and Backups

Create a backup script:

bash
cat > ~/arkserver-scripts/backup-ark.sh << 'EOF'
#!/bin/bash

BACKUP_DIR=/home/arkserver/backups
WORLD_DIR=/home/arkserver/arkserver/ShooterGame/Saved

mkdir -p $BACKUP_DIR
TIMESTAMP=$(date +%Y%m%d_%H%M%S)

# Backup world data
tar -czf $BACKUP_DIR/ark-world-$TIMESTAMP.tar.gz $WORLD_DIR/SavedArks/

# Keep last 7 backups
find $BACKUP_DIR -name "ark-world-*.tar.gz" -mtime +7 -delete

echo "Backup completed: ark-world-$TIMESTAMP.tar.gz"
EOF

chmod +x ~/arkserver-scripts/backup-ark.sh

Add to crontab for daily backups:

bash
crontab -e
# Add line: 0 3 * * * /home/arkserver/arkserver-scripts/backup-ark.sh
12

Step 10: Performance Tuning

Monitor resource usage:

bash
watch -n 1 'ps aux | grep ArkAscendedServer'
free -h
df -h

Performance optimization tips:

Server won't start: Check logs with journalctl -u arkserver -n 50. Ensure Proton-GE is properly installed and WINEPREFIX exists.

High memory usage: Reduce MaxPlayers or disable mods. Monitor with htop.

Connection issues: Verify ports are open with netstat -tuln and check firewall rules.

Version mismatch: Keep client and server versions synchronized. ASA updates frequently.

  • Set GameLogBuffer=600 to limit log memory usage
  • Adjust MaxPlayers based on available RAM (roughly 500MB per player)
  • Use high-performance SSD storage
  • Consider increasing swap space for stability
  • Monitor CPU/memory usage and scale vCPU/RAM allocation accordingly
13

Server Discovery and Connection

Players can find your server in the official ARK server list by:

Ensure your DNS A record points to your VPS IP if using a custom domain.

  • Starting the server with RCONEnabled=True
  • Server appears in-game under appropriate map/region filters
  • Players can join via IP: tuodominio.com:7777 (if you have custom domain)
14

Windows Server Setup (Official/Recommended)

Windows is the officially supported platform for ARK servers.

Step 1: Download Server on Windows

powershell
steamcmd +force_install_dir "C:\ARK-Server" +login anonymous +app_update 2430930 validate +quit

Step 2: Configure GameUserSettings.ini on Windows

Edit C:\ARK-Server\ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini (use same configuration as Linux guide in Step 6).

Step 3: Create Startup Batch Script

Create C:\ARK-Server\start-ark-server.bat:

batch
@echo off
cd /d C:\ARK-Server\ShooterGame\Binaries\Win64
ArkAscendedServer.exe -server -log
pause

Step 4: Run as Service (Optional)

Use NSSM to run as Windows service:

powershell
nssm install ARKServer "C:\ARK-Server\ShooterGame\Binaries\Win64\ArkAscendedServer.exe" "-server -log"
nssm start ARKServer

Monitor with:

powershell
nssm status ARKServer
Get-EventLog Application -Source ARKServer -Newest 10
15

Tips & Tweaks

GameUserSettings.ini Key Parameters

ParameterPurposeExample
SessionNameServer name in browser"My ARK Server"
MaxPlayersPlayer slot count70
DifficultyOffsetExperience multiplier1.0 (normal)
TamingSpeedMultiplierTame speed1.0-10.0
XpMultiplierExperience gain1.0-5.0
HarvestAmountMultiplierResource yield1.0-4.0
MatingIntervalMultiplierBreeding speed0.1-1.0
BabyMatureSpeedMultiplierMaturation rate1.0-10.0
RCONPortAdmin console port27020

Proton-GE Environment Variables (Linux)

For optimal performance on Linux with Proton:

bash
export PROTON_USE_WINED3D=1          # Use Wine D3D (better compat)
export PROTON_ENABLE_NVAPI=1         # NVIDIA GPU support
export DXVK_HUD=off                  # Disable performance overlay
export STAGING_SHARED_MEMORY=1       # Shared memory optimization

Add to your systemd service or startup script.

Admin Cheat Commands (In-Game Console)

CommandPurpose
admincheat SetPlayerPos 0 0 0Teleport to coordinates
admincheat GiveItem "Blueprint'/Game/PrimalItem_*'" 1 1 falseSpawn item
admincheat TeleportTeleport to crosshair
admincheat FlyModeEnable flight
admincheat GodModeInvincibility
admincheat Slomo 2.0Game speed modifier (1.0 = normal)

Server FPS Limiting

Prevent runaway CPU usage:

GameUserSettings.ini:

ini
ServerForceNoHud=False
ServerGameLogBuffer=600
MaxGameFramerate=30

Lower frame rate reduces CPU load. 20-30 FPS is typical for stable servers.

Cluster Setup Basics

Connect multiple ARK maps for cluster progression:

Configuration:

ini
[SessionSettings]
ClusterID=MyCluster
  • Create cluster directory on both servers
  • Set ClusterID in each server's GameUserSettings.ini
  • Share character/tribe data via network folder
  • Players transfer between maps with gear
16

Next Steps

  • Configure cluster settings for multiple maps (requires additional setup)
  • Install community mods using Ark Server API
  • Set up scheduled restarts to prevent memory leaks
  • Use ArkServerAPI for advanced automation and mod support
  • Configure Discord webhook notifications for player joins/server events

DeluxHost, fondata nel 2023, offre soluzioni di hosting di alta qualità per diverse esigenze digitali. Forniamo hosting condiviso, VPS e server dedicati con sicurezza avanzata e datacenter globali.

© DeluxHost, Tutti i diritti riservati. | Partita IVA: IT17734661006
Tutti i sistemi operativi