Hosting Guides

ASA Clustered Server Travel Architecture via Pterodactyl

11 min readUbuntu 24.04PterodactylUnreal
Once your server is online, jump to the ARK: Survival Ascended command and config reference.

ARK Survival Ascended clusters are how serious communities run multi map worlds: The Island, Scorched Earth, and Aberration each get their own dedicated server process, and players carry tames, items, and characters between them through obelisk uploads written to a shared ClusterDirOverride. Done correctly inside Pterodactyl, you get isolated CPU and memory budgets per map with a single shared cluster volume mounted into every container.

Prerequisites

  • Ubuntu 24.04 with Pterodactyl Panel and Wings installed.
  • At least 32 GB RAM and 12 modern CPU cores. ASA wants 12 to 16 GB per map under load.
  • UDP 7777 + 7778 (game) and UDP 27015 (query) per map, open at the firewall on non overlapping ports.
  • Approximately 60 GB disk per map plus 5 GB for the shared cluster volume.

Step 1: Provision the Shared Cluster Volume

Wings volume mounts are scoped per server, but multiple servers can share a host path if you mark it as an additional mount in the panel.

user@host
sudo mkdir -p /srv/asa-cluster
sudo chown -R pterodactyl:pterodactyl /srv/asa-cluster
sudo chmod 770 /srv/asa-cluster

In the panel under Admin, Settings, Mounts, create a mount named asa-cluster with source /srv/asa-cluster and target /home/container/cluster. Attach this mount to every ASA server you create.

Step 2: Create the First Map Server (The Island)

Use the official ASA egg. Allocate 14 GB RAM, 400% CPU, and 60 GB disk. Bind ports 7777 (game), 7778 (raw socket), and 27015 (query). Map specific startup variables:

Server > Startup
SERVER_MAP: TheIsland_WP
SESSION_NAME: Cluster A: The Island
SERVER_PASSWORD: REPLACE_LONG_PASSWORD
ADMIN_PASSWORD: REPLACE_ADMIN_PASSWORD
MAX_PLAYERS: 70
CLUSTER_ID: omega-cluster
CLUSTER_DIR: /home/container/cluster
NO_TRANSFER_FROM_FILTERING: false

Step 3: Container Launch Command (Per Map)

Egg Startup Command
./ArkAscendedServer.sh \
${SERVER_MAP}?listen?SessionName="${SESSION_NAME}" \
?ServerPassword=${SERVER_PASSWORD} \
?ServerAdminPassword=${ADMIN_PASSWORD} \
?Port=${SERVER_PORT} \
?QueryPort=${QUERY_PORT} \
?MaxPlayers=${MAX_PLAYERS} \
-ClusterId=${CLUSTER_ID} \
-ClusterDirOverride=${CLUSTER_DIR} \
-NoTransferFromFiltering \
-UseDynamicConfig -log

Step 4: Clone for Scorched Earth and Aberration

Repeat Step 2 with new servers, identical mount and identical CLUSTER_ID, but unique maps and ports.

Per Map Allocation
Cluster A: The Island -> 7777/7778/27015 Map: TheIsland_WP
Cluster A: Scorched Earth -> 7779/7780/27016 Map: ScorchedEarth_WP
Cluster A: Aberration -> 7781/7782/27017 Map: Aberration_WP

Step 5: Validate the Shared Cluster Volume

user@host
# After a player uploads at an obelisk on The Island
ls -la /srv/asa-cluster/
# Expect to see profile files like:
# 76561198000000000.arkprofile
# 76561198000000000.arktribe
# From inside another container's console
ls /home/container/cluster
# Same file list, confirming the mount is shared

Step 6: GameUserSettings for Cross Map Transfer Rules

ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
[ServerSettings]
NoTributeDownloads=False
PreventDownloadSurvivors=False
PreventDownloadItems=False
PreventDownloadDinos=False
PreventUploadSurvivors=False
PreventUploadItems=False
PreventUploadDinos=False
CrossARKAllowForeignDinoDownloads=True

These flags must be identical on every map. A single map setting PreventDownloadDinos=True will silently block tame transfers from that direction and confuse your community.

Performance and Tuning

  • Allocate at least 12 GB RAM per map. ASA OOMs aggressively on dense bases.
  • Keep the cluster volume on local NVMe, never on NFS. Profile reads are latency sensitive during obelisk uploads.
  • Stagger nightly restarts by 10 minutes per map so player travel does not land on an offline destination.
  • Use the same CLUSTER_ID on every map. A typo creates a second, invisible cluster that holds the missing tames.

Conclusion

A correctly architected ASA cluster gives players the full official progression loop on community hardware. Pterodactyl's mount system is the right primitive for the shared cluster volume, and once the launch arguments line up across maps the travel UX is identical to first party servers.