ゲームセッション配置イベント - Amazon GameLift Servers

ゲームセッション配置イベント

Amazon GameLift Servers は、各ゲームセッション配置リクエストの処理時にイベントを発行します。「ゲームセッション配置のイベント通知を設定」の説明に従って、これらのイベントを Amazon SNS トピックに発行できます。これらのイベントは、ほぼリアルタイムで、ベストエフォートベースで Amazon CloudWatch Events にも発行されます。

このトピックでは、ゲームセッション配置イベントの構造について説明し、各イベントタイプの例を示します。ゲームセッション配置リクエストのステータスについては、Amazon GameLift Servers API リファレンスの「GameSessionPlacement」を参照してください。

プレイスメントイベント構文

イベントは、JSON オブジェクトとして表されます。イベント構造は CloudWatch Eventsパターンに準拠しており、同様のトップレベルフィールドとサービス固有の詳細を備えています。

最上位フィールドには、次の項目が含まれます (詳細については「イベントパターン」を参照してください)。

version

このフィールドは、常に 0 (ゼロ) に設定されます。

id

イベントの一意のトラッキング ID。

detail-type (ディテールタイプ)

値は常にGameLift Queue Placement Event です。

ソース

値は常にaws.gamelift です。

アカウント

Amazon GameLift Servers の管理に使用されている AWS アカウント。

時間

イベントのタイムスタンプ。

リージョン

プレイスメントリクエストが処理されている AWS リージョン。これは、使用中のゲームセッションキューが存在するリージョンです。

リソース

プレイスメントリクエストを処理しているゲームセッションキューの ARN 値。

PlacementFulfilled

プレイスメントリクエストは正常に実行されました。新しいゲームセッションが開始され、ゲームセッション配置リクエストにリストされた各プレイヤーに対して新しいプレイヤーセッションが作成されました。プレーヤーの接続情報が表示されます。

詳細構文:

placementId

ゲームセッション配置リクエストに割り当てられた一意の識別子。

ポート

新しいゲームセッションのポート番号。

gameSessionArn

新しいゲームセッションの ARN 識別子。

ipAddress

ゲームセッションの IP アドレス。

dnsName

新しいゲームセッションを実行しているインスタンスに割り当てられた DNS 識別子。値の形式は、ゲームセッションを実行しているインスタンスが TLS 対応かどうかによって異なります。TLS 対応フリートのゲームセッションに接続する場合、プレイヤーは IP アドレスではなく DNS 名を使用する必要があります。

TLS 対応フリート: <unique identifier>.<region identifier>.amazongamelift.com

TLS 対応でないフリート: ec2-<unique identifier>.compute.amazonaws.com

startTime

このリクエストがキューに配置された日時を示すタイムスタンプ。

endTime

このリクエストが完了した日時を示すタイムスタンプ。

gameSessionRegion

ゲームセッションをホスティングしているフリートの AWS リージョン。これは、GameSessionArn のリージョントークンに対応しています。

placedPlayerSessions

ゲームセッション配置リクエストでプレイヤーごとに作成されたプレイヤーセッションのコレクション。

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

GameLift サービスへの呼び出し StopGameSessionPlacement でプレイスメントリクエストがキャンセルされました。

詳細:

placementId

ゲームセッション配置リクエストに割り当てられた一意の識別子。

startTime

このリクエストがキューに配置された日時を示すタイムスタンプ。

endTime

このリクエストがキャンセルされた日時を示すタイムスタンプ。

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

キューの時間制限が切れる前に、ゲームセッションの配置が正常に完了しませんでした。プレイスメントリクエストは、必要に応じて再送信できます。

詳細:

placementId

ゲームセッション配置リクエストに割り当てられた一意の識別子。

startTime

このリクエストがキューに配置された日時を示すタイムスタンプ。

endTime

このリクエストがキャンセルされた日時を示すタイムスタンプ。

{ "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 GameLift Servers はゲームセッションリクエストを満たすことができませんでした。これは通常、予期しない内部エラーが原因で発生します。プレイスメントリクエストは、必要に応じて再送信できます。

詳細:

placementId

ゲームセッション配置リクエストに割り当てられた一意の識別子。

startTime

このリクエストがキューに配置された日時を示すタイムスタンプ。

endTime

このリクエストが失敗した日時を示すタイムスタンプ。

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