

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

# 将 Amazon GameLift Servers FleetIQ 集成到游戏服务器
<a name="gsg-integrate-gameserver"></a>

本主题介绍准备游戏服务器项目以与 Amazon GameLift Servers FleetIQ 通信所需的任务。有关其他指导，请参阅[Amazon GameLift Servers FleetIQ 最佳实践](gsg-best-practices.md)。



# 注册游戏服务器
<a name="gsg-integrate-gameserver-register"></a>

当游戏服务器进程启动并准备好托管直播游戏时，它必须通过调用 [RegisterGameServer()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_RegisterGameServer.html) 向 Amazon GameLift Servers FleetIQ 注册。注册后，Amazon GameLift Servers FleetIQ 可以在对战系统或其他客户端服务请求服务器容量信息或申领游戏服务器时，做出相应响应。注册时，游戏服务器可以向 Amazon GameLift Servers 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\"}"
```

# 更新游戏服务器状态
<a name="gsg-integrate-gameserver-update"></a>

游戏服务器注册后，应定期报告运行状况和利用率状态，以便在 Amazon GameLift Servers FleetIQ 上保持服务器容量状态同步。您可以通过调用 [UpdateGameServer()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameServer.html) 报告运行状况和利用状态。在下面的示例中，游戏服务器报告正常运行，并且未由玩家或游戏占用。

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

**运行状况**

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

**利用率状态**

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

开始游戏会话时，客户端或对战服务会话会声明可用的游戏服务器（通过调用 [ClaimGameServer()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_ClaimGameServer.html)），提示玩家连接到游戏服务器，然后触发游戏服务器开始游戏。[将 Amazon GameLift Servers FleetIQ 集成到游戏客户端](gsg-integrate-gameclient.md) 中介绍了此过程。游戏服务器“声明”的有效期为 60 秒，并且游戏服务器必须能够在此窗口内更新利用率状态。如果未更新利用率状态，Amazon GameLift Servers FleetIQ 会删除该声明，假设游戏服务器可用，并可能保留游戏服务器以供其他客户端声明请求。

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

# 注销游戏服务器
<a name="gsg-integrate-gameserver-deregister"></a>

游戏结束后，游戏服务器必须使用 [DeregisterGameServer()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeregisterGameServer.html) 从 Amazon GameLift Servers FleetIQ 注销。

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