[Tutorial] Preventing Packetloss - Hilft bei Konsolen und evntl. Windows

  • Guten Abend RetroTown!

    Wer aktiver Zocker ist und permanent noch hinter Ecken gekillt wird ist hier genau richtig!

    Introduction zu diesem Problem

    Wer oft zockt, hinter den Ecken erschossen wird und sich fragt "Wie hat der Vogel denn das gemacht?" schiebt oft die Schuld auf die Gaming Server, seiner Internetverbindung oder dem Netcode. Doch in Wahrheit sind die Gründe für dieses Problem meist Paketverluste! Die meisten Spiele wie Call of Duty, Grand Theft Auto Online und Arma 3 nutzen UDP (User Datagram Protocol) um die aktuelle Position jeden Spielers 1:1 anzuzeigen, aber auch die Bullet-Hits ohne große Verzögerung (Delay) zu berechnen. UDP ist ein Verbindungsloses Protokoll welches keine Verlässlichkeit (Reliability) verspricht, damit meint man es verspricht niemandem dass die Pakete auch wirklich das Ziel erreichen. TCP verspricht Reliability, ist aber viiieeel zu langsam und hat dazu Features die nicht gerade Vorteile bringen. Man könnte natürlich nun ein eigenes Protokoll schreiben On-Top of UDP (Wie z.b. TCP) damit die Verlässlichkeit garantiert wird - Das kostet aber viel Zeit und würde auch, falls die Server Architektur nicht stimmt, Verzögerungen nach sich ziehen. Sieht aus wie eine Sackgasse... Trügt aber nur!

    Small vs Big Packets

    Ob kleine oder große Pakete, es spielt keine Rolle solange die Größe an deinem Netzwerk angepasst ist. Während andere mit DSL max. 1500 bytes Pakete versenden können ohne Verlust, verlieren andere ihre bereits bei 1473 bytes Pakete unterwegs. Ich weiß jetzt nicht genau ob das von Haus zu Haus variiert.

    Die Solution

    Nun haben wir einen kleinen Einblick in das "System" dahinter gehabt, lasst und das Problem anpacken und es halb so schlimm machen.

    Was wir brauchen:

    • Windows Eingabeaufforderung (cmd.exe) mit Administratoren Recht

    1. Öffnet die Windows Eingabeaufforderung (cmd.exe) als Administrator (Damit habt ihr automatisch die Rechte)

    2. Findet heraus ob ihr mit 1500 Bytes an Paketverlust leidet! Dafür gibt ihr folgendes ein: ping http://www.google.com -f -l 1500

    53h6NQB.png

    100% Verlust :o Wie es scheint haben wir mit 1500 Bytes 100%igen Paketverlust! Lasst uns doch mal 1473 testen:/

    Dieses mal geben wir folgendes ein: ping http://www.google.com -f -l 1473

    gwYeSXb.png

    Ahhh damm it! Schon wieder 100%igen Paketverlust :P Dann probieren wir es mal mit 1450...

    Wir geben folgendes ein: ping http://www.google.com -f -l 1450

    G94KNyz.png

    Endlich haben wir eine laufende Größe gefunden! Mit 1450 Bytes haben wir also keine Verluste :D

    Ich subtrahiere 50 Bytes, also möchte ich nun den MTU-Wert auf 1400 Bytes setzen! Wie ich das anstelle zeuge ich euch natürlich :)

    Leeren wir unsere Konsole per "cls" und geben nun folgendes ein: netsh interface ipv4 show interfaces

    Ihr solltet nun sowas erhalten:

    ar4f4tq.png

    Ich nutze die LAN-Verbindung, also Idx 9 :) Wir sehen der MTU-Wert ist auf 1500 Bytes. Soviel ich weiß optimiert Windows sowas meist, wer aber trotzdem Probleme hat und eventuell sogar auf der Ps4 oder XBox dem hilft der Thread hier sicherlich!

    Ich setze das ganze auf meinen optimalen Wert ein!

    Damit ich meine 1400 Bytes als MTU festlegen kann, muss ich folgenden Befehl ausführen: netsh interface ipv4 set subinterface 9 mtu = 1400 store=persistent

    aZ8rRaU.png

    Tatsächlich es wurde übernommen! :) Ein PC-Neustart ist nicht nötig... Da ich nun weiß dass 1400 bytes optimal sind übernehme ich das ganze auch auf meine Ps4

    und Ps3! :) Persönlich spüre ich wirklich ein verbessertes Internet Erlebnis und auf der Ps4 laufen die meisten Online Spiele finally besser :P

    Hoffe ich konnte euch helfen! Hat mir Spaß gemacht den Thread zu schreiben :D


    ----------------

    MfG,

    T2I

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!