View a markdown version of this page

GAMESEC03-BP03Verwende deinen Spiel-Backend-Service, um Spieleranfragen zur Teilnahme an einem Multiplayer-Spiel zu validieren - Linse für die Spieleindustrie

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

GAMESEC03-BP03Verwende deinen Spiel-Backend-Service, um Spieleranfragen zur Teilnahme an einem Multiplayer-Spiel zu validieren

Normalerweise nimmt ein Spieler in Multiplayer-Spielen an einer Spielsitzung teil, indem er eine Option direkt aus der Liste der verfügbaren Sitzungen auswählt, oder er sendet eine Anfrage, um ein Spiel zu finden. Bei letzterem Ansatz ist der Spieleentwickler dafür verantwortlich, eine geeignete Spielsitzung zu finden und die Verbindungsinformationen (in der Regel eine IP-Adresse und eine Portnummer) an den Spielclient des Spielers zurückzugeben. Die Implementierung kann je nach Genre des Spiels, das Sie entwickeln, variieren. Unabhängig davon ist es jedoch eine bewährte Sicherheitsmethode, die Anfrage eines Spielers, einem Spiel beizutreten, serverseitig zu validieren.

Risikostufe bei fehlender Befolgung dieser bewährten Methode: Mittel

Implementierungsleitfaden

Beispielsweise sollte in einem sitzungsbasierten Multiplayer-Spiel eine Anfrage eines Spielers, an einer Spielsitzung teilzunehmen, von Ihrer Spielserversoftware mit Ihrem Matchmaking-Dienst im Backend des Spiels überprüft werden, bevor die Verbindung zum Server autorisiert wird. Wenn ein Spieler die Teilnahme an einer Spielsitzung anfordert, sollte der Spielserver die Anfrage auf eine eindeutige Kennung überprüfen, z. B. eine Spielersitzungs-ID und ein vom Server generiertes Ticket, das zuvor von deinem Matchmaking-Dienst im Backend für den Spielclient bereitgestellt wurde.

Sobald die Verbindung zum Spielserver hergestellt wird, kann Ihre serverseitige Software diese Informationen verwenden, um beim Matchmaking-Dienst zu überprüfen, ob die Verbindungsanfrage des Spielers gültig ist, und um sicherzustellen, dass der Spieler nicht einem Platz beitritt, der zuvor in der Spielsitzung für einen anderen Spieler reserviert war. 

Für Spiele, die auf Amazon gehostet werden GameLift, finden Sie unter client/server Interaktionen zwischen Spielen mit GameLift Amazon-Servern ein Beispiel dafür, wie diese Art der serverseitigen Validierung implementiert werden kann.

Kundenbeispiel

Beim ersten Betastart AnyCompany der Spiele stellten sie fest, dass Spieler ihr Matchmaking-System umgingen, indem sie sich direkt mit den Spielservern verbindeten, was zu schwerwiegenden Problemen mit der Wettbewerbsintegrität führte. Als hochrangige Spieler feststellten, dass sie Server-IP-Adressen mit Freunden teilen konnten, begannen sie, das auf Fähigkeiten basierende Matchmaking-System zu umgehen, was dazu führte, dass erfahrene Spieler an Spielen für Anfänger teilnahmen, was für neue Spieler ein frustrierendes Erlebnis war. AnyCompany Die Spiele reagierten darauf mit der Implementierung eines serverseitigen Validierungssystems, das für jede Matchmaking-Anfrage einzigartige Sitzungstickets generierte. Das System benötigte sowohl die Spieler-IDs als auch die Matchmaking-Anforderungstickets sowie verifizierte Verbindungsversuche gegen ihren Backend-Matchmaking-Dienst.

Implementierungsschritte

  • Validieren Sie Spielerbeitrittsanfragen serverseitig mithilfe eindeutiger Identifikatoren wie Spielersitzungs-IDs und servergenerierter Tickets.

  • Bestätigen Sie die Gültigkeit der Verbindungsanfragen mit dem Matchmaking-Dienst, um unbefugten Zugriff zu blockieren.

  • Stellen Sie während des Validierungsprozesses sicher, dass nicht autorisierte Spieler auf reservierte Plätze in Spielsitzungen nicht zugreifen.