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

Game-Lag-Whitepaper › Synchronisationsdesign

Client-Autorität Client-authoritative results

Ursachen-ID sy-client-auth · Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Entscheidet jeder Client selbst über seine Ergebnisse, läuft es auf dem eigenen Bildschirm flüssig. Die Ergebnisse weichen aber von denen auf anderen Bildschirmen ab, und das System ist anfällig für Cheats.

Warum Position und Treffer legt der Client fest, der Server leitet nur weiter → Folge Zwei Spieler behaupten beide, zuerst getroffen zu haben, der Server kann es nicht prüfen → Auf dem Bildschirm Gegner teleportiert oder läuft durch Wände, „Ich habe getroffen, aber es zählt nicht“

Symptome
Teleportieren, Verschluckte Aktion / Rollback
Faktoren
Latenz
Wer ist betroffen
Ganzer Server
Wann
Immer
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Server: wichtige Ergebnisse (Treffer usw.) selbst prüfen, Bewegung auf Geschwindigkeit und Distanz prüfen. Client: vom Server abgelehnte oder korrigierte Ergebnisse auf den Serverwert zurücksetzen.
Im Graphen
Von Anfang an dauerhaft hoch · Anzahl unmöglicher Bewegungsgeschwindigkeiten und widersprüchlicher Treffermeldungen
Wo nachsehen
Auf dem Server die vom Client gemeldeten Positionen und Treffer unverändert aufzeichnen, aus aufeinanderfolgenden Positionsmeldungen die Bewegungsgeschwindigkeit berechnen und Meldungen über der Höchstgeschwindigkeit sowie Fälle zählen, in denen zwei Spieler beide melden, zuerst getroffen zu haben
Spricht dafür
Server leitet Meldungen ungeprüft an andere Clients weiter, und unmögliche Geschwindigkeiten oder widersprüchliche Treffermeldungen treten unabhängig von Patch und Region stetig auf
Spricht dagegen
Berechnet oder prüft der Server die Ergebnisse selbst, ist es nicht diese Ursache. Teleportieren hat dann eher mit Paketverlust oder dem Interpolationspuffer zu tun
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig

Quellen

  1. Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization (Yahn W. Bernier, GDC 2001) Valve
    Lässt man den Client Ergebnisse melden, geht das nur, wenn man dem Client vertrauen kann. Wegen Cheats setzt man auf einen autoritativen Server
  2. Peeking into VALORANT's Netcode Riot Games
    Modell mit Server-Autorität: Der Server vertraut nie dem Spielzustand, den der Client gesehen hat
  3. Distributed authority topologies (Netcode for GameObjects 2.5) Unity
    Wird die Autorität auf Clients verteilt, wird Cheaten leichter, und es gibt keine einzelne Simulation mehr, die alle Objekte steuert

Verwandte Ursachen

Gleiche Schicht: Synchronisationsdesign

Ursachen aus anderen Schichten mit demselben Symptom (Teleportieren)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen