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
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
Ahhh damm it! Schon wieder 100%igen Paketverlust Dann probieren wir es mal mit 1450...
Wir geben folgendes ein: ping http://www.google.com -f -l 1450
Endlich haben wir eine laufende Größe gefunden! Mit 1450 Bytes haben wir also keine Verluste
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:
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
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
Hoffe ich konnte euch helfen! Hat mir Spaß gemacht den Thread zu schreiben
----------------
MfG,
T2I