Amazon GameLift
开发人员指南 (版本 )
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

设置队组

本部分中的主题提供帮助设计和构建一个非常适合您的游戏的计算资源队组。获取有关选择正确托管资源、设计要如何使用这些资源(通过创建运行时配置)、请求新建队组和队组更新以及处理队组创建问题的帮助。

启动并运行队组后,您可以将队组添加到游戏会话队列、创建队组别名管理队组容量

调试队组创建问题

本主题提供有关队组创建过程以及如何诊断和解决阻止队组激活的常见问题指南。

队组创建的工作原理

创建新队组时,Amazon GameLift 服务执行一系列任务来根据队组的配置准备单个实例。随着队组创建的每个阶段的完成,发出一系列队组以及队组当前状态的事件。您可以使用 Amazon GameLift 控制台跟踪所有事件,包括用于队组创建的事件(请参阅 Fleet (队组) 详细信息页面上的 Events (事件) 选项卡。

队组创建期间的问题将导致队组状态变为错误状态,包含有意义的错误消息。队组创建失败所在的阶段也可以是一个很好的指标。队组创建阶段有:

  • 新建 – 创建队组记录。为初始实例分配资源。

  • 下载 – 将游戏生成包文件下载到实例并提取。

  • 验证 – 验证下载的游戏生成包文件。

  • 生成 – 使用安装脚本(如果可用)将游戏服务器生成包安装到实例上。

  • 激活 – 根据队组运行时配置,启动服务器进程。必须至少有一个进程与 Amazon GameLift 通信以报告它准备好托管游戏会话。

只要一个服务器进程通知 Amazon GameLift 其已准备好,队组状态就会转至活动

常见队组创建问题

下载和验证

在此阶段,如果提取生成包文件存在问题,安装脚本将不会运行,或者如果运行时配置中指定的可执行文件未包含在生成包文件中,队组创建可能失败。Amazon GameLift 提供与每个问题相关的日志。

如果日志未显示问题,则可能问题是由内部服务错误造成的。在这种情况下,请再次尝试创建队组。如果问题仍然存在,请考虑重新上传游戏生成包(如果文件已损坏)。您还可以联系 Amazon GameLift 支持或在论坛上发布问题。

构建

导致生成阶段故障的问题几乎肯定是由于游戏生成包文件和/或安装脚本的问题。验证上传到 Amazon GameLift 时,游戏生成包文件是否可以安装在运行适当操作系统的机器上。确保使用干净的操作系统安装,而不是现有的开发环境。

激活

激活阶段出现最常见的队组创建问题。此阶段正在测试大量元素,包括游戏服务器的可行性、运行时配置设置以及游戏服务器使用服务器开发工具包与 Amazon GameLift 服务进行交互的能力。

这些场景可帮助诊断和解决激活问题:

  • 服务器进程无法启动。 首先检查您是否在队组的运行时配置中正确设置了启动路径和可选启动参数。您可以使用 Amazon GameLift 控制台(请参阅 Fleet (队组) 详细信息页面 Capacity allocation (容量分配) 选项卡)或者调用 AWS CLI 命令 describe-runtime-configuration 来查看队组的当前运行时配置。如果运行时配置正确,请检查游戏生成包文件和/或安装脚本是否存在问题。

  • 服务器进程启动但机群无法激活。 如果服务器进程启动并成功运行,但队组不变为活动状态,可能的原因是服务器进程无法通知 Amazon GameLift 已准备好托管游戏会话。检查您的游戏服务器是否正确调用了服务器 API 操作 ProcessReady() (请参阅 准备服务器进程)。

对于其他故障排除,您可以远程访问队组实例。请参阅远程访问队组实例

服务器进程启动但快速失败或者报告运行状况不佳。 不同于游戏生成包中的问题,同时在实例上尝试运行了过多服务器进程时可能会发生这种情况。并发进程的最佳数目取决于实例类型和您的游戏服务器的资源要求。请尝试减少并发进程数量,该值在队组的运行时配置中设置,以查看性能是否有所改进。您可以使用 Amazon GameLift 控制台(编辑队组的容量分配设置)或者调用 AWS CLI 命令 update-runtime-configuration 来更改队组的运行时配置。

本页内容: