本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
该集成计划概述了在亚马逊 EC2 实例上启动和运行多人游戏的关键步骤 Amazon GameLift Servers FleetIQ。 如果你正在寻找 Amazon GameLift Servers 托管托管服务,可为您自动执行更多游戏托管流程,请参阅 Amazon GameLift Servers 开发者指南。
要开始使用 Amazon GameLift Servers FleetIQ,你需要有一台能在本地或 Amazon EC2 环境中运行的游戏服务器。游戏服务器可以是管理一个或多个游戏会话、生成子进程或在容器内运行的单个进程。
-
获取AWS 账户
并使用设置用户 Amazon GameLift Servers FleetIQ 访问。 创建一个新的账户 AWS 账户 或选择一个现有账户来使用 Amazon GameLift Servers FleetIQ。 为用户设置管理您的游戏中使用的亚马逊 EC2、Auto Scaling 和其他 AWS 资源的权限。有关详细说明,请参阅设置您的 AWS 账号用于 Amazon GameLift Servers FleetIQ。
-
创建 IAM 角色。
创建允许的角色 Amazon GameLift Servers FleetIQ EC2、Amazon 和 Auto Scaling 资源可以相互通信。有关更多信息,请参阅为跨服务交互创建 IAM 角色。
-
使用 AWS SDK 和 AWS CLI 获取 Amazon GameLift Servers FleetIQ 功能。
-
准备好游戏服务器以供使用 Amazon GameLift Servers FleetIQ.
将 AWS SDK 添加到您的游戏服务器项目并添加要保留的代码 Amazon GameLift Servers FleetIQ 更新了游戏服务器的当前状态和使用情况。有关其他指导和示例,请参阅集成 Amazon GameLift Servers FleetIQ 进入游戏服务器。Amazon GameLift Servers FleetIQ 使用此信息为您的配对系统提供可行、未占用的游戏服务器列表,还可以避免在平衡期间终止当前托管玩家的实例。
-
使用您的游戏服务器创建 EC2 亚马逊系统映像 (AMI)。
使用您的游戏服务器软件以及任何其他运行时资产或配置设置创建 AMI。如需帮助,请参阅亚马逊 EC2 用户指南中的亚马逊系统映像 (AMI)。
-
创建 Amazon EC2 启动模板。
构建 Amazon EC2 启动模板,该模板使用您的自定义 AMI,并为您的托管资源定义网络和安全设置。启动模板必须引用您创建的实例配置文件(参见步骤 2),其权限允许您的游戏服务器与之通信 Amazon GameLift Servers FleetIQ。 您无需在启动模板中包含实例类型,因为这将在稍后完成。如需帮助,请参阅 Amazon EC2 用户指南中的创建启动模板。
注意
在使用启动模板之前 Amazon GameLift Servers FleetIQ,我们强烈建议您先设置一个 Auto Scaling 组,以验证模板配置和 AMI 的部署是否正确。
-
设置 Amazon GameLift Servers FleetIQ 托管资源。
在要部署游戏服务器的每个区域中,通过调用 CreateGameServerGroup() 创建游戏服务器组。传入启动模板(包含您的自定义 AMI 以及网络和安全设置)、IAM 角色以及游戏可以运行的实例类型列表。此操作会在您的 AWS 账户中设置一个 Auto Scaling 群组 Amazon GameLift Servers FleetIQ 可以修改。有关其他指导和示例,请参阅管理 Amazon GameLift Servers FleetIQ 游戏服务器组。
-
整合 Amazon GameLift Servers FleetIQ 进入你的游戏客户端。
将 AWS SDK 添加到您的游戏客户端、媒人或其他分配游戏服务器容量的后端组件中。根据您的游戏类型,您的媒人可能会调用 ListGameServers() 或 ClaimGameServer() 来获取服务器容量并保留可用的游戏服务器。有关其他指导和示例,请参阅集成 Amazon GameLift Servers FleetIQ 进入游戏客户端。
-
扩展您的自动扩缩组。
在您的自动扩缩组中预配置实例时,它们会启动您的游戏服务器。然后,每台游戏服务器都注册到 Amazon GameLift Servers FleetIQ 作为可用容量,供您的媒人稍后列出或申领。
-
测试游戏。
调用您的对战构建器并调用
ClaimGameServer
以请求服务器容量。将生成的 IP 和端口传回游戏客户端,以便他们可以连接到游戏服务器。