한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game-Lag-Whitepaper › Probleme, die nur einige betreffen

Laggender Spieler bewegt sich auf fremden Bildschirmen schubweise Laggy player seen by others (bursty inputs)

Ursachen-ID pt-slow-burst · Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Extern (Extern)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Die Eingaben eines Spielers mit schlechter Leitung kommen unregelmäßig und gebündelt beim Server an. Wendet der Server pro Tick alles an, was gerade eingetroffen ist, sehen andere diesen Charakter stocken und dann mehrere Schritte auf einmal machen.

Warum Pro Tick kommen mal 0, mal 2–3 Bewegungsbefehle des langsamen Spielers an → Folge Server wendet sie gesammelt im Ankunfts-Tick an, die Position des Charakters ändert sich treppenförmig → Auf dem Bildschirm Auf anderen Bildschirmen stockt nur dieser Charakter und bewegt sich dann im Zeitraffer. Alles andere läuft normal

Symptome
Zeitraffer, Teleportieren
Faktoren
Jitter, Paketverlust
Wer ist betroffen
Nur ein bestimmter Charakter wirkt seltsam, Bestimmte Region oder Provider
Wann
Immer, Beim Bewegen oder Zonenwechsel
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Extern (Extern)
Aufgaben Entwicklungsteam
Befehle über einen Eingabepuffer pro Spieler gleichmäßig verteilt anwenden, anhand der Sequenznummern der Eingaben im ursprünglichen Abstand anwenden. Nur den Interpolationspuffer auf den anderen Bildschirmen zu verlängern, reicht nicht (der Positionsverlauf auf dem Server ist selbst schon treppenförmig).
Aufgaben Extern
Hinweis an langsame Spieler: LAN-Kabel verwenden, WLAN und Router prüfen.
Größenordnungen
Bei 80 ms Jitter schwankt die Zahl der Befehle pro Tick auf einem 20-Tick-Server (50 ms) zwischen 0 und 3.
Im Graphen
Nur einzelne Ausreißer · Angewandte Befehle pro Tick und Spieler, Jitter pro Spieler
Wo nachsehen
Im serverseitigen Paketmitschnitt nur die Pakete des gemeldeten Spielers filtern, pro Tick-Intervall (z. B. 50 ms) die Zahl der eingetroffenen Pakete zählen und mit anderen Spielern vergleichen. Gibt es ein Server-Log, pro Spieler und Tick die Zahl der angewandten Bewegungsbefehle und die Sequenznummern der Eingaben prüfen
Spricht dafür
Nur die Pakete des gemeldeten Spielers kommen gebündelt an, pro Tick wechselnd 0 und 2–3, Jitter und Paketverlust dieses Spielers sind hoch, die Pakete anderer Spieler kommen gleichmäßig. Wechselt der Spieler auf LAN-Kabel, wird es weniger
Spricht dagegen
Mehrere Charaktere bewegen sich gleichzeitig im Zeitraffer: Tick-Verzögerung auf dem Server oder Leitung des Betrachters. Ankunft und Anwendung gleichmäßig, aber nur dieser Charakter springt: Interpolations- oder Darstellungsproblem beim Betrachter
Prüfmittel
Mit Infrastruktur-Tools prüfbar (ohne Spielcode)
Mehr dazu
In einer Architektur mit autoritativem Server ist das normales Verhalten. Der Lag eines einzelnen langsamen Spielers zeigt sich für andere nur als „seltsame Bewegung dieses Spielers“ und wirkt sich weder auf die Steuerung anderer noch auf Monsterbewegungen aus. Alles, was direkt mit diesem Spieler zu tun hat (Handel, Gruppenmechaniken, PvP-Trefferabfrage), verzögert sich allerdings mit.

Quellen

  1. Peeking into VALORANT's Netcode Riot Games
    Der Server legt eingetroffene Eingaben in Tick-Reihenfolge in eine Bewegungs-Queue pro Spieler und füllt Lücken mit Vorhersagen. Korrekturen sieht nur dieser Spieler, alle anderen sehen eine flüssige Bewegung
  2. State Synchronization Gaffer On Games
    Auch 60-mal pro Sekunde gesendete Pakete kommen gebündelt an, etwa 2 in einem Frame und 0 im nächsten
  3. Source SDK 2013: player.cpp Valve
    Gebündelt eingetroffene Befehle werden verteilt auf die Server-Ticks verarbeitet (meter out)

Verwandte Ursachen

Gleiche Schicht: Probleme, die nur einige betreffen

Ursachen aus anderen Schichten mit demselben Symptom (Zeitraffer)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen