Eventos de posicionamento de sessões de jogo - Amazon GameLift

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á.

Eventos de posicionamento de sessões de jogo

A Amazon GameLift emite eventos para cada solicitação de colocação de sessão de jogo à medida que ela é processada. Você pode publicar esses eventos em um tópico do Amazon SNS, conforme descrito em Configurar notificações de eventos para o posicionamento de sessões de jogo. Esses eventos também são transmitidos para a Amazon CloudWatch Events quase em tempo real e com base no melhor esforço.

Este tópico descreve a estrutura dos eventos de posicionamento de sessões de jogo e fornece um exemplo para cada tipo de evento. Para obter mais informações sobre o status das solicitações de colocação de sessões de jogos, consulte GameSessionPlacementa Amazon GameLift API Reference.

Sintaxe do evento de posicionamento

Os eventos são representados como objetos JSON. A estrutura do evento está em conformidade com o padrão CloudWatch Eventos, com campos de nível superior semelhantes e detalhes específicos do serviço.

Os campos de nível superior incluem o seguinte (consulte o padrão do evento para obter mais detalhes):

versão

Esse campo é sempre definido como 0 (zero).

id

Identificador de rastreamento exclusivo do evento.

detail-type

O valor é sempre GameLift Queue Placement Event.

origem

O valor é sempre aws.gamelift.

conta

A AWS conta que está sendo usada para gerenciar a Amazon GameLift.

horário

Carimbo de data/hora do evento.

região

A AWS região em que a solicitação de colocação está sendo processada. Essa é a região em que a fila de sessões de jogos em uso reside.

resources

Valor ARN da fila da sessão de jogo que está processando a solicitação de posicionamento.

PlacementFulfilled

A solicitação de posicionamento foi atendida com sucesso. Uma nova sessão de jogo foi iniciada e novas sessões de jogadores foram criadas para cada jogador listado na solicitação de posicionamento de sessões de jogo. As informações de conexão do jogador estão disponíveis.

Sintaxe detalhada:

placementId

Identificador exclusivo atribuído à solicitação de posicionamento de sessões de jogo.

porta

Número da porta da nova sessão de jogos.

gameSessionArn

Identificador ARN da nova sessão de jogos.

ipAddress

Endereço IP da sessão de jogos.

dnsName

Identificador DNS atribuído à instância que está executando a nova sessão de jogos. O formato do valor é diferente dependendo se a instância que executa a sessão de jogos está habilitada para TLS. Ao se conectar a uma sessão de jogos em uma frota habilitada para TLS, os jogadores devem usar o nome DNS e não o endereço IP.

Frotas habilitadas para TLS: <unique identifier>.<region identifier>.amazongamelift.com.

Frotas não habilitadas para TLS: ec2-<unique identifier>.compute.amazonaws.com.

startTime

Carimbo de data/hora indicando quando essa solicitação foi posicionada na fila.

endTime

Carimbo de data/hora indicando quando essa solicitação foi atendida.

gameSessionRegion

AWS Região da frota que está hospedando a sessão do jogo. Isso corresponde ao token de região noGameSessionArn.

placedPlayerSessions

Coleção de sessões de jogadores que foram criadas para cada jogador na solicitação de posicionamento de sessões de jogo.

Exemplo

{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementFulfilled", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "port": "6262", "gameSessionArn": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/4444dddd-55ee-66ff-77aa-8888bbbb99cc", "ipAddress": "98.987.98.987", "dnsName": "ec2-12-345-67-890.us-west-2.compute.amazonaws.com", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z", "gameSessionRegion": "us-west-2", "placedPlayerSessions": [ { "playerId": "player-1" "playerSessionId": "psess-1232131232324124123123" } ] } }

PlacementCancelled

A solicitação de colocação foi cancelada com uma ligação para o GameLift serviço StopGameSessionPlacement.

Detalhe:

placementId

Identificador exclusivo atribuído à solicitação de posicionamento de sessões de jogo.

startTime

Carimbo de data/hora indicando quando essa solicitação foi posicionada na fila.

endTime

Carimbo de data/hora indicando quando essa solicitação foi cancelada.

Exemplo

{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementCancelled", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }

PlacementTimedOut

O posicionamento de sessões de jogo não foi concluído com êxito antes que o limite de tempo da fila expirasse. A solicitação de posicionamento pode ser reenviada conforme necessário.

Detalhe:

placementId

Identificador exclusivo atribuído à solicitação de posicionamento de sessões de jogo.

startTime

Carimbo de data/hora indicando quando essa solicitação foi posicionada na fila.

endTime

Carimbo de data/hora indicando quando essa solicitação foi cancelada.

Exemplo

{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementTimedOut", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }

PlacementFailed

A Amazon não GameLift conseguiu atender à solicitação de sessão do jogo. Isso geralmente é causado por um erro interno inesperado. A solicitação de posicionamento pode ser reenviada conforme necessário.

Detalhe:

placementId

Identificador exclusivo atribuído à solicitação de posicionamento de sessões de jogo.

startTime

Carimbo de data/hora indicando quando essa solicitação foi posicionada na fila.

endTime

Carimbo de data/hora indicando quando essa solicitação falhou.

Exemplo

{ "version": "0", "id": "39c978f3-ba46-3f7c-e787-55bfcca1bd31", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "252386620677", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:252386620677:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementFailed", "placementId": "e4a1119a-39af-45cf-a990-ef150fe0d453", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }