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

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

游戏会话放置事件

A GameLift mazon 会在处理每个游戏会话放置请求时发出事件。您可以将这些事件发布到 Amazon SNS 主题,如请参阅设置游戏会话置放通知。中所述。这些事件还会以近乎实时的方式发送到 Amazon CloudWatch Events,并尽力而为。

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

放置事件语法

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

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

版本

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

id

事件的唯一标识符。

detail-type

此值始终为 GameLift Queue Placement Event

此值始终为 aws.gamelift

account

用于管理 Amazon 的 Amazon 账户 GameLift。

time

事件时间戳

region

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

资源

正在处理放置请求的游戏会话队列的 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

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