将 GameLift FFleetIQ 集成到游戏客户端 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

将 GameLift FFleetIQ 集成到游戏客户端

本主题介绍了准备游戏客户端或匹配服务以便与 GameLift FFleetIQ 进行通信以获取游戏服务器来托管游戏会话所需的任务。

创建一种方法,允许游戏客户端或对战构建器为玩家请求游戏服务器资源。为此,您可以在几种方法中选择:

  • 让 FFleetIQ 选择一个可用的 GameLift 服务器。此选项利用 GameLift FFleetIQ 优化功能来使用低成本竞价型实例并实现自动扩展。

  • 请求所有可用的游戏服务器并选择一个以使用(通常称为“列出并挑选”)。

让 GameLift FFleetIQ 选择一个游戏服务器

要让 GameLift FFleetIQ 选择一个可用的游戏服务器,请调用ClaimGameServer ()而不指定游戏服务器 ID。在这种情况下,GameLift FFleetIQ 确实运用其逻辑在实例上查找可用于游戏托管并且针对 Automatic Scaling 进行了优化的游戏服务器。

Amazon gamelift claim-game-server \ --game-server-group-name MyLiveGroup

为了响应索赔请求,GameLift FFleetIQ 会识别GameServer资源、连接信息和游戏数据,客户端可使用这些数据来连接到游戏服务器。游戏服务器的认领状态设置为 CLAIMED 60 秒。玩家连接或游戏开始后,您的游戏服务器或客户端服务都需要在 GameLift FFleetIQ 上更新游戏服务器的状态。这确保 GameLift FleetIQ 不在后续对游戏服务器容量请求的响应中提供此游戏服务器。通过调用来更新游戏服务器状态UpdateGameServer ()

Amazon gamelift update-game-server \ --game-server-group-name MyLiveGroup \ --game-server-id UniqueId-1234 \ --health-check HEALTHY \ --utilization-status UTILIZED

选择您自己的游戏服务器

使用 “列出并挑选” 方法,您的游戏客户端或对战构建器调用ListGameServers ()。在选择游戏服务器时,您可能希望使用游戏服务器数据来提供玩家或对战构建器可以使用的其他信息。要控制返回结果的方式,您可以请求分页结果,并按注册日期对游戏服务器进行排序。以下请求返回指定游戏服务器组中的 20 个活动和可用游戏服务器,这些服务器按注册时间排序,并且首先列出最新游戏服务器。

Amazon gamelift list-game-servers \ --game-server-group-name MyLiveGroup \ --limit 20 \ --sort-order DESCENDING

根据可用游戏服务器列表,客户端或匹配服务选择游戏服务器并通过调用ClaimGameServer ()与特定的游戏服务器 ID. 在这种情况下,GameLift FFleetIQ 不执行任何其实例类型优化逻辑,如GameLift FleETIQ 逻辑

Amazon gamelift claim-game-server \ --game-server-group-name MyLiveGroup \ --game-server-id UniqueId-1234