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

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

游戏会话放置事件

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

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

放置事件语法

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

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

version

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

id

事件的唯一标识符。

detail-type

此值始终为 GameLift Queue Placement Event

source

此值始终为 aws.gamelift

账户

用于管理 Amazon GameLift 的Amazon账户。

time

事件时间戳

区域

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

资源

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

已完成展示位置

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

详细语法:

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

表示此请求何时完成的时间戳。

游戏会话区域

Amazon举办游戏会话的区域。此信息也包含在 GameSessionArn 值中。

PlacedPlayer 会话

为游戏会话放置请求中的每位玩家创建的玩家会话集合。

示例

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

放置已取消

拨打 GameLift 服务 stopGamessionPlacement 后,放置请求被取消。

详细信息:

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

放置超时

在队列的时间限制到期之前,游戏会话放置未成功完成。根据需要,可以重新提交放置请求。

详细信息:

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

放置失败

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