-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug Report] Player detection loop #287
Comments
Hey @Jadiction - A restart of the image or the server fixes the issue right? Not sure on how to accurately test this though, normally it should not even timeout, its a local connection for rconcli to the system, because its inside the container too. Very weird, can you provide player-numbers, activity and Hardware-Infos please? |
I think it helps for a little, but I don't restart the server often.
I wouldn't think it would time out either, but it's somehow managing to do so, that's why I thought it may be a (new) Palworld issue. Perhaps the server has FPS stall times where it fails to reach the RCON connection in time.
I've seen it during player numbers being around 1-3. In my example above there was only 1. Currently 2 are online and the issue persists. Relevant hardware: |
@Jadiction - I have tried to implement a specific fix for this edge-case, can you please tryout the latest develop tag and tell me if that fixes it for you? |
Thanks for the update. With my testing, it looks like it runs into an error when loading: |
Hey @Jadiction - Yeah that was down to a mechanic i didnt catch, sorry. Looks like its only on Seems like that base problem is on rcon-cli side, see the list of issues related to the same problem:
Not sure if its getting fixed by outdead because the issue is rather old. I have now implemented an even more complex workaround, not happy with that, but i think i saved it kinda, by putting it behind the ENV-Var RCON_PLAYER_DEBUG=false/true see Env-Var-Docs. New develop tag is done cooking, feel free to test it with RCON_PLAYER_DEBUG set to true and false please and deliver detailed feedback on this please. |
Hi @jammsen With the latest develop version, I got a double join announcement. When this happens, the command output is empty. With the logs below, you can see it successfully sees me in the server and continues normally, then on the next iteration, it gets a blank command output and believes no players are on the server. It then announces the join (at a later time from initial join) |
Could you please mark what you in the full screenshot or so? Im confused on what you mean by this explaination and i did read it 3 times and still am not really sure what you mean, sorry. |
No it actually makes it more confusing, also i did already cover the I/O Timeout error here - #287 (comment) - Its a problem itself with rconcli on "broadcast", not really sure what i should be able to do, if the software simply doesnt do it cleanly.
No it shouldnt be able to do that, because of https://github.com/jammsen/docker-palworld-dedicated-server/blob/develop/includes/playerdetection.sh#L27-L43 - It checks if the exit-code is good and then checks if the CSV header line is in there and then reads new player data, if the command is weird it unsets current_players in Line 37, which might cause this behavior not sure how this could be reproduced though. WHICH would explain the behavior you are describing, i can just comment out Line 37 and you try again to "bug" it. But please understand that THAT behavior has nothing to do with
One is on gathering players and one is on sending infos about the announces. Announcing however doesnt fiddle around with the data in current_players. 1 Problem does cause announcing to much and 1 Problem is that the announce isnt exited cleanly and that is up to outdead to fix, not me. (Also the announce goes through but reports an non clean shutdown error or so, im not into go, no idea why that is!) Please keep thoose 2 things seperated. |
…to empty on no data and no error exit code, for testing
@Jadiction - Baking is done, its on the develop image, when are you available to join Discord so we can test this out together? |
The Timeout with rconcli seems to be a Palworld rconcli thing, also known already, See theese: Also here in the documentation of Palworld: |
I updated the container and so far haven't seen the issue. I have joined the Discord and I will keep you updated. Currently it seems removing |
This fix is now on :latest, if you find anything regarding things, feel free to write here or on Discord again, then we can reopen this issue. |
You understand that if you dont provide clear information on your "Problem", "Software and Hardware-Setup" and the "Steps to reproduce" your issue will be closed without any help, because your not willing to do your part?
You understand that im not a Game-Dev or Game-Server-Dev and my support is primary for the Docker-Image and somewhat limited to the Game-Server?
Current behavior
Since the new update, it seems the player detection will sometimes loop join/leave announcements.
After looking into the logs, it seems this happens when it fails to connect via RCON.
Log example:
Upon error
cli: execute: auth: rcon: rcon: read packet size: EOF
it announces the leave, then will "re-announce" the join.When it times out with the error
cli: execute: rcon: read tcp 127.0.0.1:38976->127.0.0.1:25575: i/o timeout
it will repeat the join announcement.A screenshot example of 1 user being in game:
Desired behavior
Account for RCON connection failures and avoid false or spam join/leave announcements.
Links to screenshots
No response
Steps to reproduce
Steps to reproduce the behavior:
Unsure if this is a specific issue on my end (although I don't see any changes, errors, or resource issues), or a new issue with the latest Palworld update.
Software setup
Hardware setup
N/A
Additional context
No response
The text was updated successfully, but these errors were encountered: