View a markdown version of this page

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

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 back-end WebSocket-based

Usando uma WebSocket-based arquitetura 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 as WebSocket APIs do API Gateway, consulte Trabalhando com WebSocket APIs.

O diagrama a seguir mostra uma arquitetura de WebSocket-based back-end 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.

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 do Lambda, por meio da API Gateway API 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. Após FlexMatch as partidas, um grupo de jogadores FlexMatch solicita a colocação de uma sessão de jogo em 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.