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-BP03 Verwende deinen Spiel-Backend-Service, um Spieleranfragen zur Teilnahme an einem Multiplayer-Spiel zu validieren
In Mehrspieler-Spielen nimmt ein Spieler normalerweise an einer Spielsitzung teil, indem er eine Option direkt aus einer Liste verfügbarer Sessions auswählt, oder er reicht eine Anfrage ein, um ein Match zu finden. Bei letzterem Ansatz ist der Spieleentwickler dafür verantwortlich, eine geeignete Spielsitzung ausfindig zu machen und die Verbindungsinformationen (in der Regel eine IP-Adresse und eine Portnummer) an den Spielclient des Spielers weiterzuleiten. Die Implementierung kann je nach Spielgenre, das Sie entwickeln, variieren. Unabhängig davon ist es eine bewährte Sicherheitsmethode, die Anfrage eines Spielers, einem Spiel beizutreten, serverseitig zu überprüfen.
Risikostufe bei fehlender Befolgung dieser bewährten Methode: Mittel
Implementierungsleitfaden
In einem sitzungsbasierten Multiplayer-Spiel sollte beispielsweise die Anfrage eines Spielers, an einer Spielsitzung teilzunehmen, von Ihrer Gameserver-Software mit Ihrem Matchmaking-Dienst im Spiel-Backend validiert werden, bevor die Verbindung zum Server autorisiert wird. Wenn ein Spieler die Teilnahme an einer Spielsitzung anfordert, sollte der Spieleserver die Anfrage nach einer eindeutigen Kennung überprüfen, z. B. nach einer Spielersitzungs-ID und einem vom Server generierten Ticket, die zuvor von Ihrem Spiel-Backend-Matchmaking-Service an den Spielclient gesendet wurden.
Sobald die Verbindung zum Spielserver hergestellt ist, 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 Spielinteraktionen mit GameLift Amazon-Servern ein Beispiel dafür, wie diese Art der serverseitigen Validierung implementiert werden kann.
Kundenbeispiel
Beim ersten Betastart AnyCompany von Games wurde festgestellt, dass Spieler ihr Matchmaking-System umgehen, indem sie sich direkt mit Spieleservern verbinden, 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 Anfängerspielen teilnahmen, was für neue Spieler ein frustrierendes Erlebnis war. AnyCompany Games reagierte darauf mit der Implementierung eines serverseitigen Überprüfungssystems, das für jede Matchmaking-Anfrage eindeutige Sitzungstickets generierte. Das System benötigte sowohl die Spieler IDs - als auch die Matchmaking-Anfrage sowie verifizierte Verbindungsversuche mit dem Backend-Matchmaking-Dienst.
Implementierungsschritte
-
Bestätigen Sie Spielerbeitrittsanfragen serverseitig anhand eindeutiger Identifikatoren wie Spielersitzungen und servergenerierter Tickets. IDs
-
Bestätigen Sie die Gültigkeit von Verbindungsanfragen mit dem Matchmaking-Service, um unbefugten Zugriff zu blockieren.
-
Stellen Sie während des Validierungsprozesses sicher, dass nicht autorisierte Spieler nicht auf reservierte Plätze in Spielsitzungen zugreifen.