

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

# 将 Amazon GameLift Servers FleetIQ 集成到游戏客户端
<a name="gsg-integrate-gameclient"></a>

本主题描述了为了让游戏客户端或对战服务能够与 Amazon GameLift Servers FleetIQ 通信，以获取用于托管游戏会话的游戏服务器，所需执行的相关任务。

创建一种方法，允许游戏客户端或对战构建器为玩家请求游戏服务器资源。为此，您可以在几种方法中选择：
+ 让 Amazon GameLift Servers FleetIQ 选择一个可用的游戏服务器。此选项利用 Amazon GameLift Servers FleetIQ 优化，使用低成本竞价型实例并进行自动扩缩。
+ 请求所有可用的游戏服务器并选择一个以使用（通常称为“列出并挑选”）。

**Topics**
+ [让 Amazon GameLift Servers FleetIQ 选择游戏服务器](gsg-integrate-gameclient-automatic.md)
+ [选择您自己的游戏服务器](gsg-integrate-gameclient-optimized.md)

# 让 Amazon GameLift Servers FleetIQ 选择游戏服务器
<a name="gsg-integrate-gameclient-automatic"></a>

要Amazon GameLift ServersFleetIQ选择可用的游戏服务器，请在不指定游戏服务器 ID 的情况下调用 [ClaimGameServer()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_ClaimGameServer.html)。在这种情况下，Amazon GameLift Servers FleetIQ 确实运用其逻辑在实例上查找可用于游戏托管并且针对自动扩缩进行了优化的游戏服务器。

```
AWS gamelift claim-game-server \
    --game-server-group-name MyLiveGroup
```

为响应认领请求，Amazon GameLift Servers FleetIQ 标识 `GameServer` 资源、连接信息和游戏数据，客户端可使用这些数据来连接到游戏服务器。游戏服务器的认领状态设置为 CLAIMED 60 秒。玩家连接或游戏开始后，您的游戏服务器或客户端服务需要在 Amazon GameLift Servers FleetIQ 上更新游戏服务器的状态。这可以确保 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 UTILIZED
```

# 选择您自己的游戏服务器
<a name="gsg-integrate-gameclient-optimized"></a>

使用 “列出并选择” 方法，您的游戏客户端或媒人通过调用 [ListGameServers()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_ListGameServers.html) 来请求可用游戏服务器的列表。在选择游戏服务器时，您可能希望使用游戏服务器数据来提供玩家或对战构建器可以使用的其他信息。要控制结果的返回方式，您可以请求分页结果并按注册日期对游戏服务器进行排序。以下请求返回指定游戏服务器组中的 20 个处于活动状态且可用的游戏服务器，按注册时间排序，最新的游戏服务器排在最前面。

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

根据可用游戏服务器的列表，客户端或配对服务选择一个游戏服务器，然后使用特定的游戏服务器 ID 调用 [ClaimGameServer()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_ClaimGameServer.html) 来声明该服务器。在这种情况下，Amazon GameLift Servers FleetIQ 不执行任何其实例类型优化逻辑，如[Amazon GameLift Servers FleetIQ 逻辑](gsg-howitworks-logic.md)所述。

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