将 FlexMatch 添加到 Amazon GameLift Servers 托管的游戏服务器
当 Amazon GameLift Servers 创建对战时,它会生成一组对战结果数据,这些数据描述了关键的对战细节,包括团队分配。游戏服务器在开始新的游戏会话时,使用这些数据以及其他游戏会话信息来托管对战。
对于使用 Amazon GameLift Servers 托管的游戏服务器
Amazon GameLift Servers 会提示游戏服务器进程启动游戏会话。它会提供一个 GameSession 对象,其中描述了要创建的游戏会话类型,并包含特定于玩家的信息,包括对战数据。
对于托管在其他解决方案上的游戏服务器
成功完成对战请求后,Amazon GameLift Servers 会发出包含匹配结果的事件。您可以将此数据与您自己的托管解决方案一起使用,以启动托管对战的游戏会话。
关于对战构建器数据
对战数据包含以下信息:
-
唯一的对战 ID
-
用于创建对战的对战配置的 ID
-
被选中参加对战的玩家
-
团队名称和团队分配
-
用来组成对战的玩家属性值。属性还可能提供指导如何设置游戏会话的信息。例如,游戏服务器可能会根据玩家属性为玩家分配角色,或者选择所有玩家通用的游戏地图首选项。或者,您的游戏可能会根据玩家的平均技能水平解锁某些功能或关卡。
对战数据不包括玩家延迟。如果您需要当前玩家的延迟数据(如对战回填),建议您获取最新数据。
注意
对战构建器数据指定完整的对战配置 ARN,此 ARN 将标识配置名称、Amazon 账户和区域。对于使用 Amazon GameLift Servers 托管的游戏,如果您使用了对战回填,则只需配置名称即可。配置名称是紧接在“:matchmakingconfiguration/”之后的字符串。在以下示例中,对战配置名称为“MyMatchmakerConfig”。
此 JSON 示例显示了典型的对战构建器数据集。示例中描述了一款双人游戏,玩家根据其技能评级和已达到的最高等级进行匹配。
{ "matchId":"1111aaaa-22bb-33cc-44dd-5555eeee66ff", "matchmakingConfigurationArn":"arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig", "teams":[ {"name":"attacker", "players":[ {"playerId":"4444dddd-55ee-66ff-77aa-8888bbbb99cc", "attributes":{ "skills":{ "attributeType":"STRING_DOUBLE_MAP", "valueAttribute":{"Body":10.0,"Mind":12.0,"Heart":15.0,"Soul":33.0}} } }] },{ "name":"defender", "players":[{ "playerId":"3333cccc-44dd-55ee-66ff-7777aaaa88bb", "attributes":{ "skills":{ "attributeType":"STRING_DOUBLE_MAP", "valueAttribute":{"Body":11.0,"Mind":12.0,"Heart":11.0,"Soul":40.0}} } }] }] }