本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GameLift FleetIQ 集成步骤
此集成计划概述了使您的多人游戏在 Amazon EC2 实例上通过 GameLift FleetIQ 启动和运行的关键步骤。如果您正在寻找可自动完成更多游戏托管过程的 GameLift 托管服务,请参阅 Amazon GameLift 开发人员指南。
要开始使用 GameLift FleetIQ,您需要有在本地或 Amazon EC2 环境中运行的工作游戏服务器。游戏服务器可以是管理一个或多个游戏会话、生成子进程或在容器内运行的单个进程。
-
获取 AWS 账户
。 如果您已有一个或多个 AWS 账户,请选择要用于 GameLift FleetIQ 的 AWS 账户。此账户和用户/用户组必须有权管理您的 Amazon EC2、Auto Scaling 以及用于游戏的其他 AWS 资源。有关更多信息,请参阅 更新 IAM 用户权限。
-
创建 IAM 角色。
创建允许 GameLift 游戏服务器组 Amazon EC2 和 Auto Scaling 资源相互通信的角色。有关更多信息,请参阅 针对 GameLift FleetIQ 设置您的 AWS 账户。
-
获取具有 GameLift FleetIQ 功能的 AWS 开发工具包和 AWS CLI。
-
准备游戏服务器以用于 GameLift FleetIQ。
将 AWS 开发工具包添加到您的游戏服务器项目,并添加代码以使用游戏服务器的当前状态和使用情况更新 GameLift FleetIQ。有关其他指导和示例,请参阅将 GameLift FleetIQ 集成到游戏服务器。GameLift FleetIQ 使用此信息为对战系统提供可行的未占用游戏服务器列表,还避免终止当前在平衡期间托管玩家的实例。
-
使用游戏服务器创建 Amazon EC2 Amazon 系统映像 (AMI)。
使用您的游戏服务器软件以及任何其他运行时资产或配置设置创建 AMI。有关帮助,请参阅 https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/AMIs.html 用户指南 中的 Amazon EC2Amazon 系统映像 (AMI)。
-
创建 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 是否正确部署。
-
设置 GameLift FleetIQ 托管资源。
在要部署游戏服务器的每个区域中,通过调用 CreateGameServerGroup() 创建一个游戏服务器组。传入启动模板(包含您的自定义 AMI 以及网络和安全设置)、IAM 角色以及游戏可以运行的实例类型列表。此操作会在您的 AWS 账户中设置一个 GameLift FleetIQ 可以修改的 Auto Scaling 组。有关其他指导和示例,请参阅管理 GameLift FleetIQ 游戏服务器组 创建游戏服务器组。
-
将 GameLift FleetIQ 集成到您的游戏客户端中。
将 AWS 开发工具包添加到您的游戏客户端、对战构建器或分配游戏服务器容量的其他后端组件中。根据您的游戏类型,对战构建器可能会调用 ListGameServers() 或 ClaimGameServer() 来获取服务器容量并预留可用游戏服务器。有关其他指导和示例,请参阅将 GameLift FleetIQ 集成到游戏客户端。
-
扩展您的 Auto Scaling 组。
在您的 Auto Scaling 组中预配置实例时,它们会启动您的游戏服务器。然后,每个游戏服务器都注册到 GameLift FleetIQ 作为可用容量,以便稍后在您的对战构建器中列出或认领。
-
测试游戏。
调用您的对战构建器并调用
ClaimGameServer
以请求服务器容量。将生成的 IP 和端口传回游戏客户端,以便他们可以连接到游戏服务器。