Jump to content

[Support] ich777 - Gameserver Dockers


Recommended Posts

12 minutes ago, Fortesque said:

Will do.

Your issue is simple, in the share settings you have configured that appdata is moved to the Array (which is a bad idea in my opinion since appdata should stay on the cache) and in the template you have configured that the path to your gamefiles is /mnt/cache/appdata/… (which is the default) so to speak the container will write always to /mnt/cache/… and after the mover is invoked everything that is not in use will be moved over to the Array and therefore if you start/restart the container won‘t find the data in the correct spot.

 

You have two options:

  1. In the share settings set the cache to the primary storage and male sure that the move moves the files from the array (this is what I would recommend
  2. Set the path to /mnt/user/appdata/… in the template (I‘m strongly angainst this since this introduces more latency and maybe higher cpu usage because it must go through the FUSE filesystem).
  • Like 1
Link to comment
4 minutes ago, ich777 said:

Your issue is simple, in the share settings you have configured that appdata is moved to the Array (which is a bad idea in my opinion since appdata should stay on the cache) and in the template you have configured that the path to your gamefiles is /mnt/cache/appdata/… (which is the default) so to speak the container will write always to /mnt/cache/… and after the mover is invoked everything that is not in use will be moved over to the Array and therefore if you start/restart the container won‘t find the data in the correct spot.

 

You have two options:

  1. In the share settings set the cache to the primary storage and male sure that the move moves the files from the array (this is what I would recommend
  2. Set the path to /mnt/user/appdata/… in the template (I‘m strongly angainst this since this introduces more latency and maybe higher cpu usage because it must go through the FUSE filesystem).

Well, that makes a lot of sense. I thought Unraid (and its containers) would just know that the mover was invoked and correctly look for data in the right place. That should help with the new world generation every time the docker is restarted AFTER mover was invoked.

But what about no back ups after Monday (I had the Mover scheduled on Monday)? Is my theory correct, that this is due to the moving of the files, since the back up only looks for data in cache/appdata? After moving, on Tuesday there would be no data in cache/appdata, but with the docker still running, we would still be able to play. Docker restart would then regenerate a new world and back ups of all days past Tuesday wouldn't exist, right?

Link to comment
3 minutes ago, Fortesque said:

I thought Unraid (and its containers) would just know that the mover was invoked and correctly look for data in the right place.

If you set the path in the template to /mnt/user/… it would actually look for the data on both the array and cache but as said I don‘t recommend that.

 

4 minutes ago, Fortesque said:

But what about no back ups after Monday (I had the Mover scheduled on Monday)? Is my theory correct, that this is due to the moving of the files, since the back up only looks for data in cache/appdata? After moving, on Tuesday there would be no data in cache/appdata, but with the docker still running, we would still be able to play. Docker restart would then regenerate a new world and back ups of all days past Tuesday wouldn't exist, right?

Sorry but I‘m not here to speculate, there are too many variables involved.

 

I can only tell you if you change it like I recommended above, this won‘t happen any more and everything will work as expected (I still recommend changing the share setting so that data is moved from the array to the cache or simply set mover to none but that is also a bad idea since you know have files on the cache an array in your appdata share which isn‘t ideal anyway in my opinion).

Link to comment
10 minutes ago, ich777 said:

If you set the path in the template to /mnt/user/… it would actually look for the data on both the array and cache but as said I don‘t recommend that.

 

Sorry but I‘m not here to speculate, there are too many variables involved.

 

I can only tell you if you change it like I recommended above, this won‘t happen any more and everything will work as expected (I still recommend changing the share setting so that data is moved from the array to the cache or simply set mover to none but that is also a bad idea since you know have files on the cache an array in your appdata share which isn‘t ideal anyway in my opinion).

Ok, I'm confident your changes will help. Thank you for everything so far, as well as all your free support, you are a gentleman and a scholar.

  • Like 1
Link to comment
2 minutes ago, Fortesque said:

Ok, I'm confident your changes will help. Thank you for everything so far, as well as all your free support, you are a gentleman and a scholar.

Just for confirmation:

  1. Change the appdata share so that the mover is moving files from the array to the cache
  2. Invoke the Mover

(maybe stop all containers before invoking the mover and wait for it to finish)

  • Upvote 1
Link to comment

Hello

I am having a small issue with the Soulmask Docker, might just be me as I didn't see it reported since the "Fine, I'll do Soulmask post 😁".

 

I have set everything up as per usual, port forwarding, ran through the variables etc and the game appears perfectly in the in-game browser, it just appears that it's using version 0.1.0 and will not allow me to connect as it's too old.

Is there a way I can set it to use the very latest?

 

I have tried restarting the container and verifying my files but no luck so far. I don't see any other newer branches on SteamDB 3017300 either. (only seems to show public)

 

Has anyone got this to work on latest version? (Seems to be 0.1.5 in the server list at time of this post)

Edited by Spoods
Link to comment
9 minutes ago, Spoods said:

Is there a way I can set it to use the very latest?

It checks for updates every time you restart the container, even without validation enabled.

I know that for some users it won't work for some reason but I don't know if that's caused of some network gear, AdBlocking or the location <- I really haven't been able to reproduce this over here and every container pulls the updates just fine on my machine.

 

Are you sure that your appdata path is set to stay on the cache in the Share settings from Unraid and that is not moved off from the cache when the path in the template is set to /mnt/cache/appdata/...

 

For most users the solution is to remove the container, back up your save directory, remove the soulmask folder from your appdata directory, pull a fresh copy from the CA App, let the container start fully, stop the container, replace the save directory with the backup that you have and start the container again.

 

As said above I really don't know what's causing that for some users but I assume it has to do when someone changes the path from /mnt/cache/appdata/... in the template to /mnt/user/appdata/... since the Mover will then move certain files and certain not which can cause a race condition.

Link to comment

Ok update for anyone else that has the issue, after deleting everything in the appdata\soulmask folder and re-downloading it all with verification enabled it seems to have fixed it for me.

Not sure how or why it managed to download an old version, but all fixed now 😄

 

 

-Edit as I posted at the time as ich777-

I had set the appdata share to not use the array at all so Mover shouldn't be touching it.

Thanks for the quick response though, much appreciated! I really have no idea how it managed to get 0.1.0 hopefully just a once-off hiccup

 

Edited by Spoods
  • Like 1
Link to comment

Hello everybody,

1. I have configured my "game\csgo\server.cfg" and "game\csgo\cfg\mapcycle.txt"

 

Now when I try to connect to my server my cs2 client tells me that there is no server with my Domainname.

Not even with internet and local IP. I could play on the several days ago.

I already tried to validate my installation.

I have undone the files. But this does not change the error.

 

GAME_PARAMS:

Quote

-dedicated +game_type 0 +game_mode 1 map de_dust2 -dev -usercon +sv_setsteamaccount ***** sv_password *****

My GAME_ID is 730

From outside (my network) I can ping my server via my domain -> CS2.xxx.xxx.

 

The only suspicious thing shown in the log is the following:

Quote

Network System Initialized
MOD desires lightbiner GPU but is unsupported by HW (SupportsCompute=0 CubeMapArrays=0)
Loaded /serverdata/serverfiles/game/bin/linuxsteamrt64/libserver_valve.so, got (nil)
 failed to dlopen /serverdata/serverfiles/game/bin/linuxsteamrt64/libserver_valve.so error=/serverdata/serverfiles/game/bin/linuxsteamrt64/libserver_valve.so: cannot open shared object file: No such file or directory
Loaded libserver_valve.so, got (nil)
 failed to dlopen libserver_valve.so error=libserver_valve.so: cannot open shared object file: No such file or directory

Loaded /serverdata/serverfiles/game/csgo/bin/linuxsteamrt64/libserver.so, got 0x564d31766060
Physics Console Communications is not initialized

Loaded /serverdata/serverfiles/game/bin/linuxsteamrt64/libengine2.so, got 0x564d3151a170
Loaded /serverdata/serverfiles/game/csgo/bin/linuxsteamrt64/libhost.so, got 0x564d31796820
Loaded /serverdata/serverfiles/game/bin/linuxsteamrt64/libscenefilecache.so, got 0x564d317a9dc0
Loaded /serverdata/serverfiles/game/bin/linuxsteamrt64/libparticles.so, got 0x564d317bbec0
Loaded /serverdata/serverfiles/game/csgo/bin/linuxsteamrt64/libmatchmaking.so, got 0x564d317cf040

 

 

2. Does the CS2 container even load my server.cfg and mapcycle.txt? (Permission for the files are -rwxrwx---)

 

Best regards

Ace

Link to comment
5 minutes ago, AceBurn90 said:

From outside (my network) I can ping my server via my domain -> CS2.xxx.xxx.

No you can not.

The game server isn‘t responding to ICMP requests but your firewall probably is.

 

6 minutes ago, AceBurn90 said:

Does the CS2 container even load my server.cfg and mapcycle.txt? (Permission for the files are -rwxrwx---)

I suspect yes, what epse hav you changed?

 

7 minutes ago, AceBurn90 said:

failed to dlopen /serverdata/serverfiles/game/bin/linuxsteamrt64/libserver_valve.so error=/serverdata/serverfiles/game/bin/linuxsteamrt64/libserver_valve.so: cannot open shared object file: No such file or directory
Loaded libserver_valve.so, got (nil)
 failed to dlopen libserver_valve.so error=libserver_valve.so: cannot open shared object file: No such file or directory

This is nothing to worry about.

 

7 minutes ago, AceBurn90 said:

Now when I try to connect to my server my cs2 client tells me that there is no server with my Domainname.

Why are you even trying to connect with a subdomain, that makes no sense…

Ehat did you do to make the server available from outside 

What ports have you forwarded?

Was it working before?

Does the container restart on it‘s own?

Are you sure that everything in the server.cfg is configured correctly?

Link to comment
1 minute ago, ich777 said:

Why are you even trying to connect with a subdomain, that makes no sense…

Ehat did you do to make the server available from outside 

What ports have you forwarded?

Was it working before?

Does the container restart on it‘s own?

Are you sure that everything in the server.cfg is configured correctly?

I use dynDNS to realize a forwarding via Cloudflare. For this I have an SVR and a CNAME entry.
This method previously worked with CS2 and currently works with some other services. Currently with TeamSpeak3, among others.
I use port 27015 (Tried also the port in my domain to connect) -> Worked before

The container starts automaticly until i stop it

I have changed the .cfg to it´s original state (no entries) and deleted the mapcycle.txt (as no file was there before).

Link to comment
Just now, AceBurn90 said:

For this I have an SVR and a CNAME entry.

But you don‘t need a CNAME and that doesn‘t makes any sense at all since the game only resolves you domain name which results in your public IP address and it attaches by default 27015

You could also connect with: yourdomainname.org:27015 for example and it will work fine too (this will work also for TS.


You get a response from ICMP (ping) because most likely your Firewall our router is answering on your domain name.

 

2 minutes ago, AceBurn90 said:

The container starts automaticly until i stop it

If the container co stantly restarts on it’s own, something in the configuration files or something else is wrong.

Have you yet tried to remove the config and mapcycle file, if it constantly restarts something is wrong with the container.

 

What path is set in the Docker template for the Game files and to what Mover action is you appdata directory set in the Share settings from Unraid?

Link to comment
1 minute ago, ich777 said:

But you don‘t need a CNAME and that doesn‘t makes any sense at all since the game only resolves you domain name which results in your public IP address and it attaches by default 27015

You could also connect with: yourdomainname.org:27015 for example and it will work fine too (this will work also for TS.


You get a response from ICMP (ping) because most likely your Firewall our router is answering on your domain name.

 

If the container co stantly restarts on it’s own, something in the configuration files or something else is wrong.

Have you yet tried to remove the config and mapcycle file, if it constantly restarts something is wrong with the container.

 

What path is set in the Docker template for the Game files and to what Mover action is you appdata directory set in the Share settings from Unraid?

Found my error -> in my "GAME_PARAMS:" One command was entered incorrectly.
A minus sign was missing from "map" ->should be "-map" ¬¬

Thanks/danke ich77 :)

  • Like 1
Link to comment
22 minutes ago, ich777 said:

Please also check your CNAMES, as said above you don‘t have to do it like you‘ve set it up.

 

Your domain name followed by the port (only if not using the default port) is required.

It's right the way it is.
I have followed the instructions strictly according to SpaceInvader One. 

-> 

image.png.764fc2494ed4447a5abbb74e6d525cb0.png

Edited by AceBurn90
Link to comment
22 minutes ago, AceBurn90 said:

I have followed the instructions strictly according to SpaceInvader One. 

But this is for Minecraft and for TCP traffic (but strictly speaking it doesn’t matter if it’s UDP or TCP traffic) but that is not working and not needed for UDP traffic and servers with more ports…

A game server is not a webserver…

 

Wouldn‘t it be easier to give your friend the domain name and the port instead of a CNAME, domain name and the port?

 

And this also complicates your setup too.

The only thing that you need to do is opening the ports for the game server in your Firewall/Router done.

Link to comment
11 minutes ago, ich777 said:

But this is for Minecraft and for TCP traffic (but strictly speaking it doesn’t matter if it’s UDP or TCP traffic) but that is not working and not needed for UDP traffic and servers with more ports…

A game server is not a webserver…

 

Wouldn‘t it be easier to give your friend the domain name and the port instead of a CNAME, domain name and the port?

 

And this also complicates your setup too.

The only thing that you need to do is opening the ports for the game server in your Firewall/Router done.

I have of course customized everything for my needs.
The strict adherence was more related to the technology.

I'm not finished with my current setup yet.
I know it makes everything more complicated, but I have more plans for this, for which I want to create a separate thread. But this will be at a later time.

Link to comment
5 minutes ago, AceBurn90 said:

I'm not finished with my current setup yet.

My advice would be to not overthink it, game servers should be pretty safe to forward the port to and they should be always bound to a port, even big game hosting companies do it like that (GPortal, NITRADO,...).

From these providers you also usually get a domain name and a port for each individual game where only the port differs and maybe the domain name however they do not use a CNAME.

 

You can do it however you want it but it is way easier to just use the domain name and the port <- again, the port is only needed if you don't use the default one.

Link to comment

Both of my Conan Exiles docker containers seem to be running out of memory. I originally suspected a game memory leak but I can see that the server is using between 4.5 and 6 gbs before it crashes. Both my Siptah and Exiled Lands servers do this. The error is always the same at the end of the log:


 

[2024.06.23-14.58.17:337][ 79]LogMemory:Warning: Freeing 33554432 bytes from backup pool to handle out of memory.
[2024.06.23-14.58.17:337][ 79]LogMemory:Warning: MemoryStats:
        AvailablePhysical 11342008320
         AvailableVirtual 140731004248064
             UsedPhysical 0
         PeakUsedPhysical 0
              UsedVirtual 0
          PeakUsedVirtual 0
[2024.06.23-14.58.17:337][ 79]Allocator Stats for binned2 are not in this build set BINNED2_ALLOCATOR_STATS 1 in MallocBinned2.cpp


The server has memory available - total of 32gbs with over 14 available even with both servers running.

I tried running only one of each at a time, same issue. It happens within 20-30 minutes of game play, sometimes it happens immediately upon login attempt.

Single player instance doesn't have this issue when I attempt it. And this only started after the last posts I made when the yearly base image patch was done and I had to delete the WINE64 directories to fix the issue. I found an older post (https://forum.winehq.org/viewtopic.php?t=34322) that seems to indicate an issue with how WINE allocates memory.

Any ideas? Worst case I migrate the servers back to a Windows VM.

Your work is much appreciated, thanks!

Link to comment
1 hour ago, Earendur said:

Any ideas? Worst case I migrate the servers back to a Windows VM.

Try to migrate back to Windows and see if it‘s the same.

 

Sorry, the WINE forum post is from 2020 so it‘s not up to date and not relatable to the WINE version that I use here.

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...