Clustering ARK Servers

As the title says, I’m trying to cluster 3 ARK servers, and I can’t find out anything about how to go about it. All the servers are on the same box, running in Docker Containers, thank you.

Looking at the settings in AMP , it seems to be missing cluster options and a few others.

You can however still edit the game files directly in AMP using the file manager, this will give access to all the options needed. You will also need to edit ports for the docker container to allow them to communicate with each other.

My guess would be the options can be added via the generic module builder if you where brave enough to give that a go.

Ok so here’s what I’ve discovered.

  • Navigate to the management panel for a specific server.
  • Open Configuration
  • Select Server
  • Add a new key called clusterid and a value someRandomId123
  • Copy said someRandomId123
  • Go to additional servers and add the same key and value.
  • Restart the servers.

This will “Cluster-[ish” them somewhat. The transfers aren’t working as I expect them to, in other word players can see the other servers, and transfer to them, however their items do not go with the player. I’m assuming it’s a result of one or two things.

Possibility #1 - The servers may all need to be pointed to the same directory to save.
Possibility #2 - The servers may also need to have a configuration setup in GameSettings.ini

I’m still digging into that, however once I find it, I’ll post back here.

Hello, Sorry I’m late to the party, I just got here and I’m interested in doing the same thing. When you say ‘Select Server’, specifically which file under which directory are you going to add the clusterid? would it be the ones under ShooterGame > Saved > SavedArks?

1 Like

So far the only information I can find is an old post and I have yet to get it functioning, but this is the post I am going off of. the misdirection by the config settings and how to setup ark clustering in amp. so simple

If anyone figures this out please let me know I am trying to setup a cluster for my friends and can not get it working.

1 Like

In order to have Server Clustering working with Ark and to be able to transfer between Servers with all your items in your inventory, the clusterid, clusterdiroverride and other transfer settings need to be specified as part of the config/startup command.


If you are running 3 Ark Servers on the one Target:

Configure a directory on the Target to be used for the Cluster Data.
This can be anywhere you like as all 3 Ark Servers should be able to access the location as they are all on the same Target.

E.g.
Windows: C:\ArkCluster\Data
Linux: /ArkCluster/Data

On each Ark Server Instance, command line parameters must be used to start the Ark Server Instance with a Cluster ID specified and the path to where the Cluster Data is located. There are also a few other settings that need to be specified in order for it to work properly as well.
Please note, these setting DO NOT go in any of the ini files.

  • Add these 3 simple commands to the instance:
    -NoTransferFromFiltering
    -clusterid=*yourclusteridhere*
    -ClusterDirOverride=*/Choose/your/path/here*

E.g.
Windows: C:\ArkCluster\Data
Linux: /ArkCluster/Data/

  • I also found adding the following to GameUserSettings.ini helped:
    PreventDownloadSurvivors=false
    PreventDownloadItems=false
    PreventDownloadDinos=false
    PreventUploadSurvivors=false
    PreventUploadItems=false
    PreventUploadDinos=false

  • Start the instance and make sure it starts properly.

  • Perform the same on the other Instance(s)

  • When they are up and running, try transferring from one to another.

When a transfer has happened, you should now find the following folder structure and file in your Cluster Directory:
Clusters\yourclusteridhere\ and within that folder should be a file with your SteamID.
When transferring, the ARK Server will write your character and inventory to this file and that is then read by the server you are transferring to.
There will be a file for every player that has travelled to other servers in your cluster.

N.B. It is important that the Cluster ID be set exactly the same on all Instances otherwise it will not work!


If you are running Multiple Ark Instances on Multiple Targets

In order to achieve this, the process is only slightly different to that above.
Lets say you are running 6 Ark Servers in your cluster. 2 Instances on each Target, therefore, 3 Targets (Target1, Target2 and Target3) and the decision has been made to store the cluster files on Target1.

  • If the store is on a Windows PC/Server, share the folder you choose to hold the Cluster files.

  • All instances will need to be able to access these files with RW permissions.

  • On the Targets:
    If they are Windows based, either access the share via UNC path or by mapping a drive to it. Windows uses SMB or SAMBA for file sharing.
    If they are Linux based, share the folder that you chose to contain the cluster files. I have used NFS in the past to do this but feel free to use something else, google is your friend here as to how this can be done. It is possible to use SAMBA to share files between Linux PCs/Servers. Some may suggest this is a better choice in case there is a requirement for a Windows PC to access the share as well as Linux.

  • Test the shared folder connectivity for RW capability. On one of the other Targets, Target2 for instance, copy a file to the mapped drive/UNC path/Mount point and check on Target1 that the file is present. Now delete that file from Target3 and again make sure all servers see the changes to the folder.

  • Once you are happy that the folder sharing is working properly, proceed with the steps above to configure the ARK Instances.

  • Remember the path to the cluster folder may be different per Target, Only you will know what you have configured.
    In this example, Target1 will have a local path but Target2 and Target3 will have either Drives mapped/UNC Path/Mount Points which will need to be used instead.

N.B. As before, it is important that the Cluster ID is identical on all Instances.


Apologies if this is not entirely correct, most of this has been from memory. I also do not know how this would be done within Docker Containers but essentially the principles are the same, the Instances must have a common file share for the Cluster files to reside in. I would think that each Container is effectively its own Server and therefore the second example may be more appropriate. Use google to find out if there is any difference to get the end result for Docker Containers.