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

Eventos de posicionamento de sessões de jogo

O Amazon GameLift Servers emite eventos para cada solicitação de posicionamento de sessões 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 emitidos para o 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 posicionamento de sessões de jogo, consulte GameSessionPlacement na Referência da API do Amazon GameLift Servers.

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 Events, 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):

version

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 conta do AWS que está sendo usada para gerenciar o Amazon GameLift Servers.

horário

Carimbo de data/hora do evento.

região

Região AWS, onde a solicitação de posicionamento 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

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

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 posicionamento foi cancelada com uma chamada para o serviço StopGameSessionPlacement do GameLift.

Detail:

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

O Amazon GameLift Servers não conseguiu atender à solicitação de posicionamento de sessões de 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" } }