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

Game-Lag-Whitepaper › L1 Spielprozess auf dem Client

Prüfungen des Sicherheitsmoduls (Anti-Cheat) Anti-cheat scan and heartbeat

Ursachen-ID cg-anticheat · Hauptzuständig Client-Entwicklung (Entwicklungsteam) · Beteiligt Server-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Ein Sicherheitsmodul, das zum Schutz vor Cheats mit dem Spiel läuft, prüft in regelmäßigen Abständen. Ist die Prüfung aufwendig oder kommt der Heartbeat (regelmäßiges Lebenszeichen) zum Sicherheitsserver zu spät, ruckelt das Spiel, oder es kommt zum Verbindungsabbruch.

Warum Sicherheitsmodul prüft regelmäßig Spielspeicher, laufende Programme und Treiber → Folge Während der Prüfung steht der Game-Thread still, oder der Heartbeat geht nicht rechtzeitig raus → Auf dem Bildschirm Stocken in festen Abständen, schlimmstenfalls Verbindungsabbruch mit Sicherheitsfehlermeldung

Symptome
Ruckeln, Freeze, Verbindungsabbruch
Faktoren
Stillstand
Wer ist betroffen
Nur ich
Wann
In festen Abständen, Direkt nach Login oder Wartung, Gelegentlich, zufällig
Zuständigkeit
Hauptzuständig Client-Entwicklung (Entwicklungsteam) · Beteiligt Server-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Client: aufwendige Prüfungen außerhalb des Game-Threads in kleinen Portionen ausführen, Statistiken zu Ruckeln und Rauswürfen nach Version des Sicherheitsmoduls vergleichen (bei Häufung direkt nach einem Update an den Hersteller des Moduls weitergeben). Server: ein, zwei verspätete Heartbeats tolerieren.
Größenordnungen
Leichte Prüfungen dauern meist unter 1 ms. Aufwendige Prüfungen im Game-Thread belegen je nach Implementierung aber pro Durchlauf einige Dutzend bis einige hundert ms.
Im Graphen
Spitzen in festen Abständen · Frametime, Anzahl der Anti-Cheat-Kicks
Wo nachsehen
In der Frametime aus PresentMon die Abstände der Ausschläge messen und die vom Server empfangenen Anti-Cheat-Kick-Gründe (bei EOS etwa AuthenticationFailed / Authentication Timed Out aus ClientActionReason) nach Version des Sicherheitsmoduls und nach Hardware auswerten
Spricht dafür
Unabhängig von der Spielsituation wiederholen sich kurze Stillstände in festen Abständen, direkt nach einem Update des Sicherheitsmoduls nehmen bei bestimmter Hardware Ruckeln und Kicks wegen Authentifizierungs-Timeout zu
Spricht dagegen
Gleiche Abstände auf jeder Hardware, unabhängig von der Version des Sicherheitsmoduls: „Garbage Collection auf dem Client“ oder „CPU-Belegung durch Hintergrundprozesse“
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Mehr dazu
Sicherheitsmodule sitzen als Treiber tief im OS und geraten daher mitunter mit Virenscannern, Overlays oder den Sicherheitsmodulen anderer Spiele in Konflikt. Häufen sich direkt nach einem Update des Sicherheitsmoduls Meldungen über Ruckeln und Rauswürfe nur bei bestimmter Hardware, steht das Modul als Erstes unter Verdacht.

Quellen

  1. Using the Anti-Cheat Interfaces Epic Games
    Erhält der Server die Anti-Cheat-Nachricht des Clients nicht innerhalb der festgelegten Zeit (RegisterTimeout), wirft er ihn wegen Authentifizierungs-Timeout raus (häufige Ursache: Client hängt beim Laden). Liegt das Problem an einem kürzlichen Modul-Update, auf das vorige Modul zurückgehen
  2. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Aufzeichnung der Zeit pro Frame über FrameTime (CPU-Zeit zwischen Frames)

Verwandte Ursachen

Gleiche Schicht: L1 Spielprozess auf dem Client

Ursachen aus anderen Schichten mit demselben Symptom (Ruckeln)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen