Jump to content
  • Dedicated not closing connections, not disconnecting properly, ghost players


    HaruRose
    • Version: A21 b3317

    Summary: Dedicated not closing connections, windows+linux, ghost players

    Game Version: (A21 b317)

    OS/Version: Windows/Linux

    CPU Model: Ryzen 5 5500/INTEL XEON 2670v3

    System Memory: 16GB/64GB

    GPU Model and VRAM: RX 580 8GB/?

    Screen Resolution: 1920x1080

    Video Settings: Ultra

    Game mode: MP Dedicated Server 

     

    Did you wipe old saves? Yes

     

    Did you start a new game? Yes

     

    Did you validate your files? Yes

     

    Are you using any mods? Yes, reproducible without inventory mods as well.

     

    EAC on or off? Off

     

    Status: NEW

     

    Bug Description: Dedicated server is not closing connections after last player disconnects, pinging the user several times, character still being in the world in the eyes of the server and zombies going after the player, time still passing.
    https://pastebin.com/Cd7kPti5

    From line 2103 to 2163, time is still running, zombies are still chasing the player position, 1 player appears online in the server list. He cannot be kicked, killed, because he is not found, but can be ID'd with server commands. 

    2082 line is disconnect from last player
    line 2103->2163 is me trying to figure out how to kick the player(me)

    I managed to reproduce this first on a linux server, after falling through the map, random server freezes and again same issue with not closing connections properly resulting in a crash(reported bug from "long sessions"). Below image with line of code is after everyone disconnects from the server:
    seven@host-**-***-254-229:~$ lsof -p 2082883 | grep "protocol: TCP" |
    wc -l 989

     PdK4t33.png 
    This is from a 64GB RAM system running a dedicated server, it couldn't be possibly running out of RAM.. 


    Detailed steps to reproduce the bug:

    1) Run dedicated server

    2) Have people join, disconnect

    3) Players will still appear in the server list as connected, a yellow error will be spammed through the console.

     

    Actual result: 1 player online, "WRN NET: LiteNetLib: Ping requested for unknown client" in the server console, zombies chasing a disconnected invulnerable player, crashing which may lead to region corruption(linux only), falling through the map in long sessions(linux only), server hangs and long tick rates(linux only).

     

    Expected result: 0 players on the server, time stopped
     


    User Feedback

    Recommended Comments

    This doesn't help that this bug wasn't in A20.7, where the last player stays online to the server and time is still going. The common support FAQ misses the point where the dedicated doesn't close connections. It's about the "Ping requested for unknown client". The common FAQ doesn't have a solution for the newly introduced error with any of these:
    zombies chasing a disconnected invulnerable player, crashing which may lead to region corruption(linux only), falling through the map in long sessions(linux only), server hangs and long tick rates(linux only

    17 hours ago, Jugginator said:

    Hey @HaruRose, this should help you out 

     

     

    Link to comment
    Share on other sites

    You have an error that's directly fixed by the link I posted.

    16 minutes ago, HaruRose said:

    This doesn't help that this bug wasn't in A20.7, where the last player stays online to the server and time is still going. The common support FAQ misses the point where the dedicated doesn't close connections. It's about the "Ping requested for unknown client". The common FAQ doesn't have a solution for the newly introduced error with any of these:
    zombies chasing a disconnected invulnerable player, crashing which may lead to region corruption(linux only), falling through the map in long sessions(linux only), server hangs and long tick rates(linux only

     

     

    Do see if it helps, because many thousands of hours of testing was done on dedicated servers including linux and this hasn't been seen, so more troubleshooting and debugging (if needed) is needed. As it stands, this doesn't reproduce:

    1) Run dedicated server

    2) Have people join, disconnect

    3) Players will still appear in the server list as connected, a yellow error will be spammed through the console.

     

    Edited by Jugginator (see edit history)
    Link to comment
    Share on other sites

    Yes, your FAQ does fix the IOEXCEPTION: Too many files open.

    I'm reporting a different bug in this thread - it just so happens that the last one wasn't fixed and is occuring as well. Please mark it as such.
    The different bug I am reporting here is about ghost players, unclosed connections, zombies chasing disconnected players and "ping unknown client".

    This is not a fix for windows dedicated servers. The logs are from windows servers. The effects of this A21 bug where ghost players are online, time still passes when no one is online still happens. A fix for this isn't listed in the FAQ as it is not present in A20.7, but in A21.

    Link to comment
    Share on other sites

    I went back and tried to reproduce the issue. I wasn't able to. Made a new world, new character and the issue did not occur. The issue only still happens on my RWG map, so it's quite a rare bug. No idea why this happens.

    Link to comment
    Share on other sites

    I have the same problem on a 317 RWG map updated to 324. The key exception in the logs is:

    2023-06-29T20:08:43 1126.235 EXC Object reference not set to an instance of an object
      at QuestEventManager.QuestUnlockPOI (System.Int32 entityID, UnityEngine.Vector3 prefabPos) [0x0001e] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at Quest.HandleUnlockPOI (EntityPlayer player) [0x00038] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at QuestEventManager.HandlePlayerDisconnect (EntityPlayer player) [0x0001f] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at ConnectionManager.DisconnectClient (ClientInfo _cInfo, System.Boolean _bShutdown, System.Boolean _clientDisconnect) [0x0010e] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at ConnectionManager.Net_PlayerDisconnected (ClientInfo _cInfo) [0x00013] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at NetworkServerLiteNetLib.OnPlayerDisconnected (System.Int64 _peerConnectId) [0x00014] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at NetworkServerLiteNetLib+<>c__DisplayClass14_0.<StartServer>b__3 (System.Object _taskInfo) [0x00036] in <faea3a5b1cd24d60977fa28c6573de8f>:0
      at ThreadManager.UpdateMainThreadTasks () [0x0006c] in <faea3a5b1cd24d60977fa28c6573de8f>:0

     

    My hunch was the latest patch POI updates broke this call back. Maybe ID changes? Removing all existing quests will throw this exception again, but then the DisconnectClient method completes successfully on log out. I reset the trader's daily quests to be safe and was able to accept a new quest and log out without issue.

     

    Catch your exceptions in network resource code TFP!

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...