By the end of this guide you'll have a working ARK Survival Ascended dedicated server running on a Linux box, with your own map, rates, passwords, and mods, ready for you and your friends to log into. This is written for someone comfortable enough to run a few commands over SSH, but you don't need to be a Linux expert. ASA is a hungry game, so we'll be honest about hardware up front and then walk through the whole setup.
What you need before you start
ARK Survival Ascended is one of the heavier games you can self host. The Unreal Engine 5 rewrite looks great, but it pays for that with memory and disk. Here's a realistic baseline for a small to medium server.
- RAM: Plan for 16 GB or more. A fresh server with a couple of players idling can sit around 8 to 10 GB, and it climbs as your base grows, as tames pile up, and when several people are loading different parts of the map. If you want headroom, 24 to 32 GB is comfortable.
- CPU: ASA leans on single thread speed. A modern CPU with good per core performance beats an old chip with lots of slow cores.
- Disk: The server files alone run well over 20 GB, and saves and backups grow on top of that. Give yourself 40 GB free at the start, and use NVMe or SSD storage. Spinning disks make load times painful.
- OS: This guide uses Ubuntu 22.04 or Debian 12. Commands are the same idea on other distros.
One quick note. The official ARK Survival Ascended server binary is Windows only, so on Linux it runs through Proton or a wrapper layer. The good news is you don't have to set that up by hand. We'll use a community Docker image that handles Proton for you, which is the cleanest path on Linux right now. If you'd rather skip all of this on your own machine, a host like Bytte.cloud gives you a panel where the heavy parts are already done, but the steps below work fine on any VPS or home server.
Step 1: Install Docker and SteamCMD basics
SteamCMD is the tool that downloads game server files from Steam. We'll lean on a Docker image that wraps SteamCMD and Proton together, so first get Docker installed.
sudo apt update
sudo apt install -y curl
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
Log out and back in after that last line so your user picks up the docker group. Then confirm it works.
docker --version
You should see something like Docker version 27.x. If you get a permission error instead, you skipped the log out step.
Step 2: Pull the ASA server image and create a data folder
We'll use the well maintained azixus/ark_ascended_server image. It runs SteamCMD under the hood, downloads the server, and manages the Proton layer. Make a folder on the host to hold the game files and saves so nothing is lost when you recreate the container.
mkdir -p ~/asa-server
cd ~/asa-server
docker pull azixus/ark_ascended_server:latest
The first download is large. ASA server files are several gigabytes, and Proton adds more. On a decent connection this takes a few minutes. On a slow line, go make a coffee.
Step 3: Write a docker compose file
Rather than typing one enormous command, put everything in a docker-compose.yml file. This makes it easy to change settings later and to start and stop the server cleanly. Create the file in ~/asa-server.
services:
asa:
image: azixus/ark_ascended_server:latest
container_name: asa-server
restart: unless-stopped
environment:
- ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=20 -mods=
- ASA_SERVER_NAME=My ASA Server
- ASA_SERVER_PASSWORD=changeme
- ASA_ADMIN_PASSWORD=supersecretadmin
- ASA_RCON_PASSWORD=supersecretadmin
ports:
- "7777:7777/udp"
- "27020:27020/tcp"
volumes:
-./server-files:/home/steam/asa/AppFiles
-./cluster:/home/steam/asa/cluster
A few things to understand here, because these are the values you'll actually care about.
- TheIsland_WP is the map. Swap it for
ScorchedEarth_WP,TheCenter_WP,Aberration_WP, or another official map id when you want a different world. - Port=7777 is the game port. ASA uses UDP only for gameplay now, so there is no separate query port to forward like there was in the old ARK.
- RCONPort=27020 is for remote admin commands. Keep it if you want to run admin commands without being in game.
- -WinLiveMaxPlayers=20 sets the player cap. Set it to what your hardware can handle.
- Change changeme and the admin password to real values. The server password is what friends type to join. The admin password unlocks cheats and admin commands.
Step 4: First launch
Start the server in the background and watch the logs.
docker compose up -d
docker compose logs -f
The first start does a lot. SteamCMD validates and downloads files, Proton initializes, and then the map loads. ASA load times are genuinely long, so do not panic if it sits there for several minutes. You're looking for a line in the log similar to this.
Server: "My ASA Server" has successfully started
Once you see that, the server is live. Press Ctrl and C to stop tailing the logs. The container keeps running. To stop the server later, use docker compose down, and to start it again use docker compose up -d.
Step 5: Open the ports
Your server needs to be reachable from outside. Two layers usually block this: the server firewall and your router or cloud provider.
On the server itself, if you use UFW, allow the game and RCON ports.
sudo ufw allow 7777/udp
sudo ufw allow 27020/tcp
sudo ufw reload
If your server is at home behind a router, forward UDP 7777 to the machine's local IP. If it's on a cloud provider, open UDP 7777 in the provider's security group or firewall panel. The single most common mistake here is forwarding 7777 as TCP. ASA gameplay is UDP. Forward it as UDP or players will never see the server.
RCON on 27020 is TCP, and you should only expose it if you actually need remote admin from another machine. If you don't, leave it closed at the router and just use RCON locally.
Step 6: Tune the game rates in GameUserSettings.ini
Default ARK rates are slow. Most server owners bump XP, taming, and harvesting so the game respects everyone's time. These settings live in GameUserSettings.ini, which the server creates after its first run. With our folder layout the file lands here.
~/asa-server/server-files/ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini
Stop the server before editing, or your changes get overwritten on shutdown.
docker compose down
nano ~/asa-server/server-files/ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini
Find the [ServerSettings] section and add or change these lines. The multipliers are relative to vanilla, so 3.0 means three times the normal rate.
[ServerSettings]
XPMultiplier=2.0
TamingSpeedMultiplier=5.0
HarvestAmountMultiplier=3.0
DinoCharacterFoodDrainMultiplier=1.0
PlayerCharacterFoodDrainMultiplier=1.0
ServerPVE=True
AllowThirdPersonPlayer=True
ShowMapPlayerLocation=True
serverPassword=changeme
ServerAdminPassword=supersecretadmin
Here is what people change most often.
| Setting | What it does | Common value |
|---|---|---|
| XPMultiplier | How fast you level up | 2.0 to 5.0 |
| TamingSpeedMultiplier | How fast tames finish | 3.0 to 10.0 |
| HarvestAmountMultiplier | Resources per gather | 2.0 to 5.0 |
| ServerPVE | Turns off player vs player | True for PvE |
Save the file (in nano that's Ctrl and O, then Enter, then Ctrl and X) and start the server again with docker compose up -d. Egg hatch speed, mating intervals, and breeding rates have their own settings if you want a breeding focused server, but the four above cover most groups.
Step 7: Add mods from CurseForge
ASA uses CurseForge for mods, not the old Steam Workshop. Every mod has a numeric project id, which you'll find on its CurseForge page near the title. To load mods, list their ids, comma separated, in the -mods= part of your start params. Go back into docker-compose.yml and edit that line.
- ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=20 -mods=928548,930115
In that example, 928548 and 930115 are two mod ids. Replace them with the ids of the mods you want. Recreate the container to pick up the change.
docker compose down
docker compose up -d
docker compose logs -f
The server downloads each mod on startup, which adds time to the first boot after you add them. Mod order in the list can matter when two mods touch the same thing, so put structural or overhaul mods first. Anyone joining a modded server will download the mods automatically through the game, so your players do not install anything by hand.
Step 8: Back up your saves
Tames take real hours to build up. Do not learn this lesson the hard way. Your world save lives in the SavedArks folder.
~/asa-server/server-files/ShooterGame/Saved/SavedArks/
The cleanest backup is taken while the server is stopped, so the file isn't being written mid copy. A simple dated archive works well.
docker compose down
tar -czf ~/asa-backup-$(date +%F).tar.gz \
~/asa-server/server-files/ShooterGame/Saved/SavedArks
docker compose up -d
That produces a file like asa-backup-2026-06-27.tar.gz. Drop a cron job in to run it nightly and keep the last week or so. To restore, stop the server, extract the archive back over the SavedArks folder, and start again. Test a restore once before you need it, so you know the archive is good.
Troubleshooting
The server takes forever to load
This is mostly normal. ASA load times are long even on good hardware, and they get longer with mods and a large save. A first boot of several minutes is expected. If it never finishes and the log stops moving entirely, check that you actually have enough free RAM with free -h. A server that runs out of memory mid load will hang or get killed without a clear message.
Players can't see or join the server
Nearly always a port problem. Confirm UDP 7777 is open on both the server firewall and the router or cloud panel, and that it's UDP, not TCP. From another machine you can test reachability, though ASA's UDP makes a simple ping test unreliable. The quickest check is to try joining by IP directly in game using the Unofficial server filter and your public IP with port 7777.
Out of memory crashes
If the container restarts on its own or the log shows the process being killed, you're short on RAM. Watch live usage with docker stats. Options are to lower the player cap with -WinLiveMaxPlayers, remove heavy mods, or move to a box with more memory. ASA does not gracefully shrink its footprint, so the real fix is usually more RAM.
My settings keep resetting
You edited GameUserSettings.ini while the server was running. The server rewrites that file on shutdown from its in memory state, so it stomps your changes. Always stop the server with docker compose down before editing the file, then start it back up.
Mods aren't loading
Double check the mod ids are correct numeric CurseForge ids and that they're separated by commas with no spaces in the -mods= list. Also confirm the mod actually supports ASA and not just the older ARK. After changing the list you must recreate the container, not just restart it, so the new start params take effect.
RCON won't connect
Make sure RCONEnabled=True is in your start params and that the RCON password matches what your RCON tool is using. If you're connecting from another machine, port 27020 TCP has to be open. Keep that port closed to the wider internet unless you have a real reason to expose it.
Wrapping up
You now have an ASA dedicated server that downloads through SteamCMD, runs through a clean Docker setup, has the map and rates you want, supports CurseForge mods, and gets backed up. The two things that trip people up most are underestimating RAM and forwarding the game port as TCP instead of UDP, so keep both in mind. From here, you can layer in scheduled restarts, an automatic backup cron job, and a second map in a cluster when your group outgrows one world. Have fun out there, and watch your back at night.



