Jump to content

[Support] ich777 - Gameserver Dockers


Recommended Posts

On 10/10/2020 at 12:13 AM, Cyd said:

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

 

With the inspiration (read thievery) from @growlith I present the A3C (ARK Cluster Companion Container). It and the accompanying XLM files should allow for a fairly simple stand up of a new ARK server cluster.

 

https://github.com/CydFSA/A3C

 

Go to the github, fetch the XMLs for however many servers you want to use in your new cluster, salt them to taste with your information (server names, cluster name, passwords, adminpasswords, ect...). 

 

Good Luck and Happy Hunting!

 

historical information left below (really go get the newer stuff from github)

------------------------------

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  ;)  

 

 

 

ARKcluster.jpg

Hi, sorry to add more activity on such an old thread, I managed to get 2 servers running using your explanation here, but I cannot get my cluster to work as expected, I have the cluser id and cluster dir override as you explained. 

Could you please explain what should be in place ? I was considering making a video about all of this as I am really struggling to find decent resources and yours is by far the best so far.

I have A3C
The Island and Scortched setup to basically exactly how your cluster was running for reference

Link to comment
21 hours ago, ich777 said:

On what hardware do you run the container?

Ryzen 7 5700G, 32 GB RAM, AsRock X570m Pro4. The docker-apps are on an SSD.

The dedi GPU (RTX 3050 6GB) is bound to vfio, so shouldn't affect docker. 

 

I didn't use the server for a few months, and last month I switched the CPU, before the 5700G I used an 4750G.

The only thing that changed since then is the CPU and I guess the server might have gotten a few updates since CE has kinda seasons?

Link to comment
1 hour ago, Cinerir said:

I didn't use the server for a few months, and last month I switched the CPU, before the 5700G I used an 4750G.

Then it's most certainly the case you have to delete the WINE64 directory in your ConanExiles folder, of course first stop the container, delete the WINE64 folder and start the container.

 

I can't reproduce this over here on a new installation:

grafik.thumb.png.357938fa266ae512db081c66b474c64a.png

 

grafik.thumb.png.3cd1d0e44f98685757727477f4f2db53.png

 

ConanExiles.log

 

The dedicated server is properly running, above I attached the log from the first startup.

Link to comment

I'm trying to install and run the 7 days to die docker. I'm running into an issue where every time I start it (first time after it downloads game files, and after restarts) it hangs on the line "memorysetup-temp-allocator-size-gfx=262144". I'm using all of the standard settings pre-populated during the docker setup and I do have the ports 26900-26903 open. I can see the server populate on the 7dtd client side when I search for it, but am never able to connect to the server.

 

Any ideas if I'm doing something wrong or need to adjust my setup?

Link to comment
3 hours ago, ich777 said:

Then it's most certainly the case you have to delete the WINE64 directory in your ConanExiles folder, of course first stop the container, delete the WINE64 folder and start the container.

 

I can't reproduce this over here on a new installation:

grafik.thumb.png.357938fa266ae512db081c66b474c64a.png

 

grafik.thumb.png.3cd1d0e44f98685757727477f4f2db53.png

 

ConanExiles.log 662.2 kB · 0 downloads

 

The dedicated server is properly running, above I attached the log from the first startup.

The server is starting now, after deleting the WINE64 folder.

Thank you a lot. So I would have to delete this folder after every hardware change?

  • Like 1
Link to comment
2 hours ago, csmit216 said:

I'm trying to install and run the 7 days to die docker. I'm running into an issue where every time I start it (first time after it downloads game files, and after restarts) it hangs on the line "memorysetup-temp-allocator-size-gfx=262144". I'm using all of the standard settings pre-populated during the docker setup and I do have the ports 26900-26903 open. I can see the server populate on the 7dtd client side when I search for it, but am never able to connect to the server.

 

Any ideas if I'm doing something wrong or need to adjust my setup?

Check out my guide.

 

https://7dac.net/a-guide-on-how-to-install-ich777s-container-docker-on-an-unraid-server/

  • Like 1
Link to comment

Hi i am trying to run the 7days to die docker i install it attempt to run it but it just gives these logs 

Have tried restarting unraid
have tried deleting and reinstalling the dock
tried restarting unraid again
but still giving the same errors
 

Quote

Aug 14 09:40:19 Zero kernel: docker0: port 12(vethf7bed35) entered blocking state
Aug 14 09:40:19 Zero kernel: docker0: port 12(vethf7bed35) entered disabled state
Aug 14 09:40:19 Zero kernel: device vethf7bed35 entered promiscuous mode
Aug 14 09:40:19 Zero kernel: docker0: port 12(vethf7bed35) entered disabled state
Aug 14 09:40:19 Zero kernel: device vethf7bed35 left promiscuous mode
Aug 14 09:40:19 Zero kernel: docker0: port 12(vethf7bed35) entered disabled state

image.png.e976496a5f36e34d4aa03c21052b7c61.pngimage.png.e8948b8afb20dac7000d3c4e390215bc.png

Edited by KingFishy492
Link to comment
1 hour ago, KingFishy492 said:

Hi i am trying to run the 7days to die docker i install it attempt to run it but it just gives these logs 

Have tried restarting unraid
have tried deleting and reinstalling the dock
tried restarting unraid again
but still giving the same errors
 

image.png.e976496a5f36e34d4aa03c21052b7c61.pngimage.png.e8948b8afb20dac7000d3c4e390215bc.png

Wha is your unraid version? It should be at last 6.12.  Do you install your containers on cache only or is appdata split to the array to?

 

 

Link to comment
12 minutes ago, Spectral Force said:

Wha is your unraid version? It should be at last 6.12.  Do you install your containers on cache only or is appdata split to the array to?

 

 

Chace atm all the other dockers that i have run like sastisfactory is also on the cahce with no issue
unraid 6.12.10

Link to comment
4 minutes ago, KingFishy492 said:

Chace atm all the other dockers that i have run like sastisfactory is also on the cahce with no issue
unraid 6.12.10

I have never seen a kernel error from the 7d container. 

 

is there an outputlog from the 7d server itself?

 

whats your cpu & how much ram do you have?

 

idk if itll help in this matter but you can try my guide. 

 

https://7dac.net/a-guide-on-how-to-install-ich777s-container-docker-on-an-unraid-server/

 

 

Edited by Spectral Force
Link to comment
25 minutes ago, Spectral Force said:

I have never seen a kernel error from the 7d container. 

 

is there an outputlog from the 7d server itself?

 

whats your cpu & how much ram do you have?

 

idk if itll help in this matter but you can try my guide. 

 

https://7dac.net/a-guide-on-how-to-install-ich777s-container-docker-on-an-unraid-server/

 

 

From unraid itself
7days wont even boot to give me longs .-. its rather depressing
64GB RAM
CPU: 11th Gen Intel® Core™ i5-11400 @ 2.60GHz

Ill give it ago from the guide i had tried to see if there were any youtube videos around on how to do it but wasnt having too much luck 

Link to comment

Hello.  Been using various containers and they have been awesome.  Been playing palworld for a while and was trying to make it public so a buddy can join.  Is that something that I can change in the .ini or somewhere else?

Link to comment
1 hour ago, mikeyvt said:

Been playing palworld for a while and was trying to make it public so a buddy can join.

The default configuration is a public server, did you forward the ports and double checked if the protocol is correct?

 

Are you sure that NAT reflection is working properly? Did you yet try to connect from outside to your server?

 

Does connecting via your public IP work?

Link to comment
14 hours ago, ich777 said:

The default configuration is a public server, did you forward the ports and double checked if the protocol is correct?

 

Are you sure that NAT reflection is working properly? Did you yet try to connect from outside to your server?

 

Does connecting via your public IP work?

My ports are forwarded as I've had friends connect to the server via my public IP/port.  Friends 5 states away have no problem using the IP.  Never have been able to look it up though.

Link to comment
1 hour ago, mikeyvt said:

My ports are forwarded as I've had friends connect to the server via my public IP/port.  Friends 5 states away have no problem using the IP.

Then that's actually working. Are you able to connect with your public IP or are you not able? If you are not able then NAT Reflection (Hair Pin NAT) is not working properly and you won't be able ever to see it on the list.

 

As long as you have this in your GAME_PARAMS it should be a public server:

grafik.png.69806f695007760f858f578e1e06ac71.png

Link to comment
18 hours ago, ich777 said:

This message means most of the times a port confilct.

 

Please post your docker run command (please click on the Hyperlink to see how to do that, there you‘ll actually see the exact error).

So i couldn't figure out where the heck i needed to get this docker run thing to go 
Since posting yesterday i have managed to get the docker to run 
but i am unable to connect to the actually server
i have set up the config
i have port foorwarded the IP
but it wont let me connect 
when i try to look at logs/console for the docker it almost instantly closes on me 

and now unraid is giving 
 

Quote

Aug 15 08:54:38 Zero kernel: vethbba888e: renamed from eth0
Aug 15 08:54:38 Zero kernel: docker0: port 4(vetheb999e2) entered disabled state
Aug 15 08:54:38 Zero kernel: docker0: port 4(vetheb999e2) entered disabled state
Aug 15 08:54:38 Zero kernel: device vetheb999e2 left promiscuous mode
Aug 15 08:54:38 Zero kernel: docker0: port 4(vetheb999e2) entered disabled state

Quote

/opt/scripts/start-server.sh: line 193:    68 Segmentation fault      ${SERVER_DIR}/7DaysToDieServer.x86_64 -configfile=${SERVERCONFIG} -nographics -batchmode ${GAME_PARAMS}
/opt/scripts/start-server.sh: line 193:    69 Segmentation fault      ${SERVER_DIR}/7DaysToDieServer.x86_64 -configfile=${SERVERCONFIG} -nographics -batchmode ${GAME_PARAMS}
    "memorysetup-allocator-temp-initial-block-size-main=262144"
    "memorysetup-allocator-temp-initial-block-size-worker=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"
---Ensuring UID: 99 matches user---
usermod: no changes
---Ensuring GID: 100 matches user---
usermod: no changes
---Setting umask to 000---
---Checking for optional scripts---
---No optional script found, continuing---
---Taking ownership of data...---
---Starting...---
---Update SteamCMD---
Redirecting stderr to '/serverdata/Steam/logs/stderr.txt'
Logging directory: '/serverdata/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1721172922
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
---Update Server---
Redirecting stderr to '/serverdata/Steam/logs/stderr.txt'
Logging directory: '/serverdata/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1721172922
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Success! App '294420' already up to date.
---Prepare Server---
---UserDataFolder location correct---
---UserDataFolder location found---
---Server ready---
---Start Server---
[UnityMemory] Configuration Parameters - Can be set up in boot.config
    "memorysetup-bucket-allocator-granularity=16"
    "memorysetup-bucket-allocator-bucket-count=8"
    "memorysetup-bucket-allocator-block-size=4194304"
    "memorysetup-bucket-allocator-block-count=1"
    "memorysetup-main-allocator-block-size=16777216"
    "memorysetup-thread-allocator-block-size=16777216"
    "memorysetup-gfx-main-allocator-block-size=16777216"
    "memorysetup-gfx-thread-allocator-block-size=16777216"
    "memorysetup-cache-allocator-block-size=4194304"
    "memorysetup-typetree-allocator-block-size=2097152"
    "memorysetup-profiler-bucket-allocator-granularity=16"
    "memorysetup-profiler-bucket-allocator-bucket-count=8"
    "memorysetup-profiler-bucket-allocator-block-size=4194304"
    "memorysetup-profiler-bucket-allocator-block-count=1"
    "memorysetup-profiler-allocator-block-size=16777216"
    "memorysetup-profiler-editor-allocator-block-size=1048576"
    "memorysetup-temp-allocator-size-main=4194304"
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-allocator-temp-initial-block-size-main=262144"
    "memorysetup-allocator-temp-initial-block-size-worker=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"
---Ensuring UID: 99 matches user---
usermod: no changes
---Ensuring GID: 100 matches user---
usermod: no changes
---Setting umask to 000---
---Checking for optional scripts---
---No optional script found, continuing---
---Taking ownership of data...---
---Starting...---
---Update SteamCMD---
Redirecting stderr to '/serverdata/Steam/logs/stderr.txt'
Logging directory: '/serverdata/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1721172922
-- type 'quit' to exit --
Loading Steam API...OK



Have deleted the docker
did adddataclean up
deleted the template
readded teh docker
the game has downloaded the files
can access logs and CMD currently
but am unable to access the server via IP
have port forwarded 26910
have set -nographics -batchmode 
changed default prot from 8080 to 8083 as it conflicted 

Edited by KingFishy492
Container logs added info
Link to comment
1 hour ago, KingFishy492 said:

So i couldn't figure out where the heck i needed to get this docker run thing to go 
Since posting yesterday i have managed to get the docker to run 
but i am unable to connect to the actually server
i have set up the config
i have port foorwarded the IP
but it wont let me connect 
when i try to look at logs/console for the docker it almost instantly closes on me 

and now unraid is giving 
 



Have deleted the docker
did adddataclean up
deleted the template
readded teh docker
the game has downloaded the files
can access logs and CMD currently
but am unable to access the server via IP
have port forwarded 26910
have set -nographics -batchmode 
changed default prot from 8080 to 8083 as it conflicted 

You need to forward a range of ports, but you should be able to connect using your internal ip & port.  

 

If you are trying to connect using your external ip you need to forward 26910 - 26915 both tcp & udp.

 

  • Like 1
Link to comment
7 hours ago, ich777 said:

Then that's actually working. Are you able to connect with your public IP or are you not able? If you are not able then NAT Reflection (Hair Pin NAT) is not working properly and you won't be able ever to see it on the list.

 

As long as you have this in your GAME_PARAMS it should be a public server:

grafik.png.69806f695007760f858f578e1e06ac71.png

Yes I can connect to my server with the public IP.

 

Actually my game params look like this.  I've never changed it.  Do I need this 'Epicapp=PalServer'?  Thanks for the quick responses man.

image.thumb.png.62974317333c316f82c22d6054f8261c.png

Edited by mikeyvt
Link to comment
7 hours ago, KingFishy492 said:

So i couldn't figure out where the heck i needed to get this docker run thing to go 

Go in the template, make a dummy change (remove a letter from the the name and re add it -> this is just to unlock the Apply button), click on Apply and on the next screen you will see the docker run.

Post a screenshot or the text here.

 

7 hours ago, KingFishy492 said:

/opt/scripts/start-server.sh: line 193:    68 Segmentation fault  

On what hardware do you try to run the container?

 

7 hours ago, KingFishy492 said:

changed default prot from 8080 to 8083 as it conflicted 

Have you changed anything else in the template?

Link to comment
13 hours ago, mikeyvt said:

Actually my game params look like this.  I've never changed it.  Do I need this 'Epicapp=PalServer'?  Thanks for the quick responses man.

This changed over time and now it‘s not this parameter anymore, you have to replace it with -publiclobby like I posted above.

  • Like 1
Link to comment
On 1/28/2021 at 12:31 AM, growlith said:

 

I am having the same issue with the -automanagedmods flag.  Seg fault upon starting the server.  I do not have any spaces in my game parameter string.  Any ideas of things that I might try?  

This is what my start command looks like from Unraid.
 

/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='ARKSurvivalEvolved' --net='bridge' -e TZ="America/New_York" -e HOST_OS="Unraid" -e 'GAME_ID'='376030' -e 'USERNAME'='' -e 'VALIDATE'='' -e 'PASSWRD'='' -e 'MAP'='Ragnarok' -e 'SERVER_NAME'='rag' -e 'SRV_PWD'='somepassword' -e 'SRV_ADMIN_PWD'='otherpassword' -e 'GAME_PARAMS'='?AllowFlyerCarryPvE=true?AllowFlyingStaminaRecovery=true?AllowCaveBuildingPVE=true?OverrideOfficialDifficulty=5.0?ForceAllowCaveFlyers=true?AllowAnyoneBabyImprintCuddle=true' -e 'GAME_PARAMS_EXTRA'='-automanagedmods -server -log' -e 'UID'='99' -e 'GID'='100' -p '7777:7777/udp' -p '7778:7778/udp' -p '27015:27015/udp' -p '27020:27020/tcp' -v '/mnt/user/appdata/steamcmd':'/serverdata/steamcmd':'rw' -v '/mnt/cache/appdata/ark-se':'/serverdata/serverfiles':'rw' --restart=unless-stopped 'ich777/steamcmd:arkse'

 

Do you have the section "[ModInstaller]" with "ModIDS=123456" for each mod set up in game.ini?
this atleast solved my startup issue.

Link to comment

Hello!

 

I'm trying to start my own Ark Evolved Server with Docker and I'm having trouble removing battleye. I added -DisableBattlEye in the extra parameters but it doesn't seem to disable. I can't find it in the config files either. How do I disable this? Thank you in advance! 

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.

×
×
  • Create New...