Eventi di collocamento delle sessioni di gioco - Amazon GameLift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eventi di collocamento delle sessioni di gioco

Amazon GameLift emette eventi per ogni richiesta di posizionamento della sessione di gioco man mano che viene elaborata. Puoi pubblicare questi eventi su un argomento di Amazon SNS, come descritto in. Imposta la notifica degli eventi per il posizionamento della sessione di gioco Questi eventi vengono inoltre trasmessi ad Amazon CloudWatch Events quasi in tempo reale e con la massima diligenza possibile.

Questo argomento descrive la struttura degli eventi di collocamento delle sessioni di gioco e fornisce un esempio per ogni tipo di evento. Per ulteriori informazioni sullo stato delle richieste di posizionamento delle sessioni di gioco, GameSessionPlacementconsulta Amazon GameLift API Reference.

Sintassi degli eventi di posizionamento

Gli eventi sono rappresentati come oggetti JSON. La struttura degli eventi è conforme al modello CloudWatch Events, con campi di primo livello simili e dettagli specifici del servizio.

I campi di primo livello includono quanto segue (vedi Event Pattern per maggiori dettagli):

version

Questo campo è sempre impostato su 0 (zero).

id

Identificatore di tracciamento univoco per l'evento.

detail-type (tipo di dettaglio)

Il valore è sempreGameLift Queue Placement Event.

source

Il valore è sempreaws.gamelift.

account

L' AWS account utilizzato per gestire Amazon GameLift.

time

Timestamp dell'evento.

Regione

La AWS regione in cui viene elaborata la richiesta di collocamento. Questa è la regione in cui si trova la coda della sessione di gioco in uso.

risorse

Valore ARN della coda della sessione di gioco che sta elaborando la richiesta di posizionamento.

PlacementFulfilled

La richiesta di collocamento è stata soddisfatta con successo. È stata avviata una nuova sessione di gioco e sono state create nuove sessioni di gioco per ogni giocatore elencato nella richiesta di posizionamento della sessione di gioco. Le informazioni sulla connessione del giocatore sono disponibili.

Sintassi dettagliata:

PlacementID

Un identificatore univoco assegnato alla richiesta di posizionamento della sessione di gioco.

port

Il numero di porta per la nuova sessione di gioco.

gameSessionArn

L'identificatore ARN per la nuova sessione di gioco.

ipAddress

L'indirizzo IP della sessione di gioco.

Nome DNS

L'identificatore DNS assegnato all'istanza che esegue la nuova sessione di gioco. Il formato dei valori è diverso a seconda che l'istanza che esegue la sessione di gioco sia abilitata per TLS. Quando si connettono a una sessione di gioco su una flotta che supporta TLS, i giocatori devono utilizzare il nome DNS, non l'indirizzo IP.

Flotte abilitate per TLS:. <unique identifier>.<region identifier>.amazongamelift.com

Flotte non abilitate per TLS:. ec2-<unique identifier>.compute.amazonaws.com

startTime

Timestamp che indica quando questa richiesta è stata inserita nella coda.

endTime

Timestamp che indica quando questa richiesta è stata soddisfatta.

gameSessionRegion

AWS Regione della flotta che ospita la sessione di gioco. Corrisponde al token della regione inGameSessionArn.

placedPlayerSessions

La raccolta di sessioni dei giocatori che sono state create per ogni giocatore nella richiesta di posizionamento della sessione di gioco.

Esempio

{ "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

La richiesta di collocamento è stata annullata con una chiamata al GameLift servizio. StopGameSessionPlacement

Dettaglio:

ID di posizionamento

Un identificatore univoco assegnato alla richiesta di posizionamento della sessione di gioco.

startTime

Timestamp che indica quando questa richiesta è stata inserita nella coda.

endTime

Timestamp che indica quando questa richiesta è stata annullata.

Esempio

{ "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

Il posizionamento della sessione di gioco non è stato completato con successo prima della scadenza del limite di tempo della coda. La richiesta di piazzamento può essere inoltrata nuovamente se necessario.

Dettaglio:

ID di posizionamento

Un identificatore univoco assegnato alla richiesta di posizionamento della sessione di gioco.

startTime

Timestamp che indica quando questa richiesta è stata inserita nella coda.

endTime

Timestamp che indica quando questa richiesta è stata annullata.

Esempio

{ "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

Amazon non GameLift è stato in grado di soddisfare la richiesta di sessione di gioco. Ciò è generalmente causato da un errore interno imprevisto. La richiesta di collocamento può essere inoltrata nuovamente se necessario.

Dettaglio:

ID di posizionamento

Un identificatore univoco assegnato alla richiesta di posizionamento della sessione di gioco.

startTime

Timestamp che indica quando questa richiesta è stata inserita nella coda.

endTime

Timestamp che indica quando questa richiesta non è riuscita.

Esempio

{ "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" } }