View a markdown version of this page

GAMESEC03-BP03Utilisez le service backend de votre jeu pour valider les demandes des joueurs souhaitant rejoindre une partie multijoueur - Lens de l'industrie du jeu

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GAMESEC03-BP03Utilisez le service backend de votre jeu pour valider les demandes des joueurs souhaitant rejoindre une partie multijoueur

En général, dans les jeux multijoueurs, un joueur rejoint une session de jeu en sélectionnant une option directement dans la liste des sessions disponibles, ou il soumet une demande pour trouver un match. Cette dernière approche impose au développeur du jeu la responsabilité de localiser une session de jeu éligible et de fournir les informations de connexion (généralement une adresse IP et un numéro de port) au client de jeu du joueur. L'implémentation peut varier en fonction du genre de jeu que vous développez, mais quoi qu'il en soit, la meilleure pratique en matière de sécurité consiste à valider côté serveur la demande d'un joueur de rejoindre une partie.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : moyen

Directives d’implémentation

Par exemple, dans un jeu multijoueur basé sur une session, la demande d'un joueur de rejoindre une session de jeu doit être validée par le logiciel de votre serveur de jeu auprès de votre service de matchmaking principal de jeu avant d'autoriser sa connexion au serveur. Lorsqu'un joueur demande à rejoindre une session de jeu, le serveur de jeu doit vérifier la demande pour trouver un identifiant unique, tel qu'un identifiant de session du joueur et un ticket généré par le serveur qui ont été précédemment fournis au client du jeu par le service de matchmaking de votre backend de jeu.

Lors de l'établissement de la connexion au serveur de jeu, votre logiciel côté serveur peut utiliser ces informations pour vérifier auprès du service de matchmaking que la demande de connexion du joueur est valide et vérifier que le joueur ne rejoint pas une place qui était précédemment réservée à un autre joueur dans la session de jeu. 

Pour les jeux hébergés sur Amazon GameLift, consultez client/server Interactions entre les jeux et GameLift les serveurs Amazon pour un exemple de mise en œuvre de ce type de validation côté serveur.

Exemple client

Lors du lancement de la bêta initiale de AnyCompany Games, ils ont découvert que les joueurs contournaient leur système de matchmaking en se connectant directement aux serveurs de jeu, ce qui entraînait de graves problèmes d'intégrité compétitive. Lorsque les joueurs les mieux classés ont découvert qu'ils pouvaient partager les adresses IP de leurs serveurs avec des amis, ils ont commencé à contourner le système de matchmaking basé sur les compétences, ce qui a incité des joueurs expérimentés à rejoindre des matchs novices et à créer une expérience frustrante pour les nouveaux joueurs. AnyCompany Games a répondu en mettant en œuvre un système de validation côté serveur qui générait des tickets de session uniques pour chaque demande de matchmaking. Le système exigeait à la fois les identifiants des joueurs et des tickets de demande de matchmaking et des tentatives de connexion vérifiées avec leur service de matchmaking principal.

Étapes d’implémentation

  • Validez les demandes d'adhésion des joueurs côté serveur à l'aide d'identifiants uniques tels que les identifiants de session des joueurs et les tickets générés par le serveur.

  • Confirmez la validité des demandes de connexion auprès du service de matchmaking pour bloquer les accès non autorisés.

  • Vérifiez que les places réservées pendant les sessions de jeu ne sont pas accessibles aux joueurs non autorisés pendant le processus de validation.