ARK: Survival Ascended
| Platform | Support | Notes |
|---|---|---|
| Linux | ⚠️ Proton-GE | Requires compatibility layer |
| Windows | ✅ Native | Recommended (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.
Prerequisites
- Dedicated server or VPS with sufficient resources
- SSH access to your Linux server
- Basic Linux command line knowledge
- Steam account (free)
Step 1: Update System and Install Dependencies
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget git lib32gcc-s1 lib32stdc++6 python3-minimal
Step 2: Install SteamCMD
SteamCMD is the command-line Steam client used to download and manage server files.
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
Step 3: Install Proton-GE
ARK: Survival Ascended is Windows-only. Proton-GE (Glorious Eggroll) enables running Windows binaries on Linux.
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
Step 4: Install ARK: Survival Ascended Server
Download the server files using SteamCMD. ARK: Survival Ascended uses AppID 2430930.
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.
Step 5: Configure Wine/Proton Environment
Create a wrapper script to run ARK with Proton:
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
Step 6: Configure GameUserSettings.ini
Navigate to the server configuration directory:
mkdir -p ~/arkserver/ShooterGame/Saved/Config/WindowsServer/
cd ~/arkserver/ShooterGame/Saved/Config/WindowsServer/
Create or edit GameUserSettings.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
Step 7: Create Systemd Service
Create a service file to automatically manage the server:
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:
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:
sudo systemctl daemon-reload
sudo systemctl enable arkserver
sudo systemctl start arkserver
Check status:
sudo systemctl status arkserver
sudo journalctl -u arkserver -f # Follow logs
Step 8: Open Firewall Ports
ARK: Survival Ascended uses multiple UDP ports:
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:
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
Step 9: Server Management
Using RCON for Administration
Install a Python RCON client:
pip3 install arkrcon
Connect to your server:
arkrcon -H localhost -p 27020 -P adminpassword
Common admin commands:
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:
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:
crontab -e
# Add line: 0 3 * * * /home/arkserver/arkserver-scripts/backup-ark.sh
Step 10: Performance Tuning
Monitor resource usage:
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
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)
Windows Server Setup (Official/Recommended)
Windows is the officially supported platform for ARK servers.
Step 1: Download Server on Windows
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:
@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:
nssm install ARKServer "C:\ARK-Server\ShooterGame\Binaries\Win64\ArkAscendedServer.exe" "-server -log"
nssm start ARKServer
Monitor with:
nssm status ARKServer
Get-EventLog Application -Source ARKServer -Newest 10
Tips & Tweaks
GameUserSettings.ini Key Parameters
| Parameter | Purpose | Example |
|---|---|---|
SessionName | Server name in browser | "My ARK Server" |
MaxPlayers | Player slot count | 70 |
DifficultyOffset | Experience multiplier | 1.0 (normal) |
TamingSpeedMultiplier | Tame speed | 1.0-10.0 |
XpMultiplier | Experience gain | 1.0-5.0 |
HarvestAmountMultiplier | Resource yield | 1.0-4.0 |
MatingIntervalMultiplier | Breeding speed | 0.1-1.0 |
BabyMatureSpeedMultiplier | Maturation rate | 1.0-10.0 |
RCONPort | Admin console port | 27020 |
Proton-GE Environment Variables (Linux)
For optimal performance on Linux with Proton:
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)
| Command | Purpose |
|---|---|
admincheat SetPlayerPos 0 0 0 | Teleport to coordinates |
admincheat GiveItem "Blueprint'/Game/PrimalItem_*'" 1 1 false | Spawn item |
admincheat Teleport | Teleport to crosshair |
admincheat FlyMode | Enable flight |
admincheat GodMode | Invincibility |
admincheat Slomo 2.0 | Game speed modifier (1.0 = normal) |
Server FPS Limiting
Prevent runaway CPU usage:
GameUserSettings.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:
[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
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
Articoli correlati
CS2
How to install and configure a Counter-Strike 2 dedicated server on Linux VPS with SteamCMD
Palworld
Create a dedicated Palworld server on Linux with SteamCMD. Configuration, ports and automatic startup.
Rust
Install and manage a Rust server (Facepunch) on Linux with SteamCMD. Includes automatic updates, Oxide plugins and optimizations.
