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

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

Zeitraffer bei Servern, die sofort bei Ankunft verarbeiten Event-driven processing of bursty inputs

Ursachen-ID pt-event-server · Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Auf einem Server, der Pakete sofort bei Ankunft verarbeitet und weitermeldet, werden die gebündelt eintreffenden Aktionen eines langsamen Spielers direkt hintereinander ausgeführt.

Warum Skill- und Bewegungsanfragen des langsamen Spielers kommen gebündelt an → Folge Server führt sie sofort der Reihe nach aus und meldet sie umgehend an alle → Auf dem Bildschirm Für andere setzt dieser Spieler mehrere Skills in einem Augenblick ein oder bewegt sich wie im Vorspulen

Symptome
Zeitraffer
Faktoren
Jitter
Wer ist betroffen
Nur ein bestimmter Charakter wirkt seltsam
Wann
Bei bestimmten Aktionen, Immer
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Server: Aktionen im Abstand ihrer Eingabezeitpunkte ausführen (Zeitpunkte nur innerhalb eines Toleranzbereichs anerkennen) oder gebündelte Aktionen nicht ablehnen und im Mindestabstand (globaler Cooldown) nacheinander ausführen, Cooldown nicht allein anhand der Ankunftszeit prüfen (sonst werden normale Eingaben verschluckt). Client: Aktionen mit Eingabezeitpunkt senden.
Im Graphen
Nur einzelne Ausreißer · Ausführungsabstand der Aktionen pro Spieler
Wo nachsehen
Im Server-Log pro Spieler Ankunftszeit, Ausführungszeit und (falls vorhanden) den vom Client mitgeschickten Eingabezeitpunkt jeder Aktion protokollieren und Ausführungs- mit Eingabeabständen vergleichen. Zusätzlich im serverseitigen Paketmitschnitt die Ankunftsabstände der Pakete dieses Spielers prüfen
Spricht dafür
Eingabeabstände normal, aber Ankunfts- und Ausführungsabstände auf dem Server auf wenige ms zusammengedrängt, und diese Momente decken sich mit den Zeitpunkten, zu denen andere Zeitraffer melden
Spricht dagegen
Schon die Eingabezeitpunkte liegen dicht beieinander: Client oder Makro. Ausführungsabstände auf dem Server gleichmäßig, gebündelt wirkt es nur auf fremden Bildschirmen: Leitung des Betrachters
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig

Quellen

  1. Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
    Der Server berechnet die Bewegung bei jedem empfangenen ServerMove und bestimmt das Zeitintervall aus der Zeitstempeldifferenz zur vorigen Bewegung. Weicht der Zeitstempel zu stark von der Serverzeit ab, wird die Bewegung verworfen
  2. Deterministic Lockstep Gaffer On Games
    Werden Eingaben sofort bei Ankunft angewandt, sind die Abstände trotz Senden mit 60 Hz ungleichmäßig und die Ergebnisse schwanken

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