Serveurs de session de jeu autonomes avec un backend WebSocket basé - Amazon GameLift Servers

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.

Serveurs de session de jeu autonomes avec un backend WebSocket basé

À l'aide d'une architecture WebSocket basée sur Amazon API Gateway, vous pouvez effectuer des demandes de matchmaking WebSockets et envoyer des notifications push pour la fin du matchmaking à l'aide de messages initiés par le serveur. Cette architecture améliore les performances grâce à une communication bidirectionnelle entre le client et le serveur.

Pour plus d'informations sur l'utilisation d'API Gateway WebSock APIs, consultez la section Travailler avec WebSocket APIs.

Le schéma suivant montre une architecture de backend WebSocket basée sur API Gateway et d'autres Services AWS pour associer les joueurs aux jeux exécutés sur Amazon GameLift Servers flottes. La liste suivante fournit une description de chaque légende numérotée du diagramme.

Exemple WebSockets d'architecture qui associe les joueurs à des jeux exécutés sur Amazon GameLift Servers flottes.
  1. Le client du jeu demande une identité d'utilisateur Amazon Cognito à un pool d'identités Amazon Cognito.

  2. Le client du jeu signe une WebSocket connexion à une API API Gateway avec les informations d'identification Amazon Cognito.

  3. API Gateway appelle une AWS Lambda fonction sur la connexion. La fonction stocke les informations de connexion dans une table Amazon DynamoDB.

  4. Le client du jeu envoie un message à une fonction Lambda, via l'API API Gateway via la WebSocket connexion, pour demander une session.

  5. Une fonction Lambda reçoit le message puis demande une correspondance via Amazon GameLift Servers FlexMatch matchmaking.

  6. Après FlexMatch correspond à un groupe de joueurs, FlexMatch demande le placement d'une session de jeu par le biais d'un Amazon GameLift Servers queue.

  7. Après Amazon GameLift Servers place la session sur l'un des sites de la flotte, Amazon GameLift Servers envoie une notification d'événement à une rubrique Amazon Simple Notification Service (Amazon SNS).

  8. Une fonction Lambda reçoit l'événement Amazon SNS et le traite.

  9. Si le ticket de matchmaking est un MatchmakingSucceeded événement, la fonction Lambda demande à DynamoDB de connecter correctement le joueur. La fonction envoie ensuite un message au client du jeu via l'API API Gateway via la WebSocket connexion. Dans cette architecture, le client du jeu n'interroge pas activement l'état du matchmaking.

  10. Le client du jeu reçoit le port et l'adresse IP du serveur de jeu, ainsi que l'identifiant de session du joueur, via la WebSocket connexion.

  11. Le client de jeu se connecte au serveur de jeu via TCP ou UDP en utilisant le port et l'adresse IP fournis par le service principal. Le client du jeu envoie également l'identifiant de session du joueur au serveur de jeu, qui le valide ensuite à l'aide du SDK du serveur pour Amazon GameLift Servers.