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

Game-Lag-Whitepaper › Synchronisationsdesign

Zu strenge Servervalidierung Over-strict server validation

Ursachen-ID sy-strict-check · Hauptzuständig Server-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Prüft der Server Bewegungsgeschwindigkeit, Cooldowns und Reichweite zu streng, lehnt er auch normale Eingaben ab, die durch Jitter gebündelt ankommen.

Warum Strenge Kriterien wie „maximal zurücklegbare Strecke pro Tick“ oder „0 ms Toleranz beim Cooldown“ → Folge Kommen durch Jitter zwei Befehle im selben Tick an, wird das als Regelverstoß gewertet → Auf dem Bildschirm Rubberbanding, Skill wird trotz abgelaufenem Cooldown abgelehnt

Symptome
Rubberbanding, Verschluckte Aktion / Rollback
Faktoren
Jitter
Wer ist betroffen
Nur ich
Wann
Gelegentlich, zufällig, Beim Bewegen oder Zonenwechsel
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Prüfung nach dem Prinzip eines akkumulierten Kontingents (Token-Bucket), Spielraum in Höhe von Ping und Jitter einplanen.
Im Graphen
Vereinzelte Spitzen ohne Muster · Anzahl der Ablehnungen und Positionskorrekturen durch die Servervalidierung
Wo nachsehen
Im Server-Log bei jeder Ablehnung und Positionskorrektur den Grund, die Zahl der in diesem Tick eingetroffenen Befehle des Spielers und den Ankunftsabstand zum vorigen Befehl protokollieren
Spricht dafür
Ablehnungen und Korrekturen häufen sich in Momenten, in denen 2 oder mehr Befehle im selben Tick eintreffen, über einige Sekunden summiert liegen Bewegung und Nutzungsanzahl innerhalb der Regeln
Spricht dagegen
Auch über einige Sekunden summiert über den Regeln: echtes Speedhacking oder Cheats möglich. Ablehnungen häufen sich bei einem bestimmten Provider und abends: „Gehäufte False Positives der Validierung bei bestimmten Providern“
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig

Quellen

  1. Source SDK 2013: player.cpp Valve
    Ein pro Tick wachsendes Budget für die Befehlsverarbeitung (maximal 24 Ticks, sv_maxusrcmdprocessticks) lässt gebündelt eintreffende Befehle zu. Laut Entwicklerkommentar hatten auch normale Spieler Ruckeln, als strenger blockiert wurde
  2. RFC 2697: A Single Rate Three Color Marker IETF
    Token-Bucket: Bewertung anhand der mittleren Rate (CIR) und der auf einmal zulässigen Burst-Größe (CBS)

Verwandte Ursachen

Gleiche Schicht: Synchronisationsdesign

Ursachen aus anderen Schichten mit demselben Symptom (Rubberbanding)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen