Internet macht Probleme

Hallo,

ich habe schon länger Probleme mit meinem Internet von Kabel Deutschland.
Es ist nicht besonders schlimm aber ich würde einfach aus interesse halber gerne wissen woran das liegt.

Folgendes Problem:
Bei manchen, aber nicht allen, Computerspielen habe ich leichte bis stärkere laggs. Beispiele dafür sind Dead by Daylight, Counterstrike Source und CreepTd.

Am stärksten fällt mir dies bei CreepTd auf, deswegen werde ich die Problematik anhand diesen Spieles erklären:
CreepTd ist ein Multiplayer-Towerdefense Game.
Nach ca. 40 Runden kommt im Spiel die Meldung ich wäre Asynchron. Ein paar runden später bleibt das Spiel komplett hängen. Zuerst dachte ich es liegt nur an diesem Spiel, allerdings treten die laggs wie oben erwähnt auch in anderen Spielen auf.
Bei meinen ersten Nachforschungen habe ich mich aber nur auf das Spiel konzentiert und rausgefunden das dieses in Java geschrieben ist. Beim absturz konnte ich folgende Fehlermeldung extrahieren:
Code:
13:54:16,097  WARNING Uplink:165 - Lobby connection to  gs1.creeptd.com:4748 failed: Software caused connection abort: recv  failed
java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(Unknown Source)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.net.SocketInputStream.read(Unknown Source)
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
    at sun.nio.cs.StreamDecoder.read(Unknown Source)
    at java.io.InputStreamReader.read(Unknown Source)
    at java.io.BufferedReader.fill(Unknown Source)
    at java.io.BufferedReader.readLine(Unknown Source)
    at java.io.BufferedReader.readLine(Unknown Source)
    at com.creeptd.client.uplink.Connection.run(Connection.java:153)
    at java.lang.Thread.run(Unknown Source)
13:54:16,101  INFO Connection:178 - Connection(gs1.creeptd.com:4748) listener exited
Das klingt für mich so als hätte der Server die Verbindung geschlossen. Allerdings denke ich ist dies eher die reaktion auf die Asynchronität als der Grund dafür. Ich habe im nächsten Schritt meinen Ping bei verschiedenen Onlinediensten gemessen und per ping an Googles DNS-Server 8.8.8.8. Der ping liegt bei 20-40. Das müsste also soweit in Ordnung sein. Auch in-Game bei Spielen ist der Ping in diesem Bereich. Trotzdem gibt es laggs.

Jetzt könnte man darauf schließen dass es eher an der Systemleistung liegt. Hier wird es aber interesannt: Da ich mit meinem Computer zwischen 2 Wohnorten oft wechsle konnte ich dies gut testen. Über den Anbieter 1&1 laufen alle Spiele problemlos. Probleme gibt es nur unter Kabel Deutschland. Dies würde auch ausschließen dass im Hintergrund etwas läuft welches Bandbreite kostet. Durch die Fritzbox kann ich sehen das meine Internetverbindung in diesen lagg-Momenten kaum ausgelastet ist. Außerdem tritt das Problem auf meinem Desktop-Computer sowie meinem Laptop auf, aber bei beiden Geräten nicht unter 1&1.

Jetzt treten diese laggs aber nicht bei allen Spielen auf. Getestet habe ich noch L4D2 und GTA Online. Hier gibt es keinerlei Probleme. Meine Vermutung ist dass manche Spiele bestimmte Probleme in der Verbindung besser managen können und man diese dort nicht wirklich merkt. Es gehen auch laut ping.exe auf der Kommandozeile keine Pakete verloren.

Als nächstes habe ich gedacht dass vielleicht bei Kabel Deutschland die Netzwerkknoten ausgelastet sind. Aber das laggen ist unabhängig von der Tageszeit und Netzwerktests zeigen immer das noch genug potential vorhanden ist.



Eingesetzt wird eine Fritz!Box 3272. Mein Mainboard ist ein Gigabyte B150-HD3P-CF. Das müsste also als Lan-Schnittstelle den Intel® GbE LAN chip haben. Der Computer ist direkt per Netzwerkkabel an den Router angeschlossen. Der Funktionscheck der Fritzbox sagt es ist alles ok.
Das Problem tritt mit aktivierter sowohl mit deaktivierter Windows-Firewall auf. Aufgrund des obigen Javalogs habe ich den Port 4748 auf der Frizbox explizit testweise freigegeben was auch keine besserung brachte. Das Betriebsystem ist Windows 10.

Im Moment weiß ich nicht welchen Schritt ich als nächstes machen kann um das Problem zu finden. Eventuell könnte eine Analyse per Wireshark helfen. Ich habe versucht mich in Wireshark einzuarbeiten, finde aber nicht herraus wie ich am besten vorgehe um nur die Pakete eines bestimmten Spiels herrauszufiltern und wie ich eventuelle Probleme/Fehler erkenne.

Hat jemand eine Idee woran es liegen könnte, oder wie ich in Wireshark hier am besten vorgehe?

Edit: Jetzt liegt es natürlich nahe bei Kabel-Deutschland nachzufragen. Ich befürchte aber das ich dort eine Antwort wie "Es muss an Ihren PC liegen" bekomme. Das Problem scheint mir sehr spezifisch zu sein und ich würde gerne erst noch mehr darüber herrausfinden bevor ich bei Kabel Deutschland in der Telefonschleife hänge.
 
Zuletzt bearbeitet:
Hallo,

Es kommt auch drauf an wo die Server stehen auf die du dich verbinden willst und wie ausgelastet das Netz von KD ist.

Denn die Packete nach 8.8.8.8 werden anders rumgereicht als Packete zu i.E. Server(Protokol, Routing, Optimisierung für die Strecken, etc. )

Von daher glaube ich das dein Netzwerk ok ist.
Du müsstest mal einen Traceroute, oder besser das Equivalent von MTR laufen lassen und den Server des Spiels direkt addressieren, es kann nämlich auch sein das der Bottleneck auf dem Weg zum Server selbst liegt, was ich eher vermute.

Gruß

Fluffy
 
Hallo, danke für den Tipp.

Ich habe per Cygwin netstat -bn | grep -B 4748 (der Port) die IP des CreepTD-Servers herrausgefunden.

Auf diese IP habe ich WinMRT laufen lassen sowie Wireshark.
Wireshark direkt während ich eine partie gespielt habe. In dem Moment wo
CreepTD einfriert zeigt mir auch Wireshark TCP-Restansmissions und danach keine Pakete mehr. Ich habe die Daten etwas zensiert, es ist zwar relativ einfach an die IPs zu kommen aber sind für den fall ja nicht so relevant.

Anhang anzeigen 4168

Anhang anzeigen 4169

Ich hab WinMRT jetzt mal so lange laufen lassen wie es dauert bis das Spiel die Verbindung trennt.

Edit:
Wenn ich anstatt der IP die ich gefunden habe direkt den Server aus dem Java-Log nehme sieht das ganze so aus (Diesmal nur kurz laufen lassen):
Anhang anzeigen 4170
 
Zuletzt bearbeitet:
Retransmissions deuten immer darauf hin das der Roundtrip zu lange dauert.
Wiso auch immer.
Aber wenn Creep schon wegen einem einzigen Retransmit abbricht, dann ist das eher ein Softwareproblem und einen Bugreport wert.
UDP würde IMHO sowiso mehr Sinn machen, bei sowas(lasse mich zwecks lernen gerne eines besseren belehren).
Der Server ist auf jeden fall in DE.

Code:
>geoiplookup  -l 176.9.47.203 
GeoIP Country Edition: DE, Germany
GeoIP City Edition, Rev 1: DE, N/A, N/A, N/A, N/A, 51.299301, 9.491000, 0, 0
GeoIP ASNum Edition: AS24940 Hetzner Online GmbH

Hat also weder was mit deinem ISP noch was mit dem Standort des Servers noch was mit dem Routing zu tun, sondern mit der Software, IMHO.

Gruß

Fluffy
 
Hat also weder was mit deinem ISP noch was mit dem Standort des Servers noch was mit dem Routing zu tun, sondern mit der Software, IMHO.

Oder mit einem überlasteten oder falsch konfigurierten Hetzner-Server. Die Ursache kann auch darin liegen, dass zu viele Sockets im Status TIME_WAIT offen sind, dass das SYN-Backlog zu klein ist, dass somaxconn noch auf Default-Wert steht uvm.. Gerade bei Gameservern, die auf irgendwelchen (Hetzner/Strato/1&1/etc.)-Rootservern gehostet sind, habe ich sowas schon häufiger erlebt.
 
Zurück
Oben