关于 GameLift 托管资源 - Amazon GameLift
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

关于 GameLift 托管资源

本主题概述了在使用托管 GameLift 服务托管游戏时必须使用的关键资源。在 Amazon GameLift 的工作原理中详细了解 GameLift 的工作原理。

下图说明了 GameLift 资源的基本结构及其彼此之间的关系。


            图中显示如何组织 GameLift 资源对象:生成包或脚本用于创建队组,为队组提供别名,队组可以按其别名添加到游戏会话队列中。对于使用 FlexMatch 对战的游戏,游戏会话队列和对战规则集用于创建对战配置。GameLift 资源集可以包含基于生成包或脚本的一个或多个队组。游戏会话队列可以指向多个队组别名。

游戏服务器代码
  • 生成 – 您在 GameLift 上运行的自定义游戏服务器软件,并为您的玩家托管游戏会话。游戏生成包表示在特定操作系统上运行游戏服务器的一组文件。您可以有许多不同的生成包,如针对不同的游戏风格的生成包。游戏生成包必须与 GameLift 服务集成。您可以在计划部署游戏的每个区域中,将游戏生成包文件上传到 GameLift 服务。有关更多详情,请参阅将生成包和脚本上传到 GameLift

  • 脚本 – 用于 实时服务器 的配置和自定义游戏逻辑。实时服务器 由 GameLift 提供来代替自定义游戏服务器。您可以通过使用 实时服务器 创建脚本来为您的游戏客户端配置 JavaScript,并根据需要添加自定义游戏逻辑以托管玩家的游戏会话。您可以在计划部署游戏的每个区域中,将 Realtime 脚本上传到 GameLift 服务。有关更多详情,请参阅将生成包和脚本上传到 GameLift

队列

运行您的游戏服务器并托管玩家的游戏会话的托管资源的集合。您创建一个队组以将自定义游戏生成包或实时服务器脚本部署到 AWS 区域。队列由一个或多个称为实例的虚拟机组成。除了区域和生成/脚本之外,每个队组由队组类型(Spot 或按需实例)、实例类型(定义用于队组中每个实例的硬件)和运行时配置(提供有关如何在每个实例上运行游戏服务器的说明)唯一定义。您管理队组的容量,它使用手动或自动扩展功能来确定队组支持的游戏会话和玩家数量。可在 GameLift 支持的任何 AWS 区域中创建队组,从而使游戏服务器能够在地理位置上放置在玩家附近。有关更多详情,请参阅设置 GameLift 队组

游戏会话队列

一种流量控制机制,用于现场处理新游戏会话的请求并依次处理它们。游戏会话队列搜索可用于托管新游戏的游戏服务器,提示服务器启动新游戏会话,并将连接信息返回给请求者。每个队列都分配有一组目标(队组、别名),可在其中搜索可用的游戏服务器。根据配置方式,队列可以跨多个区域和队组类型(Spot 或按需)放置游戏会话。队列使用 FleetIQ 逻辑搜索游戏服务器,该逻辑旨在基于托管成本和玩家延迟,放置具有“最佳”游戏服务器的游戏会话。游戏会话队列是游戏服务器管理层的一个重要元素;其配置会对玩家体验和托管资源的使用效率产生巨大影响。游戏会话队列可在 GameLift 支持的任何 AWS 区域中创建。有关更多详情,请参阅为游戏会话放置设置 GameLift 队列

别名

队组的抽象标识符。您可以随时更改它指向的队组。由于在您更新自定义游戏生成包时就会替换队组,因此最佳做法是,创建别名,并在需要引用特定队组时(例如在游戏会话队列中)使用别名。当您替换了队组并准备好使其上线时,请切换别名以指向新的队组并在不中断的情况下重定向玩家。您在与队组指向的相同区域中创建别名。有关更多详情,请参阅将别名添加到 GameLift 队组