Dieser Abschnitt geht davon aus, dass Sie bereits Eingaben und Kontext validieren (siehe vorherige Abschnitte). Dieser Artikel behandelt, was zu tun ist, nachdem eine Anfrage technisch gültig ist, das Verhalten jedoch missbräuchlich aussieht, sowie wie man reagiert, ohne legitime Spieler zu schädigen.
Philosophie
- Der Server entscheidet. Erkennung und Konsequenzen erfolgen auf dem Server. Versuchen Sie niemals, nur auf der Grundlage von clientseitigen Erkennungen zu sperren, da Betrüger diese leicht umgehen können.
- Verhindern Sie zunächst Schaden. Neutralisieren Sie stillschweigend die Auswirkungen eines Exploits. Wenn zum Beispiel ein Spieler speed-hackt, bringen Sie ihn einfach mit einem Gummiband an seine letzte gültige Position zurück, anstatt ihn sofort zu kicken. Bestrafen Sie nur, wenn es notwendig ist, um das Erlebnis oder andere Spieler zu schützen.
- Seien Sie verhältnismäßig und umkehrbar. Gehen Sie davon aus, dass falsche Positivdaten auftreten können. Bevorzugen Sie Maßnahmen, die Sie rückgängig machen können, wie z.B. vorübergehende Sperren oder Ressourcenentzug, gegenüber permanenter Sperrung.
- Design > Erkennung. Ihre primäre Sicherheit kommt von robuster Validierung und Ratenbegrenzung (siehe Sichern der Client-Server-Grenze und andere Abschnitte). Die folgenden Erkennungs-Methoden sollen diese Abwehr ergänzen, nicht ersetzen.
Heuristiken
Heuristiken sind Verhaltensprüfungen, die Aktionen kennzeichnen, die technisch möglich, aber für einen legitimen Spieler höchst unwahrscheinlich sind. Sie sind "Faustregeln", um verdächtige Aktivitäten zu erfassen, die grundlegende Validierungen umgehen. Eine effektive Heuristik vergleicht die Aktionen eines Spielers mit einem theoretischen Maximum oder einem vernünftigen Basiswert.
Wenn beispielsweise ein Spieler plötzlich behauptet, in Ihrem Simulator-Spiel 1 Milliarde Münzen verdient zu haben, könnte Ihre Remote-Validierung bestätigen, dass die Anfrage korrekt strukturiert ist. Aber eine Heuristik-Prüfung auf dem Server würde wissen, dass es Wochen dauern sollte, um so viel zu verdienen, nicht Sekunden, und die Transaktion als verdächtig kennzeichnen.
Hier sind drei klassische Beispiele für serverseitige Heuristiken. Jede validiert das Verhalten des Spielers im Hinblick auf die Regeln des Erlebnisses und physikalische Einschränkungen, was eine starke Verteidigung gegen gängige Exploits schafft.
| Server-seitige Heuristik | Beschreibung | Beispiel |
|---|---|---|
| Schnellste Abschlusszeit | Berechnen Sie die theoretisch schnellste mögliche Zeit, um eine Aufgabe, wie einen Hindernisparcours, abzuschließen. Dies umfasst das Finden des optimalen Pfades und das Annehmen der maximalen Spieler-Geschwindigkeit. | In einem Obby, wenn der Weltrekord 30 Sekunden beträgt, ist eine Abschlusszeit von 5 Sekunden ein starkes Zeichen für Teleportation oder Speed-Exploits. |
| Zuwachsrate | Verfolgen Sie die maximal legitime Rate, mit der ein Spieler eine Ressource (Währung, Erfahrung, Gegenstände) verdienen kann. | Wenn ein Spieler legitim 100 Münzen pro Minute verdienen kann, sollte ein plötzlicher Gewinn von 10.000 Münzen in einer Sekunde markiert werden. |
| Aktionsrhythmus | Der Server analysiert die Zeitintervalle zwischen den wiederholten Aktionen eines Spielers. Menschliche Eingaben haben natürliche, leicht unterschiedliche Zeitvariationen, während einfache Automatisierungsskripte (wie Auto-Clicker) oft Aktionen mit roboterhaftem Timing durchführen. | In einem Angel-Minispiel klickt ein Spieler, um seine Schnur auszuwerfen. Der Server protokolliert den Zeitstempel jedes Auswurfs. Wenn der Spieler seine Schnur 100 Mal hintereinander mit dem exakt gleichen Intervall (z.B. genau 2,500 Sekunden) zwischen jeder Aktion wirft, ist das ein starkes Indiz für ein Makro oder einen Bot. Das Timing eines Menschen würde natürlich schwanken. |
Jedes dieser Beispiele allein reicht möglicherweise nicht aus, um einen Betrüger zu überführen. Jedes sollte als Signal, nicht als definitiver Beweis betrachtet werden. Eine gute Praxis ist es, eine Verdachtsbewertung zu implementieren. Wenn ein Spieler eine Heuristik-Prüfung nicht besteht, erhöhen Sie seine Punktzahl. Schwere Maßnahmen wie Kicks oder Sperren sollten nur ergriffen werden, nachdem mehrere, unterschiedliche Erkennungen die Punktzahl eines Spielers über einen hohen Schwellenwert hinausgetrieben haben.
Wenn beispielsweise ein geschickter Spieler Ihr Obby mit einer rekordverdächtigen Zeit fertigstellt, die Ihre Heuristik „Schnellste Abschlusszeit“ auslöst. Sollte er gesperrt werden? Es ist möglich, dass er schummelt, aber er könnte auch eine legale, aber unbeabsichtigte Abkürzung entdeckt haben. Sie nur aufgrund dieses einzigen Signals zu sperren, wäre riskant und könnte einen Ihrer engagiertesten Spieler bestrafen.
Wenn jedoch derselbe Lauf des Spielers auch die Heuristik „Aktionsrhythmus“ wegen unnatürlich konsistenter Eingaben markiert hat, und eine Stunde später löst er die Heuristik „Zuwachsrate“ in Ihrer Lobby aus, wird der Fall viel stärker. Die Kombination dieser verschiedenen Signale zeichnet ein viel zuverlässigeres Bild von Betrug. Die Stärke dieses Systems liegt darin, mehrere Datenpunkte zu korrelieren, um einen fundierten Fall zu erstellen, bevor Maßnahmen ergriffen werden.
Honeypots
Eine Möglichkeit, Betrüger zu erkennen, die versuchen, die RemoteEvents Ihrer Erfahrung zu überprüfen, besteht darin, einen Köder namens Honeypot zu verwenden. Ein Honeypot ist ein RemoteEvent oder RemoteFunction, das für einen Betrüger legitim erscheint, aber von keinem Ihrer legitimen Client-Skripte verwendet wird. Da kein normaler Spieler jemals in der Lage sein sollte, dieses Remote zu aktivieren, muss jeglicher Verkehr, den es erhält, von einem Betrüger stammen. Wenn der Server erkennt, dass dieses Remote aktiviert wurde, ist dies ein sehr starkes Signal dafür, dass der Client sich einmischt. Die beste sofortige Maßnahme ist, den Vorfall zu protokollieren und den Spieler aus der Sitzung zu entfernen.
Eine weitere Variante besteht darin, RemoteEvents mit spezifischen Zielrichtungen zu entwerfen - einige ausschließlich für die Kommunikation von Client → Server und andere ausschließlich für die Kommunikation von Server → Client. Während die Eventnamen ihre beabsichtigte Richtung nicht offenbaren, verfolgt der Server, in welche Richtung jeder Remote verwendet werden sollte. Wenn ein Betrüger versucht, ein Server → Client-Remote vom Client aus zu aktivieren, dient dies als zuverlässige Erkennungsmethode, da legitimes Gameplay niemals die Kommunikation in die falsche Richtung auslösen würde.
Anwendung von Konsequenzen
Wenn Erkennungssysteme verdächtiges Verhalten markieren, überlegen Sie sich Ihre Reaktionsstrategie sorgfältig. Unterschiedliche Erfahrungen erfordern unterschiedliche Ansätze, je nach ihrer Gemeinschaft, den Wettbewerbsfaktoren und der Toleranz für Störungen.
Die Konsequenzleiter - Die meisten Erlebnisse profitieren von eskalierenden Reaktionen, anstatt sofort zu permanenter Sperrung überzugehen:
- Stilles Protokollieren - Beweise sammeln, ohne die Spieler zu beeinträchtigen
- Stille Minderung - Die Auswirkungen des Exploits blockieren (Anfragen abbrechen, Werte begrenzen, den korrekten Zustand synchronisieren)
- Vorübergehende Einschränkungen - Bestimmte Fähigkeiten einschränken (Handel, Bestenlisten, Matchmaking)
- Sichtbare Durchsetzung - Kicks, vorübergehende Sperrungen oder permanente Sperren
Überlegungen zu Ihrer Strategie
- Verzögern Sie sichtbare Konsequenzen, um zu vermeiden, dass Betrüger genau lernen, was die Erkennung ausgelöst hat
- Anpassen der Schwere der Reaktion - geringfügige wirtschaftliche Exploits sollten möglicherweise anders behandelt werden als spielbrechende Physik-Betrügereien
- Berücksichtigen Sie Ihre Gemeinschaft - wettbewerbsorientierte Erlebnisse benötigen möglicherweise strengere Durchsetzung als legere Erlebnisse
- Planen Sie für Fehler - ziehen Sie umkehrbare Maßnahmen vor, wenn das Vertrauen in die Erkennung geringer ist
Für hartnäckige Wiederholungstäter sollten Sie in Betracht ziehen, die Ban API zu verwenden, anstatt sich ausschließlich auf Kicks zu verlassen. Die Ban API verhindert, dass gesperrte Spieler wieder beitreten, und bietet eine bessere Verfolgung über Ihr Universum hinweg. Versionieren Sie Ihre Erkennungsregeln und verfolgen Sie die Konsequenzraten, sodass Sie problematische Systeme identifizieren können. Überwachen Sie das Feedback der Spieler, um zu beurteilen, ob Ihre Durchsetzung für die Gemeinschaft fair erscheint. Das richtige Gleichgewicht hängt ganz von den Bedürfnissen Ihres Erlebnisses und den Erwartungen Ihrer Spieler ab.