[Support] ich777 - Gameserver Dockers


Recommended Posts

18 minutes ago, Thamer Alfuraiji said:

27015 TCP/UDP open and pointing to the server's local ip ( Reddit comment suggestion ) 

This is completely wrong, nothing is using that port... :D

 

18 minutes ago, Thamer Alfuraiji said:

but my friend is getting a "Connection Timed Out" Message when he tries to connect to my public ip.

Are you sure that you've forwarded the correct port with the correct protocol, UDP in this case and yes, you only need 8211 UDP.

Please don't forward other ports! It's not necessary, I only list ports which are necessary!

 

Are you sure that your friends have the correct public IP which is also reflected in the log from the container? If it times out then it is not reachable from outside.

 

What is the exact message? Do they see a loading screen or not? If they see a loading screen for about 30 seconds then chances are high that the public IP in your config is not correct or that the port forwarding is not working properly.

 

BTW if you have a domain name assigned to that IP for example yourdomain.com then they simply can connect with yourdomain.com:8211

Link to comment
2 minutes ago, Ikeasofa said:

Learned more today. Thanks! People told me I need to assign a static IP for the local network.

My server is working just fine on the bridge (about 9 to 11 players on it on a daily basis and have no issues whatsoever with the bridge -  this is the server idling after a container restart) :

grafik.thumb.png.aebacf00a7a20a10c312bb59f0143fcc.png

 

It will work either way if you are using the default bridge, if you are using a custom bridge, if using the br0 or another interface and if you are using the host network.

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

This is completely wrong, nothing is using that port... :D

 

Are you sure that you've forwarded the correct port with the correct protocol, UDP in this case and yes, you only need 8211 UDP.

Please don't forward other ports! It's not necessary, I only list ports which are necessary!

 

Are you sure that your friends have the correct public IP which is also reflected in the log from the container? If it times out then it is not reachable from outside.

 

What is the exact message? Do they see a loading screen or not? If they see a loading screen for about 30 seconds then chances are high that the public IP in your config is not correct or that the port forwarding is not working properly.

 

BTW if you have a domain name assigned to that IP for example yourdomain.com then they simply can connect with yourdomain.com:8211


Ok let's agree on these facts :

1- I'm not a beginner with Unraid / Reverse Proxy / Port forwarding / Basics and differences between local and public IPs and domains. 

2- yes he is connecting via my public IP and port 8211 the loading screen starts for 10-15sec then we get the message in the attached screenshot 

 

3- yes the port 8211 is open and only UDP . 

4- I know about your seggestion of using my domain instead my public ip and that's the plan after I make sure that actually the public ip access is working which for now is not working .. 

 

5- I have attached some screenshots to confirm and to give more details. 

 

6- Yes the Palworld Server is working locally on my other gaming PCs via 192.168.1.181:8211 

 

7- I removed the port forwarding of steam port from my router. 

 

 

Screenshot 2024-01-31 113239.png

Screenshot 2024-01-31 113024.png

Screenshot 2024-01-31 112909.png

Edited by Thamer Alfuraiji
more details for number 2
Link to comment
7 minutes ago, Thamer Alfuraiji said:

a beginner with Unraid

I have never said that.

 

7 minutes ago, Thamer Alfuraiji said:

2- yes he is connecting via my public IP and port 8211 

7 minutes ago, Thamer Alfuraiji said:

6- Yes the Palworld Server is working locally on my other gaming PCs via 192.168.1.181:8211 

Then something is not working with the forwarding or the public IP address that is specified in the config from the dedicated server is not correct.

Please check in the logs from the container if the public IP matches your real public IP, the container should be able to update the IP on it's own if you enable the option in the template for that.

 

Did he yet try to connect with your domain name like mentioned above, of course only if you've have assigned a domain name to your public IP.

Link to comment
1 minute ago, ich777 said:

I have never said that.

 

Then something is not working with the forwarding or the public IP address that is specified in the config from the dedicated server is not correct.

Please check in the logs from the container if the public IP matches your real public IP, the container should be able to update the IP on it's own if you enable the option in the template for that.

 

Did he yet try to connect with your domain name like mentioned above, of course only if you've have assigned a domain name to your public IP.


the container is updating the IP correctly. shows fine in the log. also the ini gets the updated ip too. 

 

and we tried to restart my modem 3 times
and his also to get new public IPs and we tried  all the 3 and still getting the same results 

 

and also yes just tried my public domain and we got the same message. 

 

Link to comment
19 minutes ago, Thamer Alfuraiji said:

and also yes just tried my public domain and we got the same message. 

Sorry but I'm out of ideas, if the public IP is correct, you can connect internally and everything else is set up properly then it should work.

 

My last guess is that your ISP is might blocking UDP ports? I took a quick look at your forwards and none of them uses UDP or at least needs them.

I have seen this in the past with some ISPs that they block UDP request and some port ranges (for whatever reason).

 

I assume you are not behind a CG-NAT because otherwise your other port forwards would also not work.

Link to comment
7 hours ago, ich777 said:

Stop the container, open the logs and post the output here.

Thanks for that tip! Here are the logs

 

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Success! App '2394010' already up to date.
---Checking if configuration is in place---
---Configuration found, continuing...---
---Checking if PublicIP is in place---
---PublicIP in PalWorldSettings.ini found: 172.101.190.180
---Prepare Server---
---Server ready---
---Starting Backup daemon---
---Start Server---
---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---
tid(21) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/serverdata/Steam/logs/stderr.txt'
Logging directory: '/serverdata/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
---Update Server---
tid(43) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/serverdata/Steam/logs/stderr.txt'
Logging directory: '/serverdata/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Success! App '2394010' already up to date.
---Checking if configuration is in place---
---Configuration found, continuing...---
---Checking if PublicIP is in place---
---PublicIP in PalWorldSettings.ini found: 172.101.190.180
---Prepare Server---
---Server ready---
---Starting Backup daemon---
---Start Server---
---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---

 

Link to comment
5 minutes ago, Miykael13 said:

AMD Ryzen 5 5600X 6-Core @ 3700 MHz

Hmmm, have you changed anything in the config? If yes, what did you change? It did run correct?

Can you post screenshots from your Docker template?

 

Are you sure that your appdata share stays on the cache if you are using /mnt/cache/appdata/...?

Link to comment
18 minutes ago, ich777 said:

Hmmm, have you changed anything in the config? If yes, what did you change? It did run correct?

Can you post screenshots from your Docker template?

 

Are you sure that your appdata share stays on the cache if you are using /mnt/cache/appdata/...?

I do have my cache moving to my array. Still new to unraid so im guessing thats poor practice.

Palworld config is entirely default other than I enabled backups. image.thumb.png.46a43da09d928c96c1919a094b8e9393.png

 

image.thumb.png.df6f15216b4c795834ad629d5b51017a.png

Link to comment
9 minutes ago, Miykael13 said:

I do have my cache moving to my array. Still new to unraid so im guessing thats poor practice.

And exactly that is the issue here, you see in the above screenshot that /mnt/cache/appdata/... is specified but you moved that data to the Array, that can't work, please read that post:

 

Link to comment
24 minutes ago, ich777 said:

And exactly that is the issue here, you see in the above screenshot that /mnt/cache/appdata/... is specified but you moved that data to the Array, that can't work, please read that post:

 



Thanks for the help! So, leaving on the cache and not moving to array means that the data for the server is unprotected as far as parity goes, if my understanding is correct? 

Edited by Miykael13
Link to comment
7 minutes ago, Miykael13 said:

Thanks for the help! So, leaving on the cache and not moving to array means that the data for the server is unprotected as far as parity goes, if my understanding is correct? 

I don't know how you configured your server but I use a BTRFS Cache Pool that consists of two drives so to speak mirrored and that means it is protected.

 

If you only have one Cache drive then yes, it is unprotected but I would strongly recommend that you put in a second Cache driver so that it's not unprotected and leave the appdata share on the cache, with that you allow that the Array can go to sleep and save some energy.

 

EDIT: or what @Spectral Force wrote with CA Backup. ;)

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

Anything on cache is not covered by parity. if you search cimmunity apps for appdata backup you can schedule backs of said directory & save those to the array. This process does shutdoen & restart the containers.

 

1 minute ago, ich777 said:

I don't know how you configured your server but I use a BTRFS Cache Pool that consists of two drives so to speak mirrored and that means it is protected.

 

If you only have one Cache drive then yes, it is unprotected but I would strongly recommend that you put in a second Cache driver so that it's not unprotected and leave the appdata share on the cache, with that you allow that the Array can go to sleep and save some energy.

 

 

Thank you both for the guidance! Hope you guys have a good day!

  • Like 1
Link to comment

I got the server up and running last week with no issues and even edited files just fine. The question I have now is how to change from 60fps to 120fps server? I don't see the option anywhere. With steam I believe you need to add [/Script/OnlineSubsystemUtils.IpNetDriver] NetServerMaxTickRate=120 to the Engine.ini file however with it being a docker it seems to not follow the same and it doesn't work. Has anyone else attempted this and what changes did you make to get it working?

Link to comment
34 minutes ago, DocHodges said:

Has anyone else attempted this and what changes did you make to get it working?

I assume you are refering to Palworld?

 

I would recommend to ask that if possible on their official Discord since the developers will know that.

 

Maybe let us know here too.

Link to comment
15 hours ago, ich777 said:

Are you sure that IPv6 is set up correctly in your network?

It seems like your system can‘t communicate with DockerHub and that‘s the reason why it fails to download the container.

 

Are other containers working? I do nothing different than other maintainers and host the containers on DockerHub.

IPv6 is actually disabled on my network at the moment for simplicity of setting things up sake, but have been considering turning it back on as of late. Maybe the cause of the issue?

Odd as it's been like this since long before I had my unraid server setup, but PLEX and other dockers haven't given me much grief beyond me being dumb and not being good at setting them up, lol

Edited by Staves
Link to comment
31 minutes ago, ich777 said:

I assume you are refering to Palworld?

 

I would recommend to ask that if possible on their official Discord since the developers will know that.

 

Maybe let us know here too.

If I figure it out I will happily let you know and Yes Palworld. I know its possible as I have friends servers running the 120fps. The changes need to be made in the engine.ini file I know that. I will try some stuff and report back

  • Like 1
Link to comment

I was able to get it working. I found a thread discussing server optimizations and used it. Basically you just need to copy and paste the info below in the engine.ini file at the end after Paths=../../../Pal/Plugins/Wwise/Content

 

Code to Paste:

; Online Subsystem Utils Configuration
; Adjusting tick rates for LAN and Internet servers to enhance the frequency of game state updates, 
; leading to smoother gameplay and less desynchronization between server and clients.
[/script/onlinesubsystemutils.ipnetdriver]
LanServerMaxTickRate=120  ; Sets maximum ticks per second for LAN servers, higher rates result in smoother gameplay.
NetServerMaxTickRate=120  ; Sets maximum ticks per second for Internet servers, similarly ensuring smoother online gameplay.

; Player Configuration
; These settings are crucial for optimizing the network bandwidth allocation per player, 
; allowing for more data to be sent and received without bottlenecking.
[/script/engine.player]
ConfiguredInternetSpeed=104857600  ; Sets the assumed player internet speed in bytes per second. High value reduces chances of bandwidth throttling.
ConfiguredLanSpeed=104857600       ; Sets the LAN speed, ensuring LAN players can utilize maximum network capacity.

; Socket Subsystem Epic Configuration
; Tailoring the max client rate for both local and internet clients, this optimizes data transfer rates, 
; ensuring that the server can handle high volumes of data without causing lag.
[/script/socketsubsystemepic.epicnetdriver]
MaxClientRate=104857600          ; Maximum data transfer rate per client for all connections, set to a high value to prevent data capping.
MaxInternetClientRate=104857600  ; Specifically targets internet clients, allowing for high-volume data transfer without restrictions.

; Engine Configuration
; These settings manage how the game's frame rate is handled, which can impact how smoothly the game runs.
; Smoother frame rates can lead to a better synchronization between client and server.
[/script/engine.engine]
bSmoothFrameRate=true    ; Enables the game engine to smooth out frame rate fluctuations for a more consistent visual experience.
bUseFixedFrameRate=false ; Disables the use of a fixed frame rate, allowing the game to dynamically adjust frame rate for optimal performance.
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=30.000000),UpperBound=(Type=Exclusive,Value=120.000000)) ; Sets a target frame rate range for smoothing.
MinDesiredFrameRate=60.000000 ; Specifies a minimum acceptable frame rate, ensuring the game runs smoothly at least at this frame rate.
FixedFrameRate=120.000000     ; (Not active due to bUseFixedFrameRate set to false) Placeholder for a fixed frame rate if needed.
NetClientTicksPerSecond=120   ; Increases the update frequency for clients, enhancing responsiveness and reducing lag.

 

  • Like 1
Link to comment
48 minutes ago, Staves said:

IPv6 is actually disabled on my network at the moment for simplicity of setting things up sake, but have been considering turning it back on as of late. Maybe the cause of the issue?

Seems like Docker tries to resolve the IPv6 and that‘s maybe the cause of the issue.

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.