View a markdown version of this page

Eventos de posicionamento de sessões de jogo - 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á.

Eventos de posicionamento de sessões de jogo

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

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

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.

account

A AWS conta que está sendo usada para gerenciarAmazon GameLift Servers.

horário

Carimbo de data/hora do evento.

region

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.

Non-TLS-enabled frotas: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 de origem da frota que está hospedando a sessão do jogo.

gameSessionLocation

O local da frota em que a sessão de jogo está sendo executada. Esse valor pode especificar a região de origem da frota ou um local remoto.

playerGatewayStatus

O estado do gateway do jogador no local da frota que executa esta sessão de jogo.

Os possíveis valores incluem:

  • ENABLED— O gateway do jogador está disponível para rotear as conexões dos jogadores para esta sessão de jogo.

  • DISABLED— O Player Gateway não está disponível para esta sessão de jogo.

Nome do computador

Um rótulo descritivo para o recurso computacional que está hospedando a sessão do jogo. Para frotas do EC2, esse é o ID da instância do EC2. Para frotas de contêineres, cada grupo de contêineres de servidores de jogos em uma instância de frota recebe um nome de computação. Para frotas de Anywhere, esse é o nome de computação personalizado.

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/us-east-1/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", "playerGatewayStatus": "ENABLED", "gameSessionLocation": "us-east-1", "computeName": "i-1234567890abcdef0", "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

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