Amazon GameLift 的工作原理 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon GameLift 的工作原理

本主题涵盖了游戏托管的核心组件,并描述了 Amazon GameLift 如何向玩家提供您的多人游戏服务器。

准备好在 Amazon GameLift 上托管游戏了吗? 签出Amazon GameLift 托管托管资源路线图

关键组件

设置 Amazon GameLift 托管您的游戏需要使用以下组件。使用托管 Amazon GameLift 的游戏架构中的图表可视化了这些组件之间的关系。

  • 游戏服务器是指在实例集上运行的游戏服务器软件。将游戏服务器构建脚本上传到 Amazon GameLift 然后告诉 Amazon GameLift。当使用 Amazon GameLift Anywhere 或 Amazon GameLift FleetIQ 时,可以将游戏服务器构建直接上传到计算资源。

  • 游戏会话是与玩家一起玩的正在进行的游戏。您定义游戏会话的基本特征,例如它的生命期和玩家数。然后,玩家连接到游戏服务器以加入游戏会话。

  • 游戏客户端是指玩家设备上运行的游戏软件。游戏客户端根据从 Amazon GameLift 收到的连接信息,通过后端服务连接到游戏服务器以加入游戏会话。

  • 后端服务是额外的自定义服务,用于处理与 Amazon GameLift 相关的任务。作为最佳实操,您的后端服务应处理所有游戏客户端与 Amazon GameLift 的通信。

托管游戏服务器

使用 Amazon GameLift,您可以通过三种不同的方式托管游戏服务器:托管 Amazon GameLift、Amazon GameLift FleetIQ 和 Amazon GameLift Anywhere。有关 Amazon GameLift FleetIQ 的更多信息,请参阅什么是 Amazon GameLift FleetIQ?

您可以设计一个适合游戏需求的实例集。有关设计实例集的更多信息,请参阅Amazon GameLift 实例集设计指南

托管 Amazon GameLift

借助托管 Amazon GameLift,您可以将游戏服务器托管在 Amazon GameLift 虚拟计算资源(称为实例)上。通过创建实例实例集并将其部署到运行游戏服务器来设置托管资源。

Amazon GameLift Anywhere

借助 Amazon GameLift Anywhere,您可以在自己管理的计算机上托管游戏服务器。通过创建引用您的计算的 Anywhere 实例集来设置您的托管资源。

实例集别名

别名是可以在实例集之间进行传输的称号,从而方便地泛化实例集位置。使用别名,您可将游戏客户端从一个实例集切换到另一个实例集,而无需更改游戏客户端。您也可以创建指向内容的终端别名。

运行游戏会话

将游戏服务器构建部署到实例集并且 Amazon GameLift 在每个实例上启动游戏服务器进程后,实例集就可以托管游戏会话。当您的游戏客户端服务向后端服务或 Amazon GameLift 发送放置请求时,Amazon GameLift 会启动新的游戏会话。

游戏会话放置和 FleetIQ 算法

队列使用 FleetIQ 算法选择可用的游戏服务器托管新的游戏会话。游戏会话放置的关键组件是 Amazon GameLift 游戏会话队列。您可以为游戏会话队列分配队列一个实例集列表,该列表决定了队列可以将游戏会话放置在何处。有关游戏会话队列以及如何为您的游戏设计游戏会话队列的更多信息,请参阅设计游戏会话队列

玩家与游戏的联系

作为游戏会话置放过程的一部分,队列或游戏会话提示选定的游戏服务器启动新的游戏会话。游戏服务器会对提示做出响应,并在准备好接受玩家连接时向 Amazon GameLift 报告。然后,Amazon GameLift 会向后端服务或游戏客户端服务提供连接信息。然后,游戏客户端使用此信息直接连接到游戏会话并开始游戏。

扩展实例集容量

当某个实例集激活并准备好托管游戏会话后,您可以调整实例集容量以满足玩家需求。我们建议您在所有新玩家快速找到游戏和超支闲置资源之间找到平衡。

Amazon GameLift 提供了一种高效的自动扩缩工具,您也可以手动设置实例集容量。有关更多信息,请参阅扩展 Amazon GameLift 托管容量

Auto Scaling

Amazon GameLift 提供了两种自动扩缩方法:

其他扩展功能
  • 游戏会话保护 – 防止托管活动的玩家的游戏会话在缩减事件期间被 Amazon GameLift 终止。

  • 扩展限制 – 通过对实例集中的实例数设置最小和最大限制,控制总体实例使用情况。

  • 暂停自动扩缩 – 在不更改或删除自动扩缩策略的情况下,在实例集位置级别暂停自动扩缩。

  • 扩展指标 – 跟踪实例集的容量和扩展事件的历史记录。

监控 Amazon GameLift

在实例集设置完毕并开始运行后,Amazon GameLift 会收集各种信息,以帮助您监控已部署的游戏服务器的性能。此信息可用于优化资源使用、排除问题以及深入了解玩家在游戏中的活动情况。Amazon GameLift 收集以下信息:

  • 实例集、位置、游戏会话和玩家会话详情

  • 使用情况指标

  • 服务器进程运行状况

  • 游戏会话日志

有关在 Amazon GameLift 中监控的更多信息,请参阅监控亚马逊 GameLift

使用其他 Amazon 资源

您的游戏服务器和应用程序可以与其他 Amazon 资源通信。例如,您可能将一组 Web 服务用于玩家身份验证或社交网络。要让您的游戏服务器访问 Amazon Web Services 账户管理的 Amazon 资源,请明确允许 Amazon GameLift 访问您的 Amazon 资源。

Amazon GameLift 提供了几个用于管理此类访问的选项。有关更多信息,请参阅与您的实例集中的其他 Amazon 资源进行通信