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

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

将 Amazon GameLift FleetIQ 集成到游戏服务器中

本主题介绍准备游戏服务器项目以与 Amazon GameLift FleetIQ 通信所需的任务。有关其他指导,请参阅Amazon GameLift FleetIQ 最佳实操

注册游戏服务器

当游戏服务器进程启动并准备好托管直播游戏时,它必须通过调用 RegisterGameServer() 向 Amazon GameLift FleetIQ 注册。注册后,Amazon GameLift FleetIQ 可以在对战系统或其他客户服务请求服务器容量信息或申领游戏服务器时对对战系统或其他客户端服务做出响应。注册时,游戏服务器可以向 Amazon GameLift FleetIQ 提供相关的游戏服务器数据和连接信息,包括它用于入站客户端连接的端口和 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\"}"

更新游戏服务器状态

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

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

运行状况

如果您的游戏服务器具有跟踪运行状况状态的机制,则可以使用此机制来触发游戏服务器对 Amazon GameLift FleetIQ 的运行状况更新。

利用率状态

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

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

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

注销游戏服务器

游戏结束后,游戏服务器必须使用 DeregisterGameServer() 从 Amazon GameLift FleetIQ 注销。

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