Servidores de sessão de jogo autônomos com um back-end WebSocket baseado - Amazon GameLift Servers

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Servidores de sessão de jogo autônomos com um back-end WebSocket baseado

Usando uma arquitetura WebSocket baseada no Amazon API Gateway, você pode fazer solicitações de matchmaking WebSockets e enviar notificações push para conclusão de matchmaking usando mensagens iniciadas pelo servidor. Essa arquitetura melhora o desempenho por meio da comunicação bidirecional entre o cliente e o servidor.

Para obter mais informações sobre como usar o API Gateway WebSock APIs, consulte Trabalhando com WebSocket APIs.

O diagrama a seguir mostra uma arquitetura de back-end WebSocket baseada que usa o API Gateway e outros Serviços da AWS para combinar jogadores em jogos executados em Amazon GameLift Servers frotas. A lista a seguir fornece uma descrição para cada texto explicativo numerado no diagrama.

WebSockets Arquitetura de exemplo que combina jogadores em jogos em execução Amazon GameLift Servers frotas.
  1. O cliente do jogo solicita uma identidade de usuário do Amazon Cognito a partir de um banco de identidades do Amazon Cognito.

  2. O cliente do jogo assina uma WebSocket conexão com uma API do API Gateway com as credenciais do Amazon Cognito.

  3. O API Gateway chama uma AWS Lambda função na conexão. A função armazena as informações de conexão em uma tabela do Amazon DynamoDB.

  4. O cliente do jogo envia uma mensagem para uma função Lambda, por meio da API API Gateway pela WebSocket conexão, para solicitar uma sessão.

  5. Uma função Lambda recebe a mensagem e, em seguida, solicita uma correspondência por meio de Amazon GameLift Servers FlexMatch matchmaking.

  6. Depois FlexMatch combina com um grupo de jogadores, FlexMatch solicita a colocação de uma sessão de jogo por meio de um Amazon GameLift Servers queue.

  7. Depois Amazon GameLift Servers coloca a sessão em um dos locais da frota, Amazon GameLift Servers envia uma notificação de evento para um tópico do Amazon Simple Notification Service (Amazon SNS).

  8. Uma função do Lambda recebe o evento do Amazon SNS e o processa.

  9. Se o ticket de marcação de jogos for um evento de MatchmakingSucceeded, a função do Lambda solicitará a conexão correta do jogador do DynamoDB. Em seguida, a função envia uma mensagem para o cliente do jogo por meio da API Gateway API pela WebSocket conexão. Nessa arquitetura, o cliente do jogo não pesquisa ativamente o status de marcação de jogos.

  10. O cliente do jogo recebe a porta e o endereço IP do servidor do jogo, junto com o ID da sessão do jogador, por meio da WebSocket conexão.

  11. O cliente do jogo se conecta ao servidor do jogo usando TCP ou UDP usando a porta e o endereço IP fornecidos pelo serviço de back-end. O cliente do jogo também envia o ID da sessão do jogador para o servidor do jogo, que então valida o ID usando o SDK do servidor para Amazon GameLift Servers.