Server-Crash, nur bei einem bestimmten Spieler

A new update is now available, introducing a lot of new content!
Latest hotfix: 0.7.5.2 (2024-09-10)
  • Hallo Zusammen


    Seit Anfang September spielen wir auf einem bei GTXgaming angemieteten Server (kleinstes Paket, 12 User). Bis zum 1.10.24 gab es keine Probleme. Alle konnten alleine oder im Team spielen. Dann tauchte bei einem Spieler ein Problem auf. Nach dem Einloggen konnte er etwa 15 Minuten lang spielen, dann kommt ein Timeout. Er ist draußen und mit ihm alle Spieler, die auf dem Server waren.:(


    Siehe 2024-10-01-14-27-35.log, Zeile 507

    [STEAM] Validate auth ticket (76561199764473435) -> k_EAuthSessionResponseAuthTicketCanceled


    Etwa 10 Sekunden später stürzt der Server satt ab und versucht alle 3 Minuten erfolglos neu zu starten:


    Siehe 2024-10-01-14-27-51.log und die Folgenden

    [ERROR] [14:32:06] !!! UNCAUGHT EXCEPTION !!!

    UnityEngine.Debug:LogError(Object)

    RisingWorld.Server.Main:HandleError(Exception) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Server/Main.cs:903)

    RisingWorld.Common.JIWApplication:UncaughtException(Exception) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/JIWApplication.cs:943)

    RisingWorld.Common.JIWApplication:Update() (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/JIWApplication.cs:247)


    [ERROR] AddressInUseException: Port 4254 (UDP) is already in use!

    RisingWorld.Server.Main.CheckIfPortsAreOpen (System.Boolean throwException) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Server/Main.cs:273)

    RisingWorld.Server.Main.InitServerContext () (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Server/Main.cs:506)

    RisingWorld.Server.Main.OnPostInitialize () (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Server/Main.cs:175)

    RisingWorld.Common.GameTime.GetPassedMinutes (System.Int32 hours, System.Int32 minutes, System.Int32 day, System.Int32 month, System.Int32 year) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/GameTime.cs:209)

    RisingWorld.Common.JIWApplication.Update () (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/JIWApplication.cs:187)

    UnityEngine.Debug:LogException(Exception)

    ExceptionExtensions:PrintStackTrace(Exception) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/Utility/Extensions/ExceptionExtensions.cs:10)

    RisingWorld.Server.Main:HandleError(Exception) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Server/Main.cs:904)

    RisingWorld.Common.JIWApplication:UncaughtException(Exception) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/JIWApplication.cs:943)

    RisingWorld.Common.JIWApplication:Update() (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/JIWApplication.cs:247)


    [WARNING] [14:32:06] Exit (1)


    Dies geschieht nur, wenn sich ein ganz bestimmter Spieler einloggt. Bei allen anderen gibt es keine Probleme. Auch vor dem ersten Auftauchen des Fehlers konnte dieser Spieler problemlos spielen.

    Sein STEAM-Client ist aktuell und seine Rising World Installation neu aufgesetzt und überprüft. Im Einzelspieler-Modus, auf seinem Rechner, funktioniert alles.


    Ich habe Bedenken, ihn zu bitten, sich probehalber auf einem anderen Server einzuloggen. Aber vielleicht gibt es einen Test-Server für solche Zwecke? :thinking:


    LG

    Hans


    Die Server-Log-Files habe ich gezippt und angehängt.

  • Vielen Dank für die Logs! Die Ausgabe k_EAuthSessionResponseAuthTicketCanceled erscheint dann, wenn die Verbindung unerwartet getrennt wird. Das kommt vom Steam Server und ist bei einem Timeout erstmal normal - unnormal ist allerdings, dass der Server selbst (zB ENet) den Timeout nicht mitbekommt :huh:


    Schwer zu sagen, was das verursachen kann... es sieht fast so aus, als würde irgendein Thread hängen... ein Bug ist nicht auszuschließen, dürfte aber dann normalerweise auch den Singleplayer betreffen. Daher fällt mein Verdacht da eher in Richtung Plugin API bzw. Plugin :thinking:

    Du sagst, dass es vor Oktober nicht auftrat? Habt ihr das Portals Plugin vor Oktober auch schon verwendet? Tritt dasselbe Problem denn auch auf, wenn das Plugin entfernt wird (falls das möglich ist und falls das Problem dann auch auftritt, kannst du dann davon nochmal einen Log senden)?


    Etwa 10 Sekunden später stürzt der Server satt ab und versucht alle 3 Minuten erfolglos neu zu starten:

    Ein Port wird leider nicht freigegeben... der wird von Steam verwendet, wenn aber der Server crasht oder sich Steam irgendwie verhaspelt, dann kann das mehrere Minuten dauern, bis der Port wieder offen ist.

    Mit dem nächsten Update werden wir eine Änderung einbauen, womit dieser eine Port ignoriert wird (denn ggf. kann der Server auch wieder gestartet werden, wenn der Port vermeintlich noch blockiert wird).


    Wenn das zu häufig passiert, kannst du den Port-Check durch den Server auch ausschalten indem du in der server.properties "Server_EnablePortCheck" auf False änderst. Kann aber sein, dass es damit noch schlimmer wird (da der Server dann nicht mehr abwartet, falls ein Port belegt ist)... in dem Fall würde ich das dann lieber wieder auf True ändern ^^


    Ich habe Bedenken, ihn zu bitten, sich probehalber auf einem anderen Server einzuloggen. Aber vielleicht gibt es einen Test-Server für solche Zwecke? :thinking:

    Ja es gibt einen Test-Server: Das wäre der Rising World Test Server - No Rules mit der IP 94.130.179.127

    Wenn das Problem wirklich so häufig bei dem User auftritt, wäre es tatsächlich hilfreich zu wissen, ob das Problem dort auch besteht :)

  • Vielen Dank für die Logs! Die Ausgabe k_EAuthSessionResponseAuthTicketCanceled erscheint dann, wenn die Verbindung unerwartet getrennt wird. Das kommt vom Steam Server und ist bei einem Timeout erstmal normal - unnormal ist allerdings, dass der Server selbst (zB ENet) den Timeout nicht mitbekommt :huh:


    Schwer zu sagen, was das verursachen kann... es sieht fast so aus, als würde irgendein Thread hängen... ein Bug ist nicht auszuschließen, dürfte aber dann normalerweise auch den Singleplayer betreffen. Daher fällt mein Verdacht da eher in Richtung Plugin API bzw. Plugin :thinking:

    Du sagst, dass es vor Oktober nicht auftrat? Habt ihr das Portals Plugin vor Oktober auch schon verwendet? Tritt dasselbe Problem denn auch auf, wenn das Plugin entfernt wird (falls das möglich ist und falls das Problem dann auch auftritt, kannst du dann davon nochmal einen Log senden)?

    Vielen Dank für die schnelle Antwort. Das Portal-Plugin habe ich am 22.09.24 installiert. Der erste Absturz ist erst eine Woche später passiert. Es ist kein Problem für uns, das Plugin für einen Test zu deinstallieren. Mit etwas Glück können wir den Test heute noch durchführen. Der betroffene User ist ab morgen für 10 Tage auf Reisen.


    Ja es gibt einen Test-Server: Das wäre der Rising World Test Server - No Rules mit der IP 94.130.179.127

    Wenn das Problem wirklich so häufig bei dem User auftritt, wäre es tatsächlich hilfreich zu wissen, ob das Problem dort auch besteht :)

    Seit dem ersten Auftauchen des Problems, ist er ohne Ausnahme, nach jedem Einloggen auf unserem Server, nach kurzer Zeit wieder hinausgeflogen. Der Fehler scheint also reproduzierbar zu sein. :) Wenn möglich werden wir den Test-Server noch heute heimsuchen, ansonsten erst in 10 Tagen.


    LG

    Hans

  • Wir konnten den Test ohne Portal-Plug-in heute durchführen. Allem Anschein nach war das Plug-in für die Abstürze verantwortlich. Sollte weiteres Interesse bestehen, auf dem Test-Server nach den genauen Ursachen zu forschen, können wir das gerne ab dem 15. Okt. in Angriff nehmen. Den Ordner mit dem Plug-in und den zugehörenden DBs habe ich gezippt und angehängt. Da wir das Plug-in nicht wirklich benötigen, spielen wir ohne weiter.


    LG

    Hans

  • Danke für die Rückmeldung sowie die Plugin-Daten! Ich vermute in dem Fall, dass im Plugin zB irgendwo ggf. eine Endlosschleife o.ä ist, oder es zumindest sowas auslöst :thinking: Leider bleibt dadurch der entsprechende Thread des Spiels zwangsläufig hängen... da das Spiel mehrere Threads verwendet, läuft vieles meist noch weiter, aber ein Teil der Dinge (wofür der hängende Thread verantwortlich war) kann nicht mehr abgearbeitet werden.

    Natürlich ist nicht auszuschließen, dass es auch ein Bug im Spiel ist, der durch das Plugin getriggert wird... ich werde mir das einmal genauer anschauen und versuchen, das Problem irgendwie zu reproduzieren.


    Wir werden mit dem nächsten Update auch ein Monitoring dafür einbauen, was sowas hoffentlich detektieren sollte... aber falls ihr sonst nochmal dieses Problem haben solltet, sag bitte Bescheid :)

  • Beim Plugin-Teleport mal die Datenbank zurücksetzen oder Löschen, warscheinlich gibt es für den Spieler einen Fehlerhaften eintrag.
    Ich kenn mich mit der BD nicht aus, aber es könnte da drinne sein.
    Kann es sein das der Spieler eine Stand Alown Version hat?

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!