ARK: Survival Ascended Guide

This article sets out some key basic information for running an ARK: Survival Ascended (ASA) server on AMP.

Note that the ASA server is currently in development. You WILL encounter issues. See section 8 (Troubleshooting) below for some pointers on common issues.

See section 9 (Creating an instance) below for information on how to get, and update, the template on your system.

1. System requirements

1.1 Windows

ASA requires the following dependencies on Windows:

You will also need X86 Visual C++ Redistributable Packages for Visual Studio 2015-2022 to run SteamCMD in AMP to install the server.

1.2 Linux

You may find that on Linux the server does not start, even with a vanilla install. This can be for a range of reasons (such as insufficient RAM) but one factor may be the Linux kernel parameters on your system, specifically vm.max_map_count.

By default on most Linux systems this parameter is set to 65530. This is too low to run ASA.

You can increase this by running as root:

bash -c 'echo "vm.max_map_count = 16777216" > /etc/sysctl.d/20-max_map_count.conf && sysctl --system'

Note also that ASA does not have a native Linux binary currently and so must run using Proton on Linux.

2. Ports

ASA uses two key ports:

  • Game Port: 7777 UDP by default
  • RCON Port: 27020 TCP by default

To connect to the game, only the Game Port needs to be port forwarded (if you’re on a NAT network). Check what port is actually allocated to your instance by clicking on the “Edit Ports” button for the instance.

You can use the RCON Port to connect to the server’s RCON by an external RCON client if needed.

The server also opens an “HTTP Server Port” by default on port 8888 TCP. This port is bound to localhost (127.0.0.1) and its purpose is currently unknown. It is not configurable. If AMP has assigned your instance a different port for the HTTP Server Port, it will show as red in AMP’s port status. This doesn’t matter.

Note that ASA does not use a Steam query port (unlike its predecessor ARK: Survival Evolved), as the server does not use the Steam network.

3. Settings

NOTE: Currently, there is still some uncertainty regarding which settings work in ASA. They are not included in the UI. The AMP template will continue to be updated as the situation becomes clearer.

Almost all settings that can be configured on the command line or in GameUserSettings.ini and that are listed here are included in AMP’s UI.

A number of settings that can be configured in Game.ini are also included.

You can search for a setting using its formal name (eg AutoSavePeriodMinutes) using AMP’s search bar to find it in AMP’s UI.

If there is a particular setting that is not included in AMP’s settings, you can either add it as a command line flag or option (as appropriate) or add it directly to GameUserSettings.ini or Game.ini, as needed.

Configuration files are located in ShooterGame\Saved\Config\WindowsServer.

Warning: The ASA server may overwrite and/or reset GameUserSettings.ini in particular if it is missing key components or has incorrect data. Be careful when editing the config files manually. Otherwise, you may find that some of the settings in AMP’s UI no longer continue to work.

4. Mods

4.1 General

ASA uses CurseForge for downloading mod content. Unlike ARK: Survival Evolved, Steam is not used for mods.

To download, update and install mods on your server:

  • enable “Use Mods” in the ARK Server Settings menu; and
  • include the Project IDs for the desired mods as a comma-separated list in “Mods List” (like 900062,927131).

When the server is started, the mods will be downloaded/updated and then loaded.

The server installs mods in ShooterGame\Binaries\Win64\ShooterGame\Mods.

4.2 Maps

For map mods to be loaded when the server starts, the name of the map must also be specified under “Custom Map Name”, and the Custom map type selected under “Map".

So, for example, to use the Svartalfheim map, you would include the Project ID 893657 under “Mods List”, and the map name Svartalfheim_WP under “Custom Map Name”.

5. Server binding

By default the ASA server is bound to the application IP binding set for the instance. This is normally 0.0.0.0 (all interfaces) unless it has been changed under New Instance Defaults.

If you have multiple IPs on your host, you may wish to bind the server to one of them. You can do this by changing the “Server IP Address” under the Security and Privacy menu.

The IP binding set in this way must be one that AMP itself can reach. Otherwise AMP will not be able to connect to ASA’s RCON, and therefore won’t detect when the server is started. As well, logging output to the console, and input from the console, will not be enabled. This can particularly be an issue if the server is bound to a public IP (such as on a VPS). Generally it is better to keep the binding as 0.0.0.0.

6. Clusters

Options for clusters are included in the ARK Cluster Settings menu.

The key options are “Cluster Directory Override” and “Cluster ID”. Each ASA instance using the cluster must have access to the cluster directory, and must have the same cluster ID specified.

On Linux this means the cluster directory must be owned amp:amp. On Windows it will normally need to be owned by NETWORK SERVICE.

If the ASA instances are running in Docker on Linux, some more configuration is required to ensure the cluster directory is mounted in the Docker containers.

This involves specifying CustomMountBinds for each ASA instance in instances.json in the AMP datastore (usually in /home/amp/.ampdata/). Both ADS and the relevant instances need to be restarted for this to take effect (restart ADS first).

For example, if the cluster directory is /home/amp/arkcluster, you could mount that as /AMP/ark-sa/2430930/clusterdir inside Docker for each instance by specifying the following for each instance in instances.json:

"CustomMountBinds": {"/home/amp/arkcluster":"/AMP/ark-sa/2430930/clusterdir"},

The “Cluster Directory Override” in each ASA instance would then be specified as /AMP/ark-sa/2430930/clusterdir.

Mounting the cluster directory in /AMP/ark-sa/2430930 has the benefit that it will then be visible in the File Manager for each instance.

7. Backup exclusions

The template is configured to download two default backup exclusion files, which result in AMP’s backups of the ASA instance excluding most of the server content (anything that is not specific to the server and can simply be downloaded via SteamCMD again).

The relevant .backupExclude files are installed in the server base directory, and in the ShooterGame subdirectory.

You can modify these .backupExclude files to add or remove exclusions as desired. Or you can delete them entirely and disable the default file download under the SteamCMD and Updates menu.

8. Troubleshooting

As noted above, the ASA server is currently in development. Some aspects of the ASA server are still unknown, and some things are known not to work.

Set out below are some key issues encountered to date.

8.1 Server starting state

AMP relies on RCON connecting to know when the server is started. Sometimes AMP’s internal RCON client does not connect to ASA’s RCON, meaning that AMP will show the server as still “starting” even though it is actually running.

Restarting the instance might fix this. It could also be a server binding issue (see section 5 above).

8.2 Console output

Like with ARK: Survival Evolved, AMP’s ability to get console output with ASA is limited. The template relies on AMP connecting to the server’s RCON and then polling the servergame log every 5 seconds to get the logging from there. That logging is limited.

If the RCON hasn’t connected, then no console output will appear. See section 8.1 above.

There is also a known issue that, even with RCON connected, console output won’t work with ASA until the whole instance is stopped and started once or twice. The reason is unclear.

Even if that initial issue is overcome, console output might still fail following a server restart, or simply after the server has been running for a few hours. Usually restating the entire instance will fix this. This seems to be an issue with AMP’s Source RCON implementation.

Make sure that console output failing is not just a symptom of the current browser login session to AMP having expired - that can make the console appear as though it has stopped working, when it is still fine.

8.3 Console input

As with console output, AMP relies on RCON to allow console input. If RCON doesn’t connect, then the console input won’t work.

There is also a known issue (like with console output) that, even with RCON connected, console input won’t work with ASA until the whole instance is stopped and started once or twice.

And, again, even if that initial issue is overcome, console input (like console output) might still fail following a server restart, or simply after the server has been running for a few hours. Usually restating the entire instance will fix this.

Make sure that console input failing is not just a symptom of the current browser login session to AMP having expired - that can make the console appear as though it has stopped working, when it is still fine.

8.4 Mods

Some mods may cause the server not to start, eg due to a compatibility issue. This may change from time to time as both the ASA server and the mods are updated.

It is best to try mods one-by-one to determine if any are causing issues.

Note that if a mod is listed in the Mods List but is not on CurseForge (or CurseForge is not reachable), the server will crash on start even if the mod has previously been installed on the server.

8.5 Server not starting

If the server does not start at all, this could be due to a range of reasons, including:

  • mods causing issues (see section 8.4 above); or
  • the host machine missing dependencies or being configured incompatibly (see section 1 above).

8.6 Linux server metrics

AMP currently does not monitor the correct process when a server is run under Wine 8, meaning in the case of Linux ASA servers that the RAM and CPU metrics displayed will not be correct.

8.7 Connecting to the server

As noted, ASA does not use the Steam network. So you won’t see your server in the Steam browser and won’t otherwise be able to connect via Steam.

Instead, connect to your server either through the in-game browser or by clicking the backtick (`) key on your keyboard and entering the command open <IP>:<PORT>.

8.8 Hosting on Proxmox VMs

Some users hosting either Windows or Linux VMs using Proxmox have reported issues with the ASA server crashing.

The issue appears to be linked to the CPU type selected for the VM. The default kvm64 emulation type in particular seems to cause issues.

Changing to host generally solves these issues. There may also be other emulation types, particularly the newer types in Proxmox 8, which work successfully.

8.9 Hosting on Windows Server

If your ASA server is hosted on Windows Server and you can’t find it in the server browser, and you have ruled out network or firewall issues, this fix may help.

9. Creating an instance

If you don’t already have ASA in your instance creation list, do the following on your standalone/controller AMP installation, as well as any target(s). Note that you must have Git installed on any Windows system for this to work:

  1. Go to Configuration->Instance Deployment
  2. Click Fetch Latest

The template will be updated from time to time as more information about the ASA server becomes available. Follow the above steps to get the latest version of the template, and then right click on your existing ASA instance(s) and select Refresh Configuration to apply the update.

Before the ASA template was merged into the main CubeCoders repo, it was on Greelan’s development branch. You are able to re-point existing instances created using Greelan’s repo so that they are then updated from the CubeCoders repo. Do the following:

  1. ampinstmgr stop ADS
  2. ampinstmgr reconfigure INSTANCENAME +GenericModule.Meta.OriginalSource CubeCoders-AMPTemplates
  3. ampinstmgr start ADS

Then update your templates and apply them as per the above.

6 Likes