Battlefield 4 - Sniper Shanghai

BF4

Gestern wurde ich von einem Zocker-Kumpel auf einen neuen Tipp für Battlefield 4 aufmerksam gemacht. Ein Battlefield 4 – Clientseitiger Netcode Fix klingt doch gut? Auch einige Spieler berichten bereits darüber und sind positiv überrascht von der Wirkung. Soviel vorweg – einen Fix des Netcodes kann es natürlich durch Spieler nicht geben. Es handelt sich lediglich um ein Tutorial um die Auswirkungen zu verringern und das Spielerlebnis wieder zu verbessern/optimieren.Und es scheint zu funktionieren. Zumindest bei mir hat es einen deutlichen Effekt auf den Spielspaß gehabt. Tutorial und mehr dazu hier im Artikel:

Der Netcode von Battlefield 4 scheint im Moment noch so als hätte man den Netcode von BF Bad Company 2(clientseitig) und Battlefield 3 (serverseitig) zusammengeführt. Das klingt erstmal ganz gut, sorgt aber immer noch für Probleme. Denn in Bad Company lief der Netcode clientseitig, bzw. die Berechnungen liefen bei jedem Spieler. Das führt zu Problemen und Frust, wenn man zum Beispiel einen Gegner aus der eigenen Perspektive trifft, ihn jedoch nicht erwischt weil der andere Spieler eigentlich woanders ist. Auch der serverseitige Netcode von Battlefield 3 hatte damals so seine Tücken, durch die serverseitigen Berechnung kam es zum Beispiel vor, dass man auch um Ecken erschossen werden konnte.

Battlefiel 4 hat die zwei Ansätze anscheinend kombiniert, denn Spieler beklagen sich in den offiziellen Foren über beide Arten von Problemen. Gerade auf Operation Locker ist der Frust groß, wenn man ständig um die Ecken erschossen wird. Außerdem sorgt der Netcode für Probleme mit den Flares beim Heli. Denn oftmals ist die Rakte des Fußgimps unter euch schon da, bevor ihr die Flares gezündet habt. Aber auch bei offensichtlichen Treffen, die aber keinen Hit-Marker erzeugen stellt das ein Problem dar. Wie oft habe ich schon mit einer MG direkt vor jemandem gestanden und direkt auf ihn gezielt und nicht eine Kugel trifft aufgrund des miesen Netcodes. Die Probleme tauchen aber nicht bei allen Spielern auf und das verwundert schon etwas

Nun können wir Spieler den Netcode natürlich schlecht fixen, das kann ich schon mal verraten. Das ist Aufgabe der Entwickler. Aber dem Problem kann man etwas entgegen wirken mit dem vorgestellten Tutorial. Nach stundenlangem Frust über den Netcode hat die Recherche, ob man noch irgendwas an seinem eigenen System umstellen kann damit das Netzwerk ein bisschen besser funktioniert und das Spielerlebnis dadurch verbessert wird zu dem folgenden Tutorial geführt. In diesem wird der Paket loss, also der Paket Verlust bei der Datenübertragung als ein möglicher Grund für die Netzwerkperformance aufgeführt.

–> Mögliche Lösung: Paketverlust minimieren <–

Durch die Anpassung des MTU -Wertes (Größe des Datenpakets) der eigenen Verbindung wird eine Netzwerk-Synchronität erfolgen und das Spielerlebnis intensiviert werden. Wie Paket loss vermieden werden kann, wird bei sevensforums (siehe Quelle) wunderbar auf englisch beschrieben.

Tutorial aus dem englischen (Schritt für Schritt):

Schritt 1:

  • Öffnet die Kommandozeile mithilfe von der „Windowstaste“ + „R“ und gebt dort „cmd“ ein und klickt auf OK
  • In dem Kommandozeile gebt ihr folgenden Befehl ein und drückt Enter:

netsh interface ipv4 show subinterfaces

  • Jetzt müsstet ihr eine Liste all eurer Netzwerkadapter sehen:
CMD Liste der Netzwerkadapter

CMD Liste der Netzwerkadapter

Links seht ihr den MTU-Wert und ganz rechts die Bezeichnung eurer Netzwerkkarte. Alle P-P-P Verbindungen (Point-to-Point Protocol) haben eine standard-mäßige MTU Größe (die ihr links in der Übersicht seht) von 1500 bytes. VPN-Verbindungen haben dagegen eine Größe von 1400 bytes, Davon sind jeweils 28 bytes für den IP/ICMP overhead reserviert. Effektiv also stehen dem MTU nur 1472 (1500-28 bytes) zu Verfügung.

Wiki: MTU beschreibt die maximale Paketgröße eines Protokolls, welche ohne Aufteilung in den Rahmen (engl. „Frames“) eines Netzes übertragen werden kann.

Hintergrund: Bei den ganzen unterschiedlichen Verbindungen und deren Geschwindigkeiten, kann es vorkommen, dass die eingestellte Paketgröße (MTU) die für eine Datenübertragung genutzt wird, aufgrund der Verbindung dazu führt dass die Übertragung nicht komplett ankommt. Dabei kommt es sozusagen zum Paketverlust (engl.  paket loss). Das kann in Spielen dazu führen, dass die eigenen Eingabesignale (Benutzereingabe) nicht korrekt und zeitnah übertragen werden, was wiederum zu unpräzisen Anzeigen und Frust führt.

Um herauszubekommen ob der eingestellte MTU-Wert zu hoch für die eigene Verbindung ist, kann man einen Ping mit diesem Wert ausführen, also einen beliebigen Server im Internet „ansprechen“. Am besten nehmt ihr zum Start den voreingestellten Wert und probiert es aus:

Schritt 2:

In einem neuen Eingabe-Fenster (siehe oben) den folgenden Befehl mit eurer individuellen MTU-Größe (siehe oben) eingeben:

ping google.com -f -l 1472

Das -f gibt an, dass das gesendete Paket nicht aufgeteilt wird für den Ping. -l stellt die Größe des MTU ein.

cmd2

cmd2

Nach dem Ping könnt ihr am Ende in den „Ping statistics“ ablesen ob ihr unter Paket loss leidet ( Lost = 1-4) oder ob eure Verbindung schon richtig eingestellt ist (Received =4). Wenn ihr 0% Loss habt, dann ist euer MTU-Wert schon perfekt eingestellt und ihr könnt an dieser Stelle aufhören zu lesen.

Falls ihr jedoch eine Fehlermeldung, bzw. einen Paketverlust habt (ähnlich dem Bild von oben), dann werden deine Pakete beim versenden aufgeteilt (engl. fragmented).

Um herauszubekommen welcher Wert für euch perfekt ist, wiederholt den Ping und verringert dabei den MTU-Wert. Am einfachsten geht das, wenn ihr auf der Tastatur einfach die Pfeiltaste nach oben drückt. Verringert den Wert am besten in 10er Schritten. Also um am Beispiel zu bleiben: Falls 1472 zu Fehlern führt, probiert es mit 1462.

 –> ABER: Geht mit eurem MTU-Wert nicht unter 1400 <–

Wenn ihr einen Wert gefunden habt, der erfolgreich war, erhöht den Wert dann in 1er Schritten wieder nach oben, solange bis wieder ein Fehler geworfen wird. Dann habt ihr den perfekten Wert gefunden.

Beispiel: Wenn 1462 wieder funktioniert hat, probiert es mit 1463 und so weiter.

Schritt 3: Wenn ihr einen Wert gefunden habt könnt ihr den für eure Verbindung eintragen. Dabei müsst ihr aber noch 28 bytes für den IP/ICMP overhead hinzuaddieren.Also wenn ihr 1463 als euren Wert identifiziert habt ist 1491 euer Wert to go.

Beispiel: 1463 + 28 = 1491

Eintragen könnt ihr den MTU mit folgendem Befehl in der geöffneten Kommandozeile:

netsh interface ipv4 set subinterface „Local Area Connection“ mtu=1490 store=persistent

(Ihr müsst natürlich den Namen eures Netzwerk-Adapters ändern, sonst bringt das nix. Den Namen erfahrt ihr über den Befehl in Schritt 1. Also wenn eure Netzwerk-Adapter“Local Area Connection 2″ heißt, tauscht den in oben genanntem Befehl einfach aus. Denkt daran euren MTU einzutragen.
Mit „Enter“ bestätigt ihr die Eingabe.

Jetzt noch ein Neustart und ihr habt es geschafft.

Schritt 4 (optional):

Wenn dein Router auch einen MTU-Wert hast, den du einstellen kannst (z.B: Netgear) könnt ihr den berechneten Wert auch dort eintragen. Die genaue stelle findet ihr über eure Beschreibung des Routers. Bei mir war es nicht möglich und es funktioniert auch ohne. Bei Netgear-Routern könnt ihr den MTU aber unter WAN-Settings einstellen.

Fazit:

Bei einem persönlichen Test des Tutorials kam bei mir heraus, das ich bei einem Ping an Google fast 100% paket loss hatte. Anhand des Tutorials habe ich dann meine Einstellungen des MTU solange verändert, bis keinerlei Paket loss mehr vorhanden war und ich viermal hintereinander ein erfolgreicher Ping durchgeführt werden konnte.

Seitdem spielt sich Battlefield 4 komplett anders. Man hat das Gefühl man ist wieder live im Spiel und stirbt auch nicht mehr so häufig um die Ecke. Optimiert wird durch das Tutorial auch der Ping, was natürlich auch einen Mehrwert darstellt. Natürlich ist der Netcode immer noch Mist. Ich kann aber nur jedem raten, das mal auszuprobieren. Natürlich wird jetzt nicht jeder 100% paket loss haben. Daher werden die Ergebnisse sicher variieren. Aber probiert es einfach aus. Vielleicht hilft es euch auch. Auch das Surfen geht jetzt nochmal etwas schneller. Ich bin auf eure Fazit gespannt.

Weiterer Tipp: Ich würde euch emfehlen die Netwerkglättung ingame bei euch mal auf 0 zu stellen. Dadurch kann es zwar zu Anzeigefehlern bei Levelution-Events und beim Knifing kommen, die Darstellung der Gegner und das eigene Spielgefühl wirkt auf mich jedoch schon wesentlich besser.

 

Quelle: Aus dem englischen von sevenforums

Share if you likeShare on Google+Share on FacebookTweet about this on TwitterShare on TumblrPin on PinterestEmail this to someone