问:什么是 Amazon GameLift?
Amazon GameLift 是一项托管服务,用于部署、运行和扩展基于会话的多玩家游戏的专用游戏服务器。只需要几分钟,您就可以在云中部署第一个游戏服务器,从而在前期软件开发方面节省长达数千小时的工程时间,同时降低技术风险,这些风险经常迫使开发人员从设计中移除多玩家功能。Amazon GameLift 基于 AWS 经过验证的计算环境而构建,让您能够对高性能游戏服务器进行扩展或缩减,以满足玩家需求。您只需要为使用的容量付费,因此不论您是在研究新的游戏创意还是运行拥有数百万玩家的游戏,都可以开始使用这一服务。

问:推荐用 Amazon GameLift 部署哪些类型的游戏?
Amazon GameLift 最适合游戏会话会在指定时间段内开始和结束的多玩家游戏。通常情况下,这些都是第一人称射击、MOBA、格斗、赛车或体育运动等类型的多人游戏。

问:Amazon GameLift 适用于第一人称射击等不允许延迟的游戏吗?Amazon GameLift 是否会增长游戏的延迟时间?
Amazon GameLift 专为不允许延迟的游戏设计。Amazon GameLift 不会引起游戏过程中的额外延迟。

加入游戏会话后,您的游戏客户端可与 Amazon GameLift 服务进行通信,以预留玩家位置并接收连接详情。此步骤最多可能需要几秒钟就可完成。不过,在玩家连接至游戏服务器后,玩家与服务器之间的所有通信将在您的游戏客户端和游戏服务器之间直接进行。游戏过程中的延迟取决于玩家的 Internet 连接以及他们距游戏服务器的物理距离。您可以定位到距玩家最近的地区中的游戏服务器来进一步降低延迟。Amazon GameLift 支持北美、欧洲、亚洲、南美和澳大利亚的多个地区,因此,您可以选择最适合为玩家部署游戏服务器的地区。

问:怎样才能提出建议或反馈?
请访问我们的 GameDev 论坛,或联系我们


问:Amazon GameLift 的收费如何?
您只需为您的游戏实际使用的计算资源和带宽付费,无需签订月度合同和年度合同。请参阅定价页面了解更多信息。

问:Amazon GameLift 游戏的账单周期怎么计算?
当您分配 Amazon GameLift 容量,且 Amazon GameLift 第一次在每个实例上启动您游戏的服务器二进制文件时,我们便开始计费。在您停止实例后,我们便会停止计费。对于按实例小时计费的 Windows 实例,运行未满一小时的实例按一小时计费。对于按实例秒计费的 Linux 实例,每个实例的最短收费时长为 1 分钟。

问:使用 FlexMatch 是否会产生其他费用?
不会,不直接产生费用。但请注意,通过 FlexMatch 取得的成功匹配将自动创建新的游戏会话。创建新游戏会话时可能会触发其他服务器实例,您可能需要按标准 Amazon GameLift 实例价格为这些实例付费,具体取决于您管理游戏服务器容量的方式。


问:我该如何开始使用 Amazon GameLift?
首先,使用 AWS 开发工具包Amazon GameLift Server SDK 将 Amazon GameLift 集成到您的游戏客户端和服务器。然后,在 AWS 账户中将游戏服务器上传到 Amazon GameLift,并使用 Amazon GameLift 控制台设置计算资源队列和部署游戏。在玩家成功连接后,您可以通过 Amazon GameLift 控制台监控队列。此外,您还可以使用 AWS 开发工具包将 Amazon GameLift 与您的自定义游戏服务 (如身份验证或匹配服务) 集成。

问:是否有可以用来测试 Amazon GameLift 的样品游戏?
您可以使用我们的样品游戏快速测试 Amazon GameLift。您可以下载 Amazon Lumberyard 以获取名为“MultiplayerSample”的示例多玩家项目,从而对 Amazon GameLift 进行评估和测试。

问:Amazon GameLift 是否能与其他任意游戏引擎配合使用?
可以。Amazon GameLift 支持 Amazon Lumberyard、Unreal Engine、Unity、自定义 C# 和 C++ 游戏引擎。有关引擎集成的更多信息,请参阅 Amazon GameLift 开发人员指南

问:Amazon GameLift 支持哪些服务器操作系统和编程语言?
Amazon GameLift Server SDK 包括其 C++ 和 C# 版本及 Unreal Engine 插件,可加快与 Unreal Engine 游戏服务器的集成。Amazon GameLift 支持在 Windows Server 2012 R2 或 Amazon Linux 上运行的游戏服务器。

问:Amazon GameLift 支持哪些客户端设备和编程语言?
Amazon GameLift 支持专为主要游戏平台 (包括 Android、FireOS、iOS、Mac、PC、PlayStation 4 及 Xbox One) 构建的游戏。游戏客户端和游戏服务 (如匹配或身份服务) 可以使用 AWS 开发工具包中的 Amazon GameLift 功能与 Amazon GameLift 服务通信并将玩家接入游戏。我们提供适用于 C++、Java、.NET(C#)、Go、Python、Ruby、PHP、JavaScript 和其他主要语言的 AWS 开发工具包。

问:是否必须先验证玩家身份,再允许其访问 Amazon GameLift 游戏服务器?
不,您不一定要验证玩家身份。不过,您必须为每位用户提供唯一的、非个人的可识别玩家 ID。详细了解 Amazon GameLift 开发人员指南中的“集成游戏客户端”部分。您的游戏客户端必须使用 AWS 凭证对您在 Amazon GameLift 上的服务器进行身份验证。要详细了解如何设置和配置 AWS 凭证,请访问 Amazon GameLift 开发人员指南

问:是否可以将 Amazon GameLift 与 Xbox Live、Steam 和 PlayStation Network 等平台服务配合使用?
可以。某些服务要求从游戏客户端到游戏服务器的通信处于加密状态。为帮助建立此安全通道,Amazon GameLift 提供了一个可直接将加密密钥等信息传送至游戏服务器的机制。有关更多信息,请参阅 Amazon GameLift 开发人员指南

问:Amazon GameLift 为游戏服务器提供哪些调试工具?

您可以跟踪游戏服务器的性能和运行状况指标,以发现和调查问题。通过从 Amazon GameLift 控制台中的“事件”选项卡中下载队列创建日志,您可以在设置提取、安装和运行时验证的过程中对队列进行调试。您还可以远程访问队列中的各个实例,以检查状态、调试问题或连接调试工具。要远程访问实例,您可以使用适用于 Windows 的 Windows 远程桌面或适用于 Linux 的 SSH。您还可以使用 Amazon GameLift Local 模拟 Amazon GameLift API 子集,以便您可以在开发计算机上对游戏服务器代码进行本地调试。请访问我们的 Amazon GameLift 开发人员指南以详细了解调试Amazon GameLift Local

问:Amazon GameLift 是否提供运行监控与报警工具?
Amazon GameLift 控制台可以提供实时控制面板,帮助您了解玩家的状态。您还可以使用 Amazon CloudWatch 来监控所有 Amazon GameLift 资源并应对突发问题。您可以利用 CloudWatch 创建概览式控制面板并配置运行警报,以便在玩家受到影响前发现问题。只要您的队列处于活动状态,Amazon GameLift 的各种指标就会自动进入 CloudWatch。有关 CloudWatch 指标的更多信息,请参阅 Amazon GameLift 开发人员指南

问:什么是 Amazon GameLift Local?
Amazon GameLift Local 是一种客户端调试工具,可在您本地开发计算机上模拟 Amazon GameLift API 子集。借助 Amazon GameLift Local,您可以在数秒内完成代码变更的验证,无需承担任何使用费。Amazon GameLift Local 打包在 Amazon GameLift Server SDK 下载中,适用于 Windows 和 Linux 桌面,无需连网即可使用。有关 Amazon GameLift Local 的更多信息,请参阅开发人员指南

问:我能否使用 Amazon GameLift Local 模拟上传内部版本、创建组群或设置自动扩展规则?我能否在自己的服务器上使用 Amazon GameLift Local 来托管我的游戏?
不能。Amazon GameLift Local 是一种客户端调试工具,只能模拟创建游戏、联系玩家和测试游戏服务器变更所需的 GameSession 和 PlayerSession 客户端 API 的设置。Amazon GameLift Local 不会模拟在生产环境中托管游戏所需的其他 Amazon GameLift 客户端 API (组群、内部版本、别名、扩展策略等)。

问:能否重新分发 Amazon GameLift Local?
不能。Amazon GameLift Local 只用于测试和调试目的,并不会部署到客户设备上的任何生产环境或云基础设施中。 

问:日志是实时收集的吗?
Amazon GameLift 控制台中,队列级别的聚合数据一般可在十分钟内收集,服务器级别的聚合数据一般可在五分钟内收集。

问:如何帮助玩家找到要加入的游戏会话?
Amazon GameLift 提供的搜索功能可帮助您按对玩家有意义的特征对游戏会话进行筛选和排序。您可以按以下属性对游戏会话进行筛选和排序:游戏会话年龄、当前玩家计数、最大玩家计数、空位或您自己的自定义游戏属性。有关更多信息,请参阅我们的 Amazon GameLift 开发人员指南

问:Amazon GameLift 提供哪些匹配功能?
Amazon GameLift 匹配平台包括 FlexMatch 和游戏会话队列。借助 FlexMatch,您可以依据您定义的规则将玩家匹配在一起。您可以使用 FlexMatch 配置规则集,用于将玩家分到一组,同时平衡匹配质量和玩家等待时间。FlexMatch 结果会自动输入到游戏会话队列,该队列可以依据每位玩家的位置智能地选择距离匹配玩家最近的可用游戏服务器,从而可凭借 AWS 的全球分布地区为玩家提供最低可能延迟。有关 FlexMatch游戏会话队列的更多信息,请参阅 Amazon GameLift 开发人员指南

问:我可以只使用游戏会话队列而不使用 FlexMatch 吗?
可以。如果您愿意使用您自己的匹配系统,您可以将匹配结果输入到您定义的所有游戏会话队列中。

问:我能否在创建 FlexMatch 规则集之后对其进行编辑?
不能。FlexMatch 规则集已经创建,将不得更改。要更改规则集,您必须克隆该规则集,并为其提供新的名称,然后创建您的更改内容。要为实时匹配器更改规则集,那么您需要更新该匹配器的配置,使之使用新的规则集而非旧的规则集。因为一个规则集可以由一个或多个实时匹配器使用,此限制可防止实时生产系统出现非预期后果。

问:我可以获取帐户发起的 Amazon GameLift API 调用历史记录,以便进行安全分析和运行故障排除吗?
可以。要获取账户发起的 Amazon GameLift API 调用历史记录,只需在 AWS 管理控制台中打开 CloudTrail 即可。

问:可提供哪类支持?
每位客户都可以访问文档教程论坛AWS Premium Support 资源包中还提供其他支持。


问:Amazon GameLift 支持哪些实例类型?
请参阅我们的定价页面,查看 Amazon GameLift 实例的完整列表。

问:可以在一个 Amazon GameLift 实例上运行多少个服务器进程?
最多 50 个。服务器进程的数量取决于游戏服务器的性能要求以及为队列选择的实例类型。当您设置队列时,需要选择一个实例类型,并对队列进行配置,以便同时运行最优数量的服务器进程。在较少的实例上运行较多的进程可帮助您降低成本。此外,您还可以通过配置队列,在每个实例上运行多个服务器构建版本或游戏配置。

问:我最快可在多长时间内向 Amazon GameLift 队列中添加新实例或从中移除新实例?
Amazon GameLift 提供真正的弹性计算环境。借助 Amazon GameLift 实例,您可以在几分钟 (而不是几小时或几天) 内增加或减少容量。您可以预置一个服务器实例,也可以同时预置数百个、甚至数千个服务器实例。

借助 Amazon GameLift 的自动扩展功能,在提供额外容量以满足玩家需求的过程中,您可以最大限度地降低延迟;另一方面,您可以快速缩减容量,以免为不需要的容量付费。要使用自动扩展功能,您可以定义一系列基于游戏服务器容量及玩家需求实时测量结果的规则。例如,您可以设置 Amazon GameLift,使其在未使用的实例在某段时间内超过一定数量时缩减容量,或者在可用实例数少于某个预设阈值时扩展容量。有关更多信息,请参阅 Amazon GameLift 开发人员指南中的“自动扩展”部分。

此外,您还可以从 Amazon GameLift 控制台中的队列详细信息页面手动控制实例的数量。

问:如何为游戏选择正确的实例类型?
实例类型是否合适,取决于游戏服务器的性能以及您计划同时在一个实例上运行的服务器进程的数量。游戏的计算复杂性、游戏及网络代码的优化情况以及最大玩家数是您所需实例规模的主要决定因素。Amazon GameLift 的优势之一是,您只需按实际使用量付费,这使您能够以较低成本方便地测试不同实例系列和类型上的游戏性能。

问:Amazon GameLift 实例终止时,会对我的数据产生什么影响?
Amazon GameLift 会保留活动指标。终止实例后,由您的游戏服务器生成的以及存储在该实例上的任何数据将会丢失。但是,您可以指示 Amazon GameLift 在实例终止后将这些数据文件保留并存储长达 7 天时间。

问:什么是队列?
队列是指在其中运行您的某个游戏服务器构建版本的地区中的一组 Amazon GameLift 实例。您可以通过增加或减少队列中实例的数量来适应玩家需求的变化。队列经过配置,可使用某种实例类型、部署构建版本并在每个实例上运行一个或多个服务器实例。

问:创建一个队列需要多长时间?
通常情况下,不到一个小时就可以创建运行游戏所需的资源,测量的时间范围是从上传游戏二进制文件开始到队列完成全面部署且玩家可进行访问时结束。具体时间取决于二进制文件的大小以及所部署实例的数量。

问:我能否实时访问队列和实例?
能。您可以远程访问队列中处于正在激活、活跃或错误状态的实例。这有助于实时调试、检查玩家活动或者连接性能监控或基准测试工具。您可以通过 AWS 命令行界面或 Amazon GameLift 控制台修改队列的端口设置和协议。

问:如果出现问题,Amazon GameLift 会允许我更新实时生产队列,或恢复到之前的队列吗?
会,Amazon GameLift 具有别名功能,可轻松更新生产队列。利用别名,您可以将流量引导至队列,而无需更改客户端终端节点的描述符。创建新的生产队列后,您可以编辑别名,以从旧队列指向新队列,从而将连接的所有玩家路由至新队列的别名功能。

同样地,如果您发现队列有问题(例如,发现游戏代码中存在问题),就可以编辑别名将流量从新队列重定向至旧队列。

问:Amazon GameLift 可以在哪些区域使用?
Amazon GameLift 目前在以下地区可用:美国东部 (弗吉尼亚北部和俄亥俄)、美国西部 (俄勒冈和加利福尼亚北部)、加拿大中部 (蒙特利尔)、欧洲中部 (法兰克福)、欧洲西部 (伦敦和爱尔兰)、亚太地区南部 (孟买)、亚太地区东北部 (首尔和东京)、亚太地区东南部 (新加坡) 和南美洲东部 (圣保罗)。请参阅 AWS 全球基础设施地区表,了解不同地区的产品及服务提供情况的最新信息。

问:我可以将 FlexMatch 匹配器放置在哪个 AWS 地区?
美国东部 (弗吉尼亚北部)、美国东部 (俄勒冈)、欧洲中部 (法兰克福)、欧洲西部 (爱尔兰)、亚太地区东南部 (悉尼) 和亚太地区东北部 (首尔和东京)。选择上述地区之一来托管 FlexMatch 匹配器时,我们建议您挑选一个距离该匹配器为其提供服务的玩家人群尽可能近的地区。我们还建议将匹配器的游戏会话队列放置在与该匹配器相同的地区中。有关 FlexMatch 地区可用情况的更多信息,请参阅我们的 Amazon GameLift 开发人员指南


问:什么是构建版本目录?
构建版本目录是对已上传至 Amazon GameLift 的所有服务器构建版本的记录。处于准备就绪状态的构建版本可随时用于创建队列。

问:构建版本目录中能够存储的构建版本数量是否存在限额?
构建版本目录可以存储最多 1000 个构建版本或 100GB 存储。

问:Amazon GameLift 为每个实例提供多大存储?
Amazon GameLift 为每个实例提供 50GB EBS 通用 (SSD) 卷。


问:可以创建的队列数量是否存在限额?
存在,默认情况下,每个区域仅限创建 20 个队列。但是,如果您需要更多队列,请联系我们请求调高限额。

问:每个队列的实例数量是否有上限?
没有,您只受限于 AWS 帐户限制。

问:可在 Amazon GameLift 中运行的实例数量是否存在限额?
是,Amazon GameLift 受 AWS 帐户中可用实例数量的限制。如果您需要提高此限额,则可以通过 Amazon GameLift 控制台中的服务限制页面来执行这一操作。

问:每个游戏会话支持的玩家数量是否有上限?
有,每个游戏会话最多支持 200 位玩家。不过,如果您希望每个游戏会话支持更多玩家,请联系我们请求调高限额。

问:每个实例支持的玩家数量是否有上限?
没有,每个实例的最大玩家数量主要由游戏设计和游戏代码决定。

问:每个队列支持的玩家数量是否有上限?
没有。


问:什么是 AMI?
Amazon 系统映像 (AMI) 是由 AWS 提供、支持和维护的映像,在 Amazon EC2 上使用。Amazon GameLift 使用 Windows 2012 R2 和 Amazon Linux 来运行游戏服务器。AMI 旨在为 Amazon EC2 上运行的应用程序提供稳定、安全、高性能的执行环境。此外,它还包括让您能够与 AWS 轻松集成的软件包,包括启动配置工具和许多常见的 AWS 库及工具。AWS 为运行 Amazon AMI 的所有实例提供持续的安全性和维护更新。

问:任何人都可以访问 Amazon GameLift 控制台吗?
不能。只有拥有必要 AWS 凭证的授权用户才能访问 Amazon GameLift 控制台。您可以借助 AWS Identity and Access Management (IAM) 在团队间安全地共享 AWS 凭证。请参阅为 Amazon GameLift 创建 IAM 策略,了解详细信息。

问:何处可找到有关在 AWS 上保护和运行应用程序的更多信息?
有关保护 AWS 资源的更多信息,请参阅 AWS 安全中心

Amazon GameLift 入门

除了 Amazon GameLift,Amazon 还为游戏开发人员提供了一系列跨平台构建基块,且产品队列还在不断增加。不论是我们通过 Amazon Web Services 帮助开发人员发掘云技术的力量,使用 Amazon Lumberyard 构建下一个全球电影大片,还是通过 Twitch 与广大玩家进行沟通,我们一直在不倦地帮助团队将其重点集中在创新性视觉上,而不是他们的基础设施上。

我们目前刚刚推出了 Amazon GameLift。要及时了解 Amazon 为游戏开发人员提供的一系列跨平台构建基块,请注册订阅 Amazon GameDev 新闻通讯,或在 TwitterFacebook 上关注 Amazon GameLift。