[Support] ich777 - Gameserver Dockers


Recommended Posts

13 minutes ago, Nelinski said:

Yeah I have a feeling you need to own the game in order to download the server but the server is a separate download via steam so you don't have to install the main game too.

Then the developers made a change to this, i will need to look into this.

 

When I initally created the container it was only possible to make a dedicated server to take the executable that is located in the directory of the game itself.

  • Thanks 1
Link to comment
On 10/9/2020 at 5:13 PM, Cyd said:

This will hopefully shead some light on the underside working bits of building a cluster of servers for ARK:SurvivalEvolved.

 

We are going to start with getting -UseDynamicConfig working and talking to our config file rather than the Official one out at http://arkdedicated.com/dynamicconfig.ini , I know it feels like that should come last but bear with me.


First we have a simple http server running by itself serving up the "dynamicconfig.ini" on port 80 on its container, this is mapped out to the host on 8080 and is not really needed but makes it easy to take a quick glance at tower:8080 to see what the settings are. I ran this container first so that it would receive a predictable IP address (172.17.0.2:80) that is then used in the configurations of the remaining containers to add an entry to the hosts file (--add-host=arkdedicated.com:172.17.0.2) so that requests to http://arkdedicated.com/dynamicconfig.ini in the game servers are pointed to the container running at 172.17.0.2. If you don't want or care to use the dynamic configs, omit the ARK0 container and remove -UseDynamicConfig from the "Extra Game Parameters" of all subsequent ARK's you deploy. 

 

Next I deployed 10 ARK server instances, why 10 when there are only 9 maps? Well, I assume that Wild card will have another map for Genesis Part 2 coming in the spring so I added a container to house it, currently it is configured as a 2nd Genesis1 map with all the correct ports and paths. If they do release a new map it will only require changing the map name in the config and starting the container.

 

The ports are mapped sequentially so you will only need to insert three port forward blocks into your gateway router (UDP 7777-7796, UDP 27015-27024, TCP 27025-27034) You do not need anything forwarded to ARK0 as it is only there to talk to ARKs 1-10.

 

ARK0-dynamicconfig        tcp     80:8080
ARK1-TheIsland            Udp1 7777    UDP2 7778    UDPSteam 27015    TCPRCON 27025
ARK2-ScorchedEarth_P    Udp1 7779    UDP2 7780    UDPSteam 27016    TCPRCON 27026
ARK3-Aberration_P        Udp1 7781    UDP2 7782    UDPSteam 27017    TCPRCON 27027
ARK4-TheCenter            Udp1 7783    UDP2 7784    UDPSteam 27018    TCPRCON 27028
ARK5-Ragnarok            Udp1 7785    UDP2 7786    UDPSteam 27019    TCPRCON 27029
ARK6-Valguero_P            Udp1 7787    UDP2 7788    UDPSteam 27020    TCPRCON 27030
ARK7-CrystalIsles        Udp1 7789    UDP2 7790    UDPSteam 27021    TCPRCON 27031
ARK8-Extinction            Udp1 7791    UDP2 7792    UDPSteam 27022    TCPRCON 27032
ARK9-Genesis            Udp1 7793    UDP2 7794    UDPSteam 27023    TCPRCON 27033
ARK10-Genesis2            Udp1 7795    UDP2 7796    UDPSteam 27024    TCPRCON 27034

 

Path mappings are slightly more complex. SteamCMD is in its original location per @ich777's standard and the binary data for ARK is also in the default location. Having the server binaries shared also means that when there is an update to ARK (and/or SteamCMD) it only has to be downloaded one time rather than 10. The update procedure is to bring all of the ARKs down then start ARK1 let it update and initialize then bring the others back up en mass, as a precaution I have the wait timer on ARKs 2-10 set to 600 seconds so that if the Tower host gets rebooted ARK1 has time to pull any updates and initialize. The ARK savegame data and Server Config files are mapped into the proper location on a per container basis. This prevents each server instance from mucking up the servers config .inis (which they liked to do), this also means that you can use different options on each ark and makes managing the SavedArks less hair pully outy. The clustering function is done with a shared resource directory and a ClusterID (-clusterid=arkStar under "Extra Game Parameters") 

 

Dynamiccimfig data:
/dynamicconfig<>/mnt/cache/appdata/ark-se/dynamicconfig

 

SteamCMD:
/serverdata/steamcmd<>/mnt/user/appdata/steamcmd

 

ARK data:
/serverdata/serverfiles<>/mnt/cache/appdata/ark-se

 

Cross ARK cluster data:
/serverdata/serverfiles/clusterfiles<>/mnt/cache/appdata/ark-se/cluster

 

ARK configs and Save Data:
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK1-TheIsland
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK2-ScorchedEarth_P
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK3-Aberration
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK4-TheCenter
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK5-Ragnarok
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK6-Valguero_P
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK7-CrystalIsles
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK8-Extinction
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK9-Genesis
/serverdata/serverfiles/ShooterGame/Saved<>/mnt/cache/appdata/ark-se/ARK10-Genesis2

 

The XML files are attached below, if you chose to use them please make sure to edit them to your taste; server names, passwords, clusterIDs, ect. They can be used by placing them in /boot/config/plugins/dockerMan/templates-user then going to "Docker/Add Container" then choosing from the "Template:" drop down.

 

Or maybe @ich777 will do us all a favor and decide to add them to his already impressive XML collection  ;)  

 

image.thumb.png.02848881859672d35558c27221100f40.png

my-ARK0-dynamicconfig.xmlUnavailable my-ARK1-TheIsland.xmlUnavailable my-ARK2-ScorchedEarth_P.xmlUnavailable my-ARK3-Aberration_P.xmlUnavailable my-ARK4-TheCenter.xmlUnavailable my-ARK5-Ragnarok.xmlUnavailable my-ARK6-Valguero_P.xmlUnavailable my-ARK7-CrystalIsles.xmlUnavailable my-ARK8-Extinction.xmlUnavailable my-ARK9-Genesis.xmlUnavailable my-ARK10-Genesis2.xmlUnavailable

So this post here is something that I've been trying to get done now for the last 2 days now.  I'm having some real difficulty being able to run multiple maps on ARK.  I'm really not proficient really in any of this.  My friend gave me a server desktop and another friend helped me install UnRaid and basically that's it. I'm really looking for a step-by-step guide on how to run a few maps and this seemed to be about as close as I could get, unfortunately the XML files here would have solved all my issues, but they are unavailable.  If anyone could provide help, it would be greatly appreciated. 

Link to comment
1 hour ago, altorn_achm said:

So this post here is something that I've been trying to get done now for the last 2 days now.  I'm having some real difficulty being able to run multiple maps on ARK.  I'm really not proficient really in any of this.

Eventually @Cyd can help with this, I'm not really into Ark and never intended the container to be used like this... :D

 

1 hour ago, altorn_achm said:

unfortunately the XML files here would have solved all my issues, but they are unavailable.

What do you mean that they are Unavailable?

I just can download them fine, remove the 'Unavailable' from the end of the filename and they will be fine.

  • Like 1
Link to comment
On 11/21/2020 at 3:01 PM, Nelinski said:

Yeah I have a feeling you need to own the game in order to download the server but the server is a separate download via steam so you don't have to install the main game too.

Spoke to soon... Can't test or do anything if I don't own the game, eventually there is some sale in the next month or so...

  • Haha 1
Link to comment
On 11/19/2020 at 10:58 PM, ich777 said:

Are you also sure that you have forwarded the right ports with the right protocol?

I have to look into this but if it is reachable from the LAN and you forwarded all ports correctly in your router it should be also reachable from WAN.

It was a typo. Thanks again!

  • Like 1
Link to comment
3 hours ago, iserrano said:

It was a typo. Thanks again!

 

3 hours ago, iserrano said:

It was a typo. Thanks again!

My last question ;-).  Would you happen to know how to get GSLTToken working with Sandstorm? I have created a different steam account (used those creds in the docker template) and disabled steam guard.  But after starting up the server and checking server act management, it shows the token I created never logged on?

Link to comment
19 minutes ago, iserrano said:

Would you happen to know how to get GSLTToken working with Sandstorm?

Yes, this should theoretically work just append it to the 'GAME_PARAMS' in the template like so:

Oilfield?Scenario=Scenario_Refinery_Push_Security?MaxPlayers=28?Password=Docker -GSLTToken=xxxxxxxxxxxxxxx

But I don't run such a server but this should work, you can find the documentation for the game here.

 

 

20 minutes ago, iserrano said:

I have created a different steam account (used those creds in the docker template) and disabled steam guard.  But after starting up the server and checking server act management, it shows the token I created never logged on?

You don't have to do this for InsurgencySandstorm, only in the container templates where the Steam Username and Passwords are marked as required it has to be filled in, otherwise the download will/can fail and the game even wouldn't install at all.

Link to comment

Assetto Corsa Competizione Server

Well I got this far but google search for a week has not been productive so I must regretfully bother you again,  Here is my server log

 

---Starting...---
---Checking if 'accServer.exe' is present---
---'accServer.exe' found, continuing...---
---Prepare Server---
---Checking if config files are present---
---'eventRules.json' not found, copying!---
---Checking if WINE workdirectory is present---
---WINE workdirectory not found, creating please wait...---
---Checking if WINE is properly installed---
---Setting up WINE---
---Server ready---
---Start Server---
Server starting with version 255

Error reading cpSecret

Starting server ACC Server (please edit settings.json)
FileToStruct cfg/eventRules.json
maxCarSlots 30 exceeds the allowed slots by Rating requirement (10). Add Track Medal and Safety Rating Requirements to gain up to 30 slots (3 TM + 70 SA)
SessionManager::randomizeGreenFlagTriggers: s:0.890000 e:0.950000 r:0.926516
Track monza_2020 was set and updated
Event changed
==ERR: Ignoring special event rules for public Multiplayer
==ERR: Ignoring special assist rules for public Multiplayer
SessionManager::randomizeGreenFlagTriggers: s:0.890000 e:0.950000 r:0.896413
Significant change detected, updating lobby (1|1)
maxCarSlots 30 exceeds the allowed slots by Rating requirement (10). Add Track Medal and Safety Rating Requirements to gain up to 30 slots (3 TM + 70 SA)
Resetting weekend to friday night
Reset time to friday night: 0 -> 0
Reset time to first session: 0 -> 108000
SessionManager::randomizeGreenFlagTriggers: s:0.890000 e:0.950000 r:0.894351
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000D6F4E0 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000D6F4E0 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000D6F640 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000D6F2B0 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000D6F290 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000D6F4E0 1 C) semi-stub

 

That is as far as I get. 

The exact server files in docker work in windows 10 as I have a server now running it but really want to use the docker container and eventually a second acc server.   any guidance is appreciated.  ty

Link to comment
25 minutes ago, hackspy679 said:

That is as far as I get. 

This is looking pretty good as far as I can tell.

 

Have you forwarded all the necessary ports in your router?

The warnings are pretty normal since these are from WINE.

How is you RAM and CPU usage if the container is running?

Link to comment
3 hours ago, kennelfort said:

@ich777 It appears as though the MinecraftBedrockServer docker only uses one of my CPU's 12 available cores. Is it possible for me to enable the docker to use more than one CPU core on my Unraid server? 

Have you something changed in the config or have you pinned cores to the container?

Try this, restart the container, let it sit for about 5minutes and then connect to it (open up the dasboard view in Unraid) and it should use all cores, Minecraft is in terms of world generation not very well optimized and it favours speed over core count.

 

At the start when 2 poeple connect to it it sometimes eats up all of my 16 cores and if you hit it hard in creative mode and try to fly around and it have to generate worlds it can be slow and it struggles to keep up with the world generation, at least this happens on my srver.

May i ask which CPU you have?

Link to comment
20 hours ago, ich777 said:

This is looking pretty good as far as I can tell.

 

Have you forwarded all the necessary ports in your router?

The warnings are pretty normal since these are from WINE.

How is you RAM and CPU usage if the container is running?

ty for your assistance. 

Im confident of my port forwarding settings through PFSense as I have Quake live docker server currently up and running for six months or so and the ACC server is running successfully under windows 10 machine.  Processor is 9% and ram is 12% with everything running.  

A few updates since the last post.  

I left the docker server running after i posted here and it was stuck at the point i posted the log and was not moving.  No connection to the ACC server lobby.  When I returned this morning the lobby connection was successful.  I found the server in the game multi player.  However I could not connect to it.  Comparing the win server logs and the docker logs shows TCP was not connecting on the docker server.  So I double checked the port forwarding to be sure.  9201 is used in the docker for both tcp and udp with separate rules and NAT for udp and tcp 9201.  But on the windows server it uses 9231 for udp and 9232 for tcp.  (may not be relevant) I even opened the 9231 and 9232 ports in addition to the 9201's on pfsense too for the docker server.  

 

As I am writing this the server is not moving from this command in the logs after several restarts of the server not making any change.  

0012:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000C5F4E0 1 C) semi-stub

 

Im at a loss.  Thank you 

Link to comment
1 hour ago, hackspy679 said:

0012:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0000000000C5F4E0 1 C) semi-stub

Yes this is a WINE Warning and not an error eventually @Nelinski can help he ad the docker running I think, the problem is that someone requested that game and I don't own it personally, otherwise I could more help I think.

 

If @Nelinski dosen't report back in the next few days and you also don't get it to run I will depricate it and look at it as broken.

Link to comment
3 hours ago, ich777 said:

Yes this is a WINE Warning and not an error eventually @Nelinski can help he ad the docker running I think, the problem is that someone requested that game and I don't own it personally, otherwise I could more help I think.

 

If @Nelinski dosen't report back in the next few days and you also don't get it to run I will depricate it and look at it as broken.

Docker runs fine for me, I've actually got two running simultaneously and they're both fine. I also get that warning in my logs but the docker works fine even with that warning:

0030:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (00000000010CF4E0 1 C) semi-stub

I had the exact same behaviour until I correctly port forwarded. I could see my lobby but couldn't connect to it:

Quote

 I found the server in the game multi player.  However I could not connect to it. 

How many cores have you assigned to the ACC Server docker? If you left it all night and it finally got past that point, it sounds like you haven't got much power and it's taking a while to run. I had to assign more cores to the docker as mine all default to 1 core. Post a screenshot of your docker edit page (advanced mode) and share your ACC config files here and I'll double check them @hackspy679

  • Thanks 1
Link to comment
22 hours ago, ich777 said:

Have you something changed in the config or have you pinned cores to the container?

Try this, restart the container, let it sit for about 5minutes and then connect to it (open up the dasboard view in Unraid) and it should use all cores, Minecraft is in terms of world generation not very well optimized and it favours speed over core count.

 

At the start when 2 poeple connect to it it sometimes eats up all of my 16 cores and if you hit it hard in creative mode and try to fly around and it have to generate worlds it can be slow and it struggles to keep up with the world generation, at least this happens on my srver.

May i ask which CPU you have?

Thanks.

 

I've made no changes to the config at all.

The cores are not pinned.

We have tried restarting but we haven't waited the 5 minutes. We will try that tomorrow.

To be more precise, it does appear to use all the cores, but only 1 at a time.

The CPU is an Intel L5520.

I've loaded CAdvisor and it shows the cores and dockers, but it doesn't show whether the docker is single or multithreaded.

Also, we aren't sure how the share allocation is handled, so we aren't sure if it's a docker issue or something else.

 

We have checked the network connection and we aren't seeing any bottlenecks there.

Thanks again.

 

image.thumb.png.94110dac0774ed602938b71b069a2dae.png

 

 

image.png.36484c1fa629b4bbe3233ee4bf4c2cb7.png

Link to comment
1 hour ago, kennelfort said:

The CPU is an Intel L5520.

May I ask what's the exact problem with minecraft iself? Does the wold generatin took too long or does it respond not very well?

 

As I said above this is a game that favours speed per core over much cores.

My xeon 2670 (disabled turbo) also struggles with world generation if someone tries to discover a new area.

 

EDIT: please look at this post on reddit: Click

And don't forget what I've wrote above minecraft favours high per core clocks instead of much cores.

Link to comment
11 minutes ago, ich777 said:

May I ask what's the exact problem with minecraft iself? Does the wold generatin took too long or does it respond not very well?

 

As I said above this is a game that favours speed per core over much cores.

My xeon 2670 (disabled turbo) also struggles with world generation if someone tries to discover a new area.

 

EDIT: please look at this post on reddit: Click

And don't forget what I've wrote above minecraft favours high per core clocks instead of much cores.

What we see in game is lots of lag. For example, as you dig with your pickaxe, you find that blocks don't respond immediately. Or, when you eat food, it doesn't get consumed right away and can take 10-30 seconds. For another example, when teleporting or exploring the world, the world slows down significantly and the server fans get really fast and loud. That link is helpful. Thanks again.

 

  • Thanks 1
Link to comment
8 minutes ago, kennelfort said:

What we see in game is lots of lag. For example, as you dig with your pickaxe, you find that blocks don't respond immediately. Or, when you eat food, it doesn't get consumed right away and can take 10-30 seconds. For another example, when teleporting or exploring the world, the world slows down significantly and the server fans get really fast and loud. That link is helpful. Thanks again.

 

It seems that thr CPU is a little to slow for that, how many players are on the server?

I'm might be also wrong and it has something to do with the container but I don't think so.

 

You can also try to use another container or create a second container and create a new world eventually the problem will go away.

 

Please let me know what you did in the end.

Link to comment
10 hours ago, ich777 said:

It seems that thr CPU is a little to slow for that, how many players are on the server?

I'm might be also wrong and it has something to do with the container but I don't think so.

 

You can also try to use another container or create a second container and create a new world eventually the problem will go away.

 

Please let me know what you did in the end.

Only 2 players on the server. Adding a third player makes it even worse.

We will do some testing and let you know what we find.

Link to comment
25 minutes ago, kennelfort said:

Only 2 players on the server. Adding a third player makes it even worse.

We will do some testing and let you know what we find.

Sounds like a CPU issue.

Can't imagine that it's the container because it's a simple Debian Base image and this base image downloads the vanilla client from Microsoft itself, installs or updates it and runs it. ;)

  • Like 1
Link to comment
57 minutes ago, pyrater said:

was there ever any resolution on getting ARMA3 to run with mods from steam?

Yes, why not, but you have to script it yourself and install them manually.

Keep in mind that linux is case sensitive and that the linux dedicated server don't like it when you use capital letters in the mod folders.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.