I spent way too much time going through setting up this server because it’s one of those things that doesn’t make sense until it does. For example, the configuration files aren’t automatically generated, so you need to know name and location yourself, however once you do generate it, the server will overwrite it later on.

This and more fun tidbits are to be expected in this guide, so hopefully I can help address your problems running these servers without the reliance on some kind of wrapper over the top.

Planning your Environment

Presumptions

I am going to make a whopper of a presumption; you’re running everything in virtual machines. If you’re running everything on a Kubernetes/Docker node then you’re smart enough to know how to adapt this to your needs. If you’re doing an install on bare metal hardware then some of the concepts that I discuss, such as CPU core provisioning, will not apply.

Cluster Size very important

Ark is a different beast. Without getting too much into the nitty gritty just yet, you need to take server size into consideration against how many Ark servers you would like to run. In the Ark world, a game server running a map is called an “Ark”, and multiple “Arks” capable of talking to one another are called a “cluster”. I’ll be using these phrases from now on so that it’s consistent with Wildcards terminology.

If you’re wanting to run a cluster, then you’re going to need to have one of two things available; shared network storage (like NFS), or a beefy server to house all the Arks. Being a little more specific, the ShooterGame/Saved/ needs to be shared amongst all Arks in order for the cluster to allow character and tribute transfers (including items and dinos).

Luckily, but also unluckily, each Ark can run from it’s own set of game files however there is a limitation where running 11 Arks from one set of game files will cause the 11th server to never come online. I’m not sure what the cause of this is, however the solution that I have is to just share the Saved directory and give each Ark it’s own game data files.

So what all of this boils down to in regards to capacity, is that the average joe with a single compute node at their disposal, and no network-level storage, will need to consider what maps they want to run against the capacity of their compute node.

I recommend running one CPU core and 10GB of RAM per Ark instance. My 11 map Ark cluster has 12 vCPUs provisioned with 90GB of RAM (it was meant to be 128GB, but it doesn’t matter), and Gensis 2 is still a little glitchier than a product sold by Aussie Server Hosts. My total disk usage for those 11 maps is around 217GB, which may or may not be extreme.

Being realistic; you could probably get away with one CPU core and 4GB of ram per Ark for a lower player population. The disk usage is relatively unavoidable. Remaining realistic, you would likely get good performance out of a bare metal gaming desktop however you would likely not be able to run Ark at the same time as the servers, nor could you host every map.

Differences between maps is also a primary concern. My Genesis 2 Ark consumes around 17GB of RAM, however all of my other Arks hover around the 10GB RAM utilization mark.

Virtualization

I have already discussed this however let me put a little more detail here.

I personally run my Ark cluster in a Proxmox virtual machine because it allows me to segment out the RAM between all of my VM’s sitting on that server. That virtual machine runs Docker and I use a combination of Gitlab CI/CD and docker-compose to bring servers up and down. The virtual machine has a 300GB virtual disk, which all of the Arks use.

My reasoning for using docker-compose is extremely simple; it lets me create a single YAML with all the docker container configurations that I need. Using Docker is also fantastic because we can map volumes inside of volumes, which will come in handy later.

All of this sits behind a firewall setup which I can’t imagine most people use. For the most part, your port forwarding needs will be specific to your own environment and out of scope for this post.

Operating System

I’m also assuming that you’re going to run Debian. CentOS is dead and I believe in avoiding Red Hat solutions unless Podman gives you an erection. If you have a shred of moral fibre, you would also move.

Debian commands are loosely translatable to Ubuntu commands, and most of the package names are straight forward so you could adapt this to any flavor of linux.

Running Ark servers on Windows is ludicrous. Apart from Windows per-core licensing concerns, you’ll also be dealing with a system that you can’t manage as code. Windows is great for desktops, but not great for Ark servers.

##

Jacob
Jacob

Something About Me With Multiple Lines And Markdown