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

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

将 GameLift FFleetIQ 集成到游戏服务器中

本主题介绍了准备游戏服务器项目以与 GameLift FFleetIQ 进行通信所需的任务。请参阅GameLift FleETIQ 最佳实践了解更多指南。

注册游戏服务器

当 GameLift 服务器进程启动并准备好托管实时游戏时,它必须通过 FleetIQ 用RegisterGameServer ()。通过注册,GameLift FFleetIQ 可以在请求服务器容量信息或要求游戏服务器时响应匹配系统或其他客户端服务。注册时,游戏服务器可以向 GameLift FFleetIQ 提供相关的游戏服务器数据和连接信息,包括它用于入站客户端连接的端口和 IP 地址。

Amazon gamelift register-game-server \ --game-server-id UniqueId-1234 \ --game-server-group-name MyLiveGroup \ --instance-id i-1234567890 \ --connection-info "1.2.3.4:123" \ --game-server-data "{\"key\": \"value\"}"

更新游戏服务器状态

注册游戏服务器后,它应定期报告运行状况和利用率状态,以便在 GameLift FFleetIQ 上保持服务器容量状态同步。通过调用UpdateGameServer ()。在下面的示例中,游戏服务器报告正常运行,并且未由托管玩家或游戏占用。

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

运行状况

如果您的游戏服务器具有跟踪运行状况的机制,您可以使用此机制触发游戏服务器运行状况更新到 GameLift FFleetIQ。

利用状态

报告游戏服务器利用状态可让 GameLift FFleetIQ 了解哪些游戏服务器当前是理想的,可用于新游戏会话。您的游戏服务器必须具有触发 GameLift FFleetIQ 利用率状态更新的机制。例如,您可能会在玩家连接到游戏服务器或游戏会话开始时触发更新。

启动游戏会话时,客户端或匹配服务声明可用的游戏服务器(通过调用ClaimGameServer ()),提示玩家连接到游戏服务器,并触发游戏服务器开始游戏。中介绍了此过程将 GameLift FFleetIQ 集成到游戏客户端。游戏服务器 “声明” 的有效期为 60 秒,游戏服务器必须能够通过此窗口更新利用率状态。如果未更新利用率状态,GameLift FFleetIQ 将删除声明,假定游戏服务器可用,并可能会为其他客户端声明请求保留游戏服务器。

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

取消注册游戏服务器

GameLift 结束后,游戏服务器必须使用DeregisterGameServer ()

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