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

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

GameLift FleetIQ 集成步骤

此集成计划概述了使您的多人游戏在 Amazon EC2 实例上通过 GameLift FleetIQ 启动和运行的关键步骤。如果您正在寻找可自动完成更多游戏托管过程的 GameLift 托管服务,请参阅 Amazon GameLift 开发人员指南

要开始使用 GameLift FleetIQ,您需要有在本地或 Amazon EC2 环境中运行的工作游戏服务器。游戏服务器可以是管理一个或多个游戏会话、生成子进程或在容器内运行的单个进程。

  1. 获取 AWS 账户

    如果您已有一个或多个 AWS 账户,请选择要用于 GameLift FleetIQ 的 AWS 账户。此账户和用户/用户组必须有权管理您的 Amazon EC2、Auto Scaling 以及用于游戏的其他 AWS 资源。有关更多信息,请参阅 更新 IAM 用户权限

  2. 创建 IAM 角色。

    创建允许 GameLift 游戏服务器组 Amazon EC2 和 Auto Scaling 资源相互通信的角色。有关更多信息,请参阅 针对 GameLift FleetIQ 设置您的 AWS 账户

  3. 获取具有 GameLift FleetIQ 功能的 AWS 开发工具包和 AWS CLI。

  4. 准备游戏服务器以用于 GameLift FleetIQ。

    将 AWS 开发工具包添加到您的游戏服务器项目,并添加代码以使用游戏服务器的当前状态和使用情况更新 GameLift FleetIQ。有关其他指导和示例,请参阅将 GameLift FleetIQ 集成到游戏服务器。GameLift FleetIQ 使用此信息为对战系统提供可行的未占用游戏服务器列表,还避免终止当前在平衡期间托管玩家的实例。

  5. 使用游戏服务器创建 Amazon EC2 Amazon 系统映像 (AMI)。

    使用您的游戏服务器软件以及任何其他运行时资产或配置设置创建 AMI。有关帮助,请参阅 https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/AMIs.html 用户指南 中的 Amazon EC2Amazon 系统映像 (AMI)

  6. 创建 Amazon EC2 启动模板。

    构建 Amazon EC2 启动模板,该模板使用您的自定义 AMI,并为您的托管资源定义网络和安全设置。启动模板必须引用您创建的实例配置文件(请参阅步骤 2),并具有允许您的游戏服务器与 GameLift FleetIQ 通信的权限。您无需在启动模板中包含实例类型,因为这将在稍后完成。有关帮助,请参阅 https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ec2-launch-templates.html 用户指南 中的Amazon EC2创建启动模板

    注意

    在将启动模板与 GameLift FleetIQ 结合使用之前,我们强烈建议您先设置一个 Auto Scaling 组,以验证模板配置和 AMI 是否正确部署。

  7. 设置 GameLift FleetIQ 托管资源。

    在要部署游戏服务器的每个区域中,通过调用 CreateGameServerGroup() 创建一个游戏服务器组。传入启动模板(包含您的自定义 AMI 以及网络和安全设置)、IAM 角色以及游戏可以运行的实例类型列表。此操作会在您的 AWS 账户中设置一个 GameLift FleetIQ 可以修改的 Auto Scaling 组。有关其他指导和示例,请参阅管理 GameLift FleetIQ 游戏服务器组 创建游戏服务器组

  8. 将 GameLift FleetIQ 集成到您的游戏客户端中。

    将 AWS 开发工具包添加到您的游戏客户端、对战构建器或分配游戏服务器容量的其他后端组件中。根据您的游戏类型,对战构建器可能会调用 ListGameServers()ClaimGameServer() 来获取服务器容量并预留可用游戏服务器。有关其他指导和示例,请参阅将 GameLift FleetIQ 集成到游戏客户端

  9. 扩展您的 Auto Scaling 组。

    在您的 Auto Scaling 组中预配置实例时,它们会启动您的游戏服务器。然后,每个游戏服务器都注册到 GameLift FleetIQ 作为可用容量,以便稍后在您的对战构建器中列出或认领。

  10. 测试游戏。

    调用您的对战构建器并调用 ClaimGameServer 以请求服务器容量。将生成的 IP 和端口传回游戏客户端,以便他们可以连接到游戏服务器。