This article sets out some key basic information for running an ARK: Survival Evolved server on AMP.
1. Dependencies on Windows
ASE requires the following dependencies on Windows:
-
DirectX End-User Runtimes (June 2010) (if the web installer doesn’t work, you can download the files from here and manually install them)
You will also need X86 Visual C++ Redistributable Packages for Visual Studio 2015-2022 to run SteamCMD in AMP to install the server.
2. Ports
ASE uses three key ports:
- Game Port: 7777 UDP by default
- Peer Port: 7778 UDP by default (you might see this called Reserved Port in AMP if you have an older instance)
- Query Port: 27015 UDP by default
All three ports need to be port forwarded (if you’re on a NAT network). Check what ports are actually allocated to your instance by clicking on the “Edit Ports” button for the instance.
The query port is used for finding and connecting to the server in Steam. The game port is used for finding and connecting to the server in-game. The peer port is used by the Steam P2P protocol for in-game browser advertising.
The template also configures an RCON Port: 27020 TCP by default. You can use this port to connect to the server’s RCON by an external RCON client if needed.
The server always opens the Peer Port on Game Port + 1 - so make sure the ports allocated in AMP are also sequential for those ports.
3. Settings
NOTE: There are three templates available in AMP for ASE. Two of them use a “minimal” template that has far fewer settings in the AMP UI - basically those that can only be configured by command line arguments, plus a few other key settings for the player limit, mods and RCON. These templates are designed for those users who prefer to use a tool like Beacon to configure GameUserSettings.ini and Game.ini for their server, with one of the templates also being configured to install the Ark Server API.
The other template has many more (but not all) settings in the UI. The discussion below primarily applies to that template.
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 AutoDestroyStructures
) 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. Take care not to repeat a setting that is already in AMP’s UI!
Configuration files are located in ShooterGame/Saved/Config/LinuxServer
or ShooterGame\Saved\Config\WindowsServer
as applicable.
Warning: The ASE server can 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 Installing/updating
4.1.1 Automatic method
With one caveat, the easiest way to manage mods on the server is using “Automatically Manage Mods”. This is enabled by default.
The caveat is that you might find that very large mods do not download completely - this is a known issue with SteamCMD timing out.
If the automatic method is enabled, any mods listed in “Mods List” (as a comma-separated list of IDs, like 1984936918,1785880078
) will be automatically downloaded and updated on server start. That’s it.
Make sure your mods list is just one line - no line breaks or carriage returns.
As an alternative, mods can be listed in Game.ini for automatic download, like:
[ModInstaller]
ModIDS=1984936918
ModIDS=1785880078
It should be unlikely that you will want to use this second approach.
4.1.2 Manual method
If preferred, mods can be manually added to the ShooterGame/Content/Mods
directory.
Add the mods to your client, start it, and then copy over the mod directory and .mod
file that is generated to your server. Use AMP’s SFTP to copy the files to ensure file permissions are correct on the server.
The manual method could be useful if you want to use specific versions of mods.
4.2 Loading
Any non-map mods that are listed in “Mods List” will be loaded by the server when started, as long as the associated mod files are in ShooterGame/Content/Mods
(either by automatic download or manually).
Map mods can’t be loaded this way. The name of the map needs to be specified under “Custom Map Name”, and the Custom map type selected under “Map".
However, map mods can still be listed (by ID) in “Mods List” if you want them downloaded/updated by “Automatically Manage Mods”.
5. Server binding
By default the ASE 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 ASE’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 ASE Cluster Settings menu.
The key options are “Cluster Directory Override” and “Cluster ID”. Each ASE 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 ASE 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 ASE 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-se/376030/clusterdir
(use instead/AMP/arkse/376030
for the minimal template) inside Docker for each instance by specifying the following for each instance in instances.json
:
"CustomMountBinds": {"/home/amp/arkcluster":"/AMP/ark-se/376030/clusterdir"},
The “Cluster Directory Override” in each ASE instance would then be specified as /AMP/ark-se/376030/clusterdir
.
Mounting the cluster directory in /AMP/ark-se/376030
(or/AMP/arkse/376030
for the minimal template) 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 ASE 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. Server API
One of the templates is configured to install the Ark Server API. This allows plugins to be run on the server.
To enable the Server API to run on Linux, the template uses Wine to run the server.