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

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

Fehlerhafte Session-Zuordnung nach IP oder Gerät Session keyed by IP or machine ID

Ursachen-ID pt-session-key · Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Unterscheiden der Server oder ein Zwischenserver Verbindungen anhand von IP oder Geräte-ID, werden zwei Clients auf demselben PC (gleiche öffentliche IP) als ein Spieler erkannt.

Warum Session-Tabelle nach IP oder IP + Geräte-ID aufgebaut → Folge Daten des zweiten Clients überschreiben die erste Session oder vermischen sich mit ihr → Auf dem Bildschirm Ein Client sieht keine NPCs, der andere hat einen Verbindungsabbruch oder bekommt fremde Daten

Symptome
Unsichtbar / Geisterobjekte, Verbindungsabbruch
Faktoren
Paketverlust
Wer ist betroffen
Nur ein Client auf demselben PC, Gleicher Haushalt, Bestimmte Region oder Provider
Wann
Direkt nach Login oder Wartung
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Server: auf Server und Zwischenservern Verbindungen über ein eindeutiges Session-Token pro Verbindung unterscheiden, unbedingt beheben, denn auch mehrere Personen im selben Haushalt (hinter dem NAT des Routers) und Nutzer von Mobilfunkleitungen, bei denen der Provider eine IP auf mehrere Kunden verteilt (CGNAT), haben dasselbe Problem. Client: für jeden gestarteten Client ein eigenes Session-Token verwenden.
Im Graphen
Nur einzelne Ausreißer · Gleichzeitige Sessions pro öffentlicher IP, überschriebene Sessions
Wo nachsehen
In den Logs von Server und Zwischenservern den zur Session-Suche verwendeten Schlüssel, das Session-Token sowie IP und Port des Clients protokollieren und prüfen, ob sich die bestehende Session ändert, sobald von derselben IP eine zweite Verbindung kommt. Lässt sich mit zwei nacheinander gestarteten Clients auf demselben PC nachstellen
Spricht dafür
Sobald sich der zweite Client verbindet, ändern sich Adresse oder Charakterdaten der ersten Session, und auch andere Spieler hinter demselben Router oder derselben Mobilfunkleitung (CGNAT) haben dieselben Verbindungsabbrüche
Spricht dagegen
Zwei Sessions derselben IP bleiben mit unterschiedlichen Tokens getrennt erhalten: nicht diese Ursache. Beide Prozesse nutzen denselben lokalen Port: „Kollision fester UDP-Ports“
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig

Quellen

  1. RFC 6269: Issues with IP Address Sharing IETF
    Teilen sich mehrere Kunden über NAT oder CGN eine IPv4-Adresse, lassen sich Nutzer allein anhand der IP nicht unterscheiden

Verwandte Ursachen

Gleiche Schicht: Probleme, die nur einige betreffen

Ursachen aus anderen Schichten mit demselben Symptom (Unsichtbar / Geisterobjekte)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen