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 backend de tecnologia sem servidor
Ao usar uma arquitetura de serviço ao cliente de tecnologia sem servidor, o backend pode visualizar o status dos tickets de criação de partidas em um banco de dados altamente escalável, em vez de acessar diretamente a API do Amazon GameLift Servers.
O diagrama a seguir mostra um back-end sem servidor criado com o Serviços da AWS qual os jogadores são colocados em jogos executados em frotas. Amazon GameLift Servers A lista a seguir fornece uma descrição para cada texto explicativo numerado no diagrama. Para experimentar este exemplo, consulte Hospedagem de jogos baseada em sessão multijogador
-
O cliente do jogo solicita uma identidade de usuário do Amazon Cognito a partir de um banco de identidades do Amazon Cognito.
-
O cliente do jogo recebe credenciais de acesso temporárias e solicita uma sessão de jogo por meio de uma API do Amazon API Gateway.
-
O API Gateway invoca uma AWS Lambda função.
-
A função do Lambda solicita dados do player de uma tabela NoSQL do Amazon DynamoDB. A função fornece a identidade do Amazon Cognito nos dados de contexto da solicitação.
-
A função do Lambda solicita uma correspondência por meio de criação de partidas do Amazon GameLift Servers FlexMatch.
-
FlexMatchcombina um grupo de jogadores com latência adequada e, em seguida, solicita a colocação da sessão de jogo por meio de uma Amazon GameLift Servers fila. A fila tem frotas com um ou mais Região da AWS locais nela.
-
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).
-
Uma função do Lambda recebe o evento do Amazon SNS e o processa.
-
Se o ticket de criação de partidas for um evento de
MatchmakingSucceeded, a função do Lambda grava o resultado, junto com a porta e o endereço IP do servidor do jogo, em uma tabela do DynamoDB. -
O cliente do jogo faz uma solicitação assinada ao API Gateway para visualizar o status do ticket de criação de partidas em um intervalo específico.
-
O API Gateway usa uma função do Lambda que verifica o status do ticket de criação de partidas.
-
A função do Lambda verifica a tabela do DynamoDB para visualizar se o ticket foi bem-sucedido. Se for bem-sucedida, a função envia a porta e o endereço IP do servidor do jogo, junto com o ID da sessão do jogador, de volta ao cliente. Se o ticket não for bem-sucedido, a função enviará uma resposta verificando se a partida ainda não está pronta.
-
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 então 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.