游戏会话放置活动 - 亚马逊 GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

游戏会话放置活动

在处理每个游戏会话放置请求时,亚马逊都会为GameLift其发出事件。您可以将这些事件发布到 Amazon SNS 主题,如中所述为游戏会话放置设置事件通知。这些事件还会近乎实时地在尽最大努力的基础上发布到亚马逊CloudWatch活动中。

本主题描述了游戏会话放置事件的结构,并提供了每种事件类型的示例。有关游戏会话放置请求状态的更多信息,请参阅 GameSessionPlacementAmazon GameLift API 参考

投放事件语法

事件表示为 JSON 对象。事件结构符合CloudWatch事件模式,具有相似的顶级字段和特定服务的详细信息。

顶级字段包括以下内容(有关更多详细信息,请参阅事件模式):

version

此字段始终设置为 0(零)。

id

事件的唯一跟踪标识符。

detail-type

价值永远是GameLift Queue Placement Event

价值永远是aws.gamelift

账户

用于管理亚马逊的Amazon账户GameLift。

time

事件时间戳。

区域

处理放置请求的Amazon区域。这是正在使用的游戏会话队列所在的区域。

resources

正在处理放置请求的游戏会话队列的 ARN 值。

PlacementFulfilled

放置请求已成功完成。新的游戏会话已经开始,并且已经为游戏会话放置请求中列出的每位玩家创建了新的玩家会话。玩家连接信息可用。

详细语法:

placementID

分配给游戏会话放置请求的唯一标识符。

port

新游戏会话的端口号。

gameSessionArn

新游戏会话的 ARN 标识符。

ipAddress

游戏会话的 IP 地址。

dnsName

分配给正在运行新游戏会话的实例的 DNS 标识符。根据运行游戏会话的实例是否启用 TLS,值格式会有所不同。在启用了 TLS 的队列上连接到游戏会话时,玩家必须使用 DNS 名称,而不是 IP 地址。

支持 TLS 的舰队:。<unique identifier>.<region identifier>.amazongamelift.com

未启用 TLS 的舰队:。ec2-<unique identifier>.compute.amazonaws.com

startTime

表示此请求何时进入队列的时间戳。

endTime

表示何时满足此请求的时间戳。

gameSessionRegion

Amazon主办游戏会话的区域。这些信息也包含在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

亚马逊GameLift无法完成游戏会话请求。这通常是由意外的内部错误引起的。可以根据需要重新提交放置申请。

细节:

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