

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

# 调试 Amazon GameLift Servers 队组问题
<a name="fleets-creating-debug"></a>

本主题提供有关如何解决Amazon GameLift Servers托管车 EC2 队问题的指导。

## 实例集创建问题
<a name="fleets-creating-debug-creation"></a>

当您创建托管 EC2 队列时，该Amazon GameLift Servers服务会启动创建队列的工作流程，在安装了游戏服务器版本的情况下部署 EC2 实例，并在每个实例上启动游戏服务器进程。有关详细说明，请参阅。实例集在进入**活动**状态之前无法托管游戏会话和玩家。

您可以通过确定出现问题的实例集创建阶段并查看实例集创建事件和日志，来调试阻止实例集激活的问题。如果日志未提供有用信息，则问题可能是由内部服务错误造成的。在这种情况下，请再次尝试创建实例集。如果问题仍然存在，请尝试重新上传游戏生成包，以解决可能的文件损坏问题。您还可以联系 Amazon GameLift Servers 支持或在论坛上发布问题。

**下载和验证生成包**  
在此阶段，Amazon GameLift Servers 会获取您上传的游戏服务器生成包，提取文件并运行所有安装脚本。如果实例集创建在这些阶段失败，请查看实例集事件和日志以查明问题。可能的原因包括：  
+ Amazon GameLift Servers 无法获取压缩的生成包文件（事件 `FLEET_BINARY_DOWNLOAD_FAILED`）。验证版本的存储位置是否可以访问，是否正在创建与版本相同的 AWS 区域 队列，以及是否Amazon GameLift Servers具有访问该队列的正确权限。
+ Amazon GameLift Servers 无法提取生成包文件（事件 `FLEET_CREATION_EXTRACTING_BUILD`）。
+ 生成包文件中的安装脚本未能成功完成（事件 `FLEET_CREATION_FAILED_INSTALLER`）。

**构建实例集资源**  
此阶段的问题通常涉及实例集资源的分配和部署。可能的原因包括：  
+ 请求的实例类型不可用。
+ 请求的实例集类型（竞价型或按需型）不可用。

**激活游戏服务器进程**  
在此阶段，Amazon GameLift Servers 会尝试执行大量任务和测试关键元素，包括游戏服务器的可行性、运行时配置设置以及游戏服务器使用服务器 SDK 与 Amazon GameLift Servers 服务连接的能力。  
在此阶段，您可以远程访问实例集实例以进一步调查问题。请参阅[Connect 连接到舰队实例](fleets-remote-access.md)。
可能的问题包括：  
+ 服务器进程未开始运行。这表明实例集的运行时配置设置有问题（事件 `FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND` 或 `FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE`）。请验证您是否正确设置了启动路径和可选启动参数。
+ 服务器进程开始运行，但实例集无法激活。如果服务器进程启动并成功运行，但实例集未变为**活动**状态，可能的原因是服务器进程无法与 Amazon GameLift Servers 服务通信。请验证您的游戏服务器是否正在进行以下正确的服务器 SDK 调用（请参阅[初始化服务器进程](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize)）：
  + 服务器进程无法初始化（事件 `SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT`）。服务器进程调用 `InitSdk()` 失败。
  + 服务器进程在准备好托管游戏会话时无法通知 Amazon GameLift Servers（事件 `SERVER_PROCESS_PROCESS_READY_TIMEOUT`）。服务器进程已初始化，但没有及时调用 `ProcessReady()`。
+ VPC 对等连接请求失败。对于使用 VPC 对等连接创建的实例集（请参阅[使用新实例集设置 VPC 对等连接](vpc-peering.md#fleets-creating-aws-cli-vpc)），VPC 对等连接在此**激活**阶段中完成。如果 VPC 对等连接由于任何原因失败，新实例集将无法转入**激活**状态。您可以通过调[describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-connections.html)用来跟踪对等互连请求的成功或失败。请务必检查是否存在有效的 VPC 对等授权（[describe-vpc-peering-authorizations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-authorizations.html)，因为授权仅在 24 小时内有效。

## 服务器进程问题
<a name="fleets-creating-debug-processes"></a>

**服务器进程启动但快速失败或者报告运行状况不佳。**  
不同于游戏构建中的问题，同时在实例上尝试运行了过多服务器进程时可能会发生这种情况。并发进程的最佳数目取决于实例类型和您的游戏服务器的资源要求。请尝试减少并发进程数量，该值在实例集的运行时配置中设置，以查看性能是否有所改进。您可以使用Amazon GameLift Servers控制台（编辑队列的容量分配设置）或通过调用 AWS CLI 命令来更改队列的运行时配置[update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)。

## 实例集删除问题
<a name="fleets-creating-debug-deletion"></a>

**由于最大实例计数而无法终止实例集。**  
错误消息指示正在删除的实例集仍有活动的实例，这种情况是不允许的。您必须首先将实例集缩减到零个活动实例。要执行此操作，可以手动将实例集所需的实例计数设置为“0”，然后等待缩减生效。请务必关闭自动扩缩，否则会抵消手动设置。

**VPC 操作未获授权。**  
此问题仅适用于您专门为其创建 VPC 对等连接的队列（请参阅。[为 Amazon GameLift Servers 设置 VPC 对等连接](vpc-peering.md) 之所以出现这种情况，是因为删除队列的过程还包括删除队列的 VPC 和所有 VPC 对等连接。 您必须首先通过调用 Amazon GameLift Servers [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) 的服务 API 或使用 AWS CLI 命令来获得授权`create-vpc-peering-authorization`。获得授权之后，您就可以删除该实例集。