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

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

将 GameLift FleetIQ 集成到游戏服务器

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

注册游戏服务器

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

aws 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 FleetIQ 上保持服务器容量的同步状态。通过调用 UpdateGameServer() 报告运行状况和使用率状态。在以下示例中,游戏服务器报告正常运行,并且当前未被托管玩家或游戏占用。

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

运行状况

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

使用率状态

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

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

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

取消注册游戏服务器

当游戏结束时,游戏服务器必须使用 GameLift FleetIQ()DeregisterGameServer 从 取消注册。

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