ARK: Survival Evolved

ARK: Survival Evolved

View Stats:
Romaq Feb 20, 2021 @ 7:10pm
The Art of LAN Cluster...-ing
The Art of LAN Charlie-Fox-ing, or "How I Set Up a Multi-Map Cluster Server LAN For My Wife and Learned to Hate It."

Forward: My intent is to discuss what I've done, what I'm doing, have notes for myself as I go along, and beg DEAR GAWD PLEASE let WildCard take note of what a terror it is to enjoy a private LAN game with my wife on Ark, SO PLEASE DON'T DO IT THIS WAY FOR ARK 2!

To begin, I actually met my wife playing UltimaOnline some 20 years ago, and we still enjoy playing video games together. It is our common interest, we work well together. The time I treasure most is her trying to aim over my half-height appearing avatar's shoulder and to our dismay finding out I really had a full-height hit-box on my avatar. In short, my wife shot me in the back into a pit of mobs while playing Minecraft where I survived the fall into water below, but was then shortly killed by the mobs she was aiming for... and we both loved the laugh we had and still have to this day about it. This is what we do, and its important to our time together.

We enjoy a Minecraft LAN server. WildCard... PLEASE GO PLAY MINECRAFT. Specifically, play Minecraft over a LAN with just a player-game. Play the Java version, play the Bedrock version. Minecraft does a pretty decent job of making the experience rather straight-forward. YOU? YOU ARE NOT DOING THIS! For Ark 2, be more "Minecraft LAN" and far, far less Ark 1 "OMG MY BUTT HURTS!" You need to get friends and family to test out how YOU plan to do this in Ark 2 without a computer science degree and certification in Ubuntu server administration. You need to do better than this. I expect better than you did on Ark 1. Make it happen.

Next: Ark LAN Experience
< >
Showing 1-15 of 25 comments
Romaq Feb 20, 2021 @ 7:23pm 
Ark LAN Experience

When my wife and I started playing, we didn't understand "Run Dedicated Server", aka "You must not actually want to play ark, just have your computer dead while others on your LAN play Ark." How 'bout a little help here, WC? Then there was "Host Non-Dedicated Session", which was great... I was not clear at all what it did, what was going on, or the significance of the tethering, or OMG people I don't intend to be on here ARE ON MY PRIVATE SERVER! WHAT THE HELL?!?!" Not only would it be useful if you told me what I was actually looking at and what it did, but by default made some way to ONLY allow people I specify into it unless I explicitly made it public. K?TNX!

So we ended up starting a Nitrado button from the "Want your own EU Server?" button at the top. It helped a great deal, and we did that until the money ran it. We didn't worry about other maps, but I noticed that *if* we wanted to do multi-mapping, I'd have to have multiple servers which I simply can not afford. And since my primary interest is play with my wife on LAN and anyone ELSE joining us was just gravy, that simply wasn't going to happen.

When the money ran out, I ended up turning to https://arkservermanager.freeforums.net/. It's great, it works *IF* you are only going to run ONE server, and it has been my main-stay. I ended up trying to do clustering so we could enjoy more than just the one map, then start over on some other map bare-nekkid, wishing we could just have something more like Genesis does with its sub-maps. So I figured out how to do clustering with ASM and I made it work after much pain and gnashing of teeth... except for the stability problem.

Next: Cluster Stability over ASM, why THIS project now
Romaq Feb 20, 2021 @ 7:32pm 
Cluster Stability over ASM, why THIS project now

So I have a working cluster using ASM on my desktop computer. Unfortunately, the server software appears to be horribly unstable when combined with the client. I have had repeated incidents of "somehow combined with transferring to a different map, something goes wacky, everyone gets kicked and my computer hard-locks so I have to do a hard shut-down." The beauty of these "hard shutdowns" is that I have to go back to the latest ENTIRE CLUSTER SNAPSHOT I made of the cluster directory and restore to that save point. If I don't, a server can be half-chewed up where the tribe is invalid, or structures are in the tribe but are killing our tames which are no longer in the tribe, or joy-of-joys, let's start over from Day 0. This experience rapidly starts to suck very badly while my wife and a friend joining us have to wait while I pull everything back to my "zip" save-point from the least "I hope I made one fairly recently" so we get to do everything over again.

NOT HAPPY TIMES.

It appears there are multiple files including backups, and it's very easy for the multiple files to chew things up. WC, have you considered using something like SQLite to store this crap and have atomicity in your data writes so you don't much the entire freakin' save file into oblivion? PLEASE consider how to not totally hose data saves especially when we have to deal with multi-mapping from clusters of servers.

Next: Opportunity to get the cluster off my client PC
Romaq Feb 20, 2021 @ 8:00pm 
Opportunity to get the cluster off my client PC

My wife's laptop screen appears to have died, and she wanted a new computer. It's very nice we are NOT paying for Nitrado, because the money went towards better gear for her, and she's very happy with her new rig. So now I have her old laptop. I don't need the screen if it goes off. I just need it to run the cluster. I decided to use Ubuntu after looking things over. I don't need Windows on this, and I'm comfortable enough with the Linux environment though it's been a few years. I also didn't want to have to pay for virus security on the machine. If it is "headless", I can SSH into it, I don't see anything, I don't have to care. So I fetched a USB stick to put an install OS on and went to it, and that's what I'm doing currently. Just a bare-bones install.

Full disclosure, I've already done this, but I've had trouble sorting out the particulars of clustering so I am starting fresh and documenting as I go along. If a link is needed on how to do a bare Ubuntu install, they are easy enough to find and if you can't find it, Ubuntu is not likely a good choice for you. You are much better off with ASM on Windows, and cursing WildCard as I did for their inherent lack of server stability and the insane issue of requiring multiple servers for the cluster, one for each map.

Hey WildCard... for Ark 2, plan on it being a crazy success with a dozen well-sold DLCs added to the server... AND PLAN FOR HOW I'M TO ENJOY THEM ON A LAN WITHOUT NEEDING A SERVER FOR EACH FREAKIN' DLC! Plan on success, and plan on your success not SUCKING for my trying to enjoy it. Please. More "Genesis" and less screaming in agony trying to set up clustering. I'm only going to enjoy a few maps at a time with a few people. I don't need or want what you are doing to me just to enjoy more than one map at a time.

Next: Bare Install done, let's get ArkManager going...
retsam1 Feb 20, 2021 @ 8:10pm 
Devs intentionally do not interact on these forums in this capacity. If you want to complain to them, Twitter, the official discord, the official website forums and reddit in that descending order are a better bet but the chances of their responding to, let alone addressing, your issue are highly unlikely. All you're doing is ranting to the masses.
Romaq Feb 21, 2021 @ 7:50am 
Then the masses that care about these things can pass it along. I sent a link to this over Twitter. I expect WC to know about these issues in proportion to them not caring enough to address them for Ark 2. Every time I consider if I might be just a bit too cynical about game software development, things like this highly bungled way of dealing with paid DLC maps remind me I just need to learn to lower my expectations.

"Ranting to the masses?" The masses will simply put up with this as I do and march along, or spend eons on a single favorite map, or otherwise move along to the next game without a second thought.

I address the wind. I shout into the void for my own amusement. I make notes and attempt to work my way through this stew of bollocks in hope I might get my working LAN game off my desktop client with all its "destroy the entire cluster" crashes and non-sense. I really have no hope the Devs would give a damn what I think. What difference should it make if they see it? But appearances must be maintained, must they not?
Romaq Feb 21, 2021 @ 8:49am 
Bare Install done, let's get ArkManager going...

It is the Linux Way: "If you don't know what you are doing YOU DON'T BELONG HERE!"

I need to communicate using SSH, then get my SSH public key inserted into my account so I don't need to use the long password AND THEN have SSH refuse to allow me the use of my password... use the key only... which is the proper IT security way to do it. "Just because I'm paranoid does NOT mean everyone isn't out to get me!" A moment to edit vimrc to work on black backgrounds so I can *see* what I'm doing, edit sshd to refuse any passwords, restart sshd, then "sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target" so I can close the lid without shutting down the server.

I looked at https://docs.linuxgsm.com/game-servers/ark-survival-evolved and decided to go instead with https://github.com/arkmanager/ark-server-tools. Ark Clustering in GSM seems to only get a passing mention, and I thought my chances better with a tool more dedicated specifically to Ark. Note: "ARK will not work with LinuxGSM multi instances in the same directory. This is due to its reliance on GameUserSettings.ini meaning multiple instances must use the same settings." This isn't a "GSM" problem, it's an "Ark clustering suxx0rs" problem.

So from https://github.com/arkmanager/ark-server-tools#prerequisites we get moving.

Next: Installing Ark-Server-Tools from Prerequisites forward
Romaq Feb 21, 2021 @ 9:09am 
Installing Ark-Server-Tools from Prerequisites forward

From https://github.com/arkmanager/ark-server-tools#prerequisites, most required packages were already installed, but it's best to make sure using "sudo apt-get install <package>" from the list. libc6-i386 wasn't in my case, but always best to be sure. Other packages are listed as "most likely installed" so I didn't bother going through those. If they are needed at this point, the system will tell me and I can deal with it then. Next we are directed to https://developer.valvesoftware.com/wiki/SteamCMD#Linux

From the above link, it turns out I had to do the commands below "If you are using a 64 bit machine you will need to add multiverse" before "sudo apt install steamcmd" worked, at which point that command was no longer necessary. There is a symlink command to link steamcmd into /home/steam, but it isn't necessary as steamcmd is already on the PATH$.

Back to ~steam and returning to https://github.com/arkmanager/ark-server-tools#install-ark-server-tools I invoke the next curl command to install the Ark Server Tools. With those installed, "/etc/arkmanager" is owned by user steam. I chowned that group to root. "steam" is not to be trusted. At this point we can safely say Ark Server Tools are installed, and now I just need to tidy up the base configuration.

Next: Basic configuration and installation of the Ark Server business
Romaq Feb 21, 2021 @ 10:03am 
Basic configuration and installation of the Ark Server business

The "mission specific goal"

1) An Ark Survival LAN game with my wife, one other regular player external to our LAN, and at most 5 but I don't think I'll ever see that many. 3 regular players are fine.

2) We want the freedom to play any map with little notice, as if we were each playing "single player" and just "happened" somehow to enjoy the company of other players. In other words... MAINTAINING A DOZEN SERVERS FOR 3 PEOPLE PLAYING IS BOLLOCKS!

3) I want to keep it as easy as possible for me to update the cluster as possible and maintain as little of the configuration of each server as possible, make backups of the whole smash with as little effort as possible. Refer to point #2 above... mountain oysters.

4) I need to bring map servers up and down with as little fuss as possible in advance of us using them. There is no point to having all map servers staying up all the time, and I don't believe I *can* on this laptop. More "Genesis sub-map" and less... this... Unpleasant Cow Pie, please.

For /etc/arkmanager/arkmanager.cfg it has lines like, "change this to... if you have the steamcmd package installed." I have, so I did on all those lines. As a habit to avoid later confusion, I duplicate the line, comment out the top one, and THEN make the changes so I always know what the original line was like. I also made a note above #steamcmdhome=/home/steam that this line is to be set per instance. This is necessary to avoid collision between each WHY IN HELL DO I NEED A SERVER PER MAP configurations.

ServerAdminPassword and MaxPlayers set for all servers... setting GameModIds for all servesr with the possible exception of Valguero, to be done in that specific config later, and AltSaveDirectoryName of "copper" for the whole cluster. There needs to be one spot for the player and tribe files to all interact in, and this is also how I have it set on the Windows cluster I am using.

There are some specific flag settings I'm going to set in the next post, but for now I'm changing the defaultinstance to Ragnarok, as that is our "home server/ base" map.

Next: Cluster flags and setting up Ragnarok for the cluster
Last edited by Romaq; Feb 21, 2021 @ 10:03am
Romaq Feb 21, 2021 @ 10:24am 
Cluster flags and setting up Ragnarok for the cluster

Ark Server Manager (ASM) has a feature where I can find out what flags it gives, the "show command" button. I get a bunch of things, some I know I don't need to bother setting, others I do. The following matter to me:

-AllowCrateSpawnsOnTopOfStructures #Nice to mark where they spawn if near bases
-AllowFlyerSpeedLeveling #If we want to put points into faster flying, why not?
-ActiveEvent=vday #I change this by season or until we tire of the event
-ForceAllowCaveFlyers #We have fun taking fliers into caves. It's OP. We don't care

Per https://survivetheark.com/index.php?/forums/topic/87419-guide-cluster-setup/
"It does not matter if this ID is globally unique. It also shouldn't need to be secret, but better to keep it secret in case people find a way to exploit it. If someone uploads to (or attempts to download from) some other server using the same ID, it will not be the same cluster as your servers, because the cluster files are stored locally on your server machine and not shared anywhere else. (Update: If you are running on a dedicated host, make sure your cluster id is unique and secret, because there is a possibility the host is using a shared cluster save location.)"
-clusterid=copper #Simple
-NoBattlEye #I don't want any extra processes used up for this.
-insecure #Supposed to be WIndows Only. Don't care. Don't want to spend on it.
-noantispeedhack #See above. Same
-useallavailablecores #Why not?
-usecache #Not clear if it does anything or not. Trying it anyway.
-exclusivejoin #Not having passwords simplifies this whole thing. I know where to add ALLOW file once this is set up. I also always make sure to remove myself and verify it works as expected. ALWAYS.
-structurememopts #This appears to work fine, so I'm using it.
-noundermeshchecking #These two... we don't cheat, I don't want to waste CPU on it.
-noundermeshkilling

ActiveEvent and ClusterID appear to be the only arkopt, the rest appear to be arkflag, so entering into the config accordingly.

Next: Specific configurations for Ragnarok
Romaq Feb 21, 2021 @ 10:52am 
Specific configurations for Ragnarok

So in /etc/arkmanager/instances, I moved "main.cfg" to "ragnarok.cfg" and did a "touch" (zero byte file) of main.cfg.

arkserverroot was changed to ./ARK/ragnarok, and so it will be for all the other servers to come. I really *REALLY* hate that all the binary code & crap have to be in separate directories. Why can't I override the GameUserSettings.ini file to the specific server to which it applies? Or better yet... "This file? It applies to ALL SERVERS IN THE CLUSTER!" Or even better-better ... "The single server manages the entire 3 player multi-map cluster!" Why, WC? Just... why?

Now to comment out passwords, mod list and such that are already in the default so I only maintain those *there*. I have the map list from https://docs.linuxgsm.com/game-servers/ark-survival-evolved to give me "official map names", a few port settings to change, and the name of the session. That should be *all* I have to do. Now to see what happens when I follow the directions on installing ArkManager and Ragnarok per https://github.com/arkmanager/ark-server-tools#install-ark-server

Next: The aftermath of the install attempt
Romaq Feb 21, 2021 @ 11:54am 
The aftermath of the install attempt

After logging in via SSH as user steam, arkmanager status belches a list of mods I need to install first. This is expected, so I invoke "arkmanager installmod <list>". Also taking the time to install Cross-Genesis 1 and Valguero Dino and Map Extension, because if this whole thing goes down the tubes we'll have to wear out Ragnarok first and then switch to the Valguero map... but I'll run those on the laptop machine. I don't doubt the ability to run a single server, it's the clustering causing the needless grief and complexity.

While waiting for the mods to install, I notice /home/steam/ARK/ragnarok/ShooterGame/Saved/copper exists, but I'd want it in /home/steam/copper, as a minimum. I'm going to have to play with that setting to see how it resolves once the mods are downloaded.

steam@headless:~$ arkmanager install
Running command 'install' for instance 'ragnarok'

As suspected and as desired. No @instancename = "Ragnrok primary instance, our home base, the desired "default". Letting it finish the install. ... now I have the "common" directory in "steam@headless:~/ARK/ragnarok/ShooterGame/Saved/home/steam/copper$" which is "not as intended". Therefor... let's try a symlink and see how it bungles it up.

... Actually, that works! Now to login and see what harm was caused.

Next: Initial Login, then invoking a backup of the "real" server
Romaq Feb 21, 2021 @ 1:15pm 
Initial Login, then invoking a backup of the "real" server

I attempted to login, and YAY! I'm not authorized to join the server. Expected behavior as I don't have that file I mentioned. Now to set that up... I want to see if a hard link will work fine. I want only ONE place to edit that stupid ALLOW file to work for the entire cluster. This would mean I have to symlink the "copper" save directory and the PlayersExclusiveJoinList.txt file which I want to keep in /home/steam/copper to the /ShooterGame/Binaries/Linux directory... AND WHY IN HELL is it *there* instead of the saved/ cluster save directory? And why is it named *THAT* instead of "ALLOW" or something that makes more intuitive sense? What's wrong with WC?

I forgot to reboot the server, this file is only read at server start-up so making a change won't help without the reboot. And I login file. Now to create a backup of the current Windows cluster, move the data to the ~steam/copper directory, fire it up again.

This works, except the GameUserSettings.ini data was not moved over... doing that now, and checking... So bringing the machine up without the stack setting changes made the extra from all the other stacks vanish... so shut the server down, deleting everything in the ~/copper directory, putting a copy of it all back from the server, verifying again. But I think this looks good... yes, everything appears happy and sane for one server. Now to work on Aberration.

Next: Aberration configuration and testing
Samadhi Feb 21, 2021 @ 1:23pm 
Why post this? Its not helpful for anyone, and seems to be better in a wordpress blog to impress your friends....
Samadhi Feb 21, 2021 @ 1:24pm 
And FTR it takes about 20 minutes to set up a LAN Cluster using ASM, so methinks you just enjoy inflicting misery on yourself.
Romaq Feb 21, 2021 @ 2:11pm 
Because I do not have and do not care to set up a wordpress blog. There isn't anyone to impress, and I find it useful to make notes as I go along. If *YOU* do not wish to read it, *YOU* are welcome to unsubscribe. Or complain to a mod about this not fitting in here. Whatever suits you.

And FTR I have a LAN cluster using ASM, and I've had great misery with having my machine lock so I have to power it down in the middle of us all playing AND having to roll back to a save point. I'm getting the cluster off my client machine. I've said as much, so methinks you just enjoy being a Chad.
< >
Showing 1-15 of 25 comments
Per page: 1530 50

Date Posted: Feb 20, 2021 @ 7:10pm
Posts: 25