TCP IDLE TIMEOUT

vor 4 Monaten

Hey,

 

ich habe seit neuem Probleme mit der Verbindung in PUBG. Vielleicht kennt jemand den Fehler. Ich bin nach dem Match gefangen in dem grauen Smokescreen (den Bug gibts schon ewig). Ich bin seit über 2 Wochen im Austausch mit den Entwicklern.  Leider hat jeder Lösungsansatz nicht zum Ziel geführt. Von einfachen Sachen wie Treibern, bis zu CMD Sachen... Dann habe ich das Spiel auf 2 weiteren Geräten in meinem Netzwerk getestet. Der Bug tritt auch da auf. Nach sehr langer Suche auf Google, Reddit, Steam etc hab ich nun den Fehler gefunden. Scheinbar liegt es an dem Folgendem.

 

[PUBG BATTLEGROUNDS]

Finally, after a 3 month research I found the root cause for smoke screen loading issue when Exit to lobby is clicked after a match. Here are the details: -

  • Tslgame.exe establishes/handshake a TCP connection to akamai endpoint(e9466.d.akamaiedge.net) in the beginning.

  • When user plays the game, this connection is IDLE until match ends, and when user clicks on Exit to Lobby/Leave Match then again Tslgame.exe tries to connect to same endpoint with tcp payload of 355 bytes.

  • But many ISPs has TCP IDLE TIMEOUT set to 4 mins on their router/firewall. Hence the ISP router/firewall deletes/kills the IDLE connection if there is no conversation between client and server. (as each match is being played more than 4 mins, and Tslgame.exe doesn't send any packets within the match time hence ISP firewall kills the connection after 4 mins of idle time)

  • When the match is ended, and you click on exit to lobby the client tries to reconnect to the endpoint multiple times with the 1st handshake and fails as there is no connection to the server at this point due to ISP idle timeout, (this is where you see the black smoke screen) and in the end (after 3 retires) establishes a new connection/handshake (SYN/ACK).

  • Hence if a user plays a match for more than 4 mins, they see this issue after match ends.

  • SOLUTION #1 - Raise a ticket with your ISP to increase the TCP IDLE TIMEOUT to at least 1 hr (section 5 of RFC 5382, https://www.rfc-editor.org/rfc/rfc5382#section-5 it should be set to 2 hours 4 minutes/7204 seconds).

  • SOLUTION #2 - To resolve the issue, the application (Tslgame.exe) needs to send some occasional byte of data/empty packets to e9466.d.akamaiedge.net every now and then to be disregarded by the peer. [FIX NEEDS TO BE DONE BY PUBG DEV TEAM]

  • I have used wireshark to capture and research all the packets.

How will you test your ISP idle timeout value: -

  • Download and install postman(https://www.postman.com/downloads/)

  • File > New > WebSocket

  • Enter URL - wss://echo.websocket.in

  • Message Section, enter "Hello World"

  • Click on "Connect"

  • And after 4 mins click on "Send" button and see if you get response from server.(Next time click on send after an incremental value(5 min, 6 min, 7 min etc..) if you get a response)

  • If your ISP has the 4 mins timeout set, your connection will disconnect.

 

Quelle: https://www.reddit.com/user/anitbehera_/comments/1eih6bd/finally_ive_found_the_root_cause_for_smoke_screen/

 

 

 

 

Nun meine Frage könnte die Telekom das bei mir hochstellen? Wenn mehr Infos benötigt werden, werde ich euch die natürlich zur Verfügung stellen! Und noch eine Info, sobald ich einen VPN von Nordvpn über zb Berlin nehme lädt es ohne Probleme! Vielleicht gibs ein Problem mit der Route die meine Daten nehmen?

 

DAAAAANKE

503

19

  • Community Guide

    vor 4 Monaten

    @pscl-  schrieb:

     

    Nun meine Frage könnte die Telekom das bei mir hochstellen?

    Nein, kann sie nicht.

    0

  • 5 Sterne Mitgestalter

    vor 4 Monaten

    @pscl- 

     

    Die Telekom konfiguriert so keine angeschlossenen Router. Das müsstest du selbst tun, wenn der Router eine solche Einstellung überhaupt anbietet.

     

    Ich denke, das ist auch gar nicht das wirkliche Problem bei deinem Spiel. Und wenn doch, dann muss der Spiele-Anbieter eine Lösung von seiner Seite finden, z. B. ein Keep-Alive auf die benannte Seite.

    3

    Antwort

    von

    vor 4 Monaten

    @pscl-  schrieb:
    Wie erklärst du dir dann das es mit einem VPN funktioniert?

    Du kennst die Funktionsweise von VPN ?

  • 5 Sterne Mitgestalter

    vor 4 Monaten

    Welche? AVM trennt nach 15 Minuten:

     

    https://avm.de/service/wissensdatenbank/dok/FRITZ-Box-7590/907_Anwendung-z-B-SSH-verliert-gelegentlich-die-Verbindung-zu-Gegenstellen-im-Internet/

     

    Frag doch mal den "Entwickler" warum sie die Verbindung nicht per Keepalive offen halten, insbesondere wenn das Problem mit "many ISPs" auftritt.

    1

    Antwort

    von

    vor 4 Monaten

    Speedport 3 und 4 und Fritzbox 7590. Was mich halt wundert die ganze Zeit hats funktioniert und von einem auf den anderen Tag nicht mehr.

  • Community Guide

    vor 4 Monaten

    @pscl-  schrieb:
    Nun meine Frage könnte die Telekom das bei mir hochstellen?

    Wegen eines spekulativen Threads bei Reddit? Aber klar, gerne doch!

     

    @pscl-  schrieb:
    [FIX NEEDS TO BE DONE BY PUBG DEV TEAM]

    Eben.

     

    Schönen Abend

    Thomas

    0

  • 5 Sterne Mitgestalter

    vor 4 Monaten

    @pscl-  schrieb:

    SOLUTION #2 - To resolve the issue, the application (Tslgame.exe) needs to send some occasional byte of data/empty packets to e9466.d.akamaiedge.net every now and then to be disregarded by the peer. [FIX NEEDS TO BE DONE BY PUBG DEV TEAM]

    @pscl-  schrieb:
    Ich bin seit über 2 Wochen im Austausch mit den Entwicklern.  Leider hat jeder Lösungsansatz nicht zum Ziel geführt.

    Und ein da benanntes Keep-Alive war nicht im Lösungs-Portfolio des Spiele-Anbieters? Wäre echt schwach. Aber man sucht ja den Fehler nicht bei sich selbst. 🤢

    6

    Antwort

    von

    vor 4 Monaten

    Richtig, aber man nutzt sie dann, wenn man sie braucht. Und hält da nichts lange auf.

     

    Aber der fehlende Keep-Alive ist das Hauptproblem der Implementierung.

  • Community Guide

    vor 4 Monaten

     

    Von Kunde zu Kunde:


    Hm, ob sich wikrlich jemand diesen enormen Wall of Text durchliest? Ich hab nach 2 Zeilen aufgehört.

    0

  • 5 Sterne Mitgestalter

    vor 4 Monaten


    @pscl-  schrieb: Ich bin seit über 2 Wochen im Austausch mit den Entwicklern.  Leider hat jeder Lösungsansatz nicht zum Ziel geführt.  

    Und ein zyklisches Ping auf den Spielserver hat nicht geholfen? Siehe Beispiel im Kasten.

    echo off
    :START0
    ping  -n 4 192.168.2.1  > nul
    timeout /T 180 > nul
    goto START0


    Obigen Code speichern als Datei mit der Endung .bat, also z.B. als alive.bat. Vorher die IP 192.168.2.1 durch die IP des Servers ersetzen, zu dem die Verbinung gehalten werden soll. Die Wartezeit im timeout Befehl beträgt hier 180 Sekunden. Diese ggf. ebenfalls anpassen aber nicht zu kurz wählen. 

    1

    Antwort

    von

    vor 4 Monaten

    @pscl-

     

    Vielen Dank für deinen Beitrag in unserer Community 🙏🏽

     

    Du hast hier ja bereits mehrere Antworten auf deine letzte Nachricht erhalten 🙂 Gehe gerne auf diese ein. Wir können bei diesem Peering -Problem leider nicht unterstützen, da es auch immer darauf ankommt, wie der Spieleanbieter die Daten an uns zurückgibt 🙏🏽 Darauf haben wir leider keinen Einfluss.

     

    Viele Grüße

    Timur

  • Community Guide

    vor 4 Monaten

    @mboettcher 

    wenn es sich um das Problem handelt wie es beschrieben wurde, kann das mit dem Ping nicht helfen.

    Das braucht er dann gar nicht versuchen.

     

    Jeder Router verwaltet eine Statetable aus Source-IP/Port  und Destination-IP/Port

    dieser Eintrag wird für eine konfigurierte Zeit nach dem letzten Traffic beibehalten und dann gelöscht.

    Nur solange er Eintrag existiert leitet der Router Pakete durch die Firewall weiter.

    Jedes Paket das diese Verbindung passiert, zieht die Uhr für diese wieder auf.

     

    Durch deinen Ping würde nur ein WEITERER Eintrag in der Statetable erzeugt - dieser hat eine eigene TTL, da mindestens die Ports unterschiedlich sind,

    verhindert aber in keiner weise, dass der Eintrag um den es geht nach ende der TTL gelöscht wird.

     

    0

Das könnte Ihnen auch weiterhelfen

vor 2 Jahren

1 Sterne Mitglied

in  

973

0

2

1 Sterne Mitglied

in  

870

0

3

3 Sterne Mitglied

in  

25751

0

128

vor 3 Jahren

1 Sterne Mitglied

in  

214

0

2

Gelöst

1 Sterne Mitglied

in  

208

0

1