This article sets out some key basic information for running an ARK: Survival Evolved server on AMP. This article assumes that the “Generic” template is being used, not the CubeCoders official module (which is now legacy).
ARK 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.
ARK 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.
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\WindowsServer as applicable.
Warning: The ARK 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.
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.
If preferred, mods can be manually added to the
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.
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”.
By default the ARK 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 change the
App.ApplicationIPBinding setting in
GenericModule.kvp in the instance datastore for that purpose. The instance (not just the server) must be stopped before editing this setting.
The IP binding set in this way must be one that AMP itself can reach. Otherwise AMP will not be able to connect to ARK’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.
Options for clusters are included in the ARK Cluster Settings menu.
The key options are “Cluster Directory Override” and “Cluster ID”. Each ARK 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
If the ARK 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 ARK 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 inside Docker for each instance by specifying the following for each instance in
The “Cluster Directory Override” in each ARK instance would then be specified as
Mounting the cluster directory in
/AMP/ark-se/376030 has the benefit that it will then be visible in the File Manager for each instance.
The template is configured to download two default backup exclusion files, which result in AMP’s backups of the ARK instance excluding most of the server content (anything that is not specific to the server and can simply be downloaded via SteamCMD again).
.backupExclude files are installed in the server base directory, and in the
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.