View a markdown version of this page

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 com jogos executados em Amazon GameLift Servers frotas. A lista a seguir fornece uma descrição para cada texto explicativo numerado no diagrama.

Exemplo de WebSockets arquitetura que combina jogadores em jogos executados em 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 do Lambda recebe a mensagem e, em seguida, solicita uma correspondência por meio de criação de partidas do Amazon GameLift Servers FlexMatch.

  6. Depois de FlexMatch jogar um grupo de jogadores, FlexMatch solicita uma colocação na sessão de jogo por meio de uma Amazon GameLift Servers fila.

  7. Após o Amazon GameLift Servers colocar a sessão em um dos locais da frota, o Amazon GameLift Servers envia uma notificação de evento a 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 criação de partidas 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 criação de partidas.

  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 backend. 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 Server SDK do Amazon GameLift Servers.