本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon GameLift Servers 的工作原理
本主题介绍如何Amazon GameLift Servers管理多人游戏服务器的专用主机并使其可供玩家使用。它概述了核心功能的工作原理。
托管游戏服务器
使用Amazon GameLift Servers,您可以通过几种不同的方式托管游戏服务器:托管Amazon GameLift ServersAmazon GameLift ServersFleetIQ、和Amazon GameLift Servers任何地方。有关的更多信息 Amazon GameLift ServersFleetIQ,请参阅什么是 Amazon GameLift ServersFleetIQ?
您可以设计一个适合游戏需求的实例集。有关设计实例集的更多信息,请参阅自定义你的 Amazon GameLift Servers EC2 托管车队。
托管 Amazon GameLift Servers
借助托管Amazon GameLift Servers,您可以在Amazon GameLift Servers虚拟计算资源(称为实例)上托管游戏服务器。通过创建实例实例集并将其部署到运行游戏服务器来设置托管资源。
Amazon GameLift Servers任何地方
借助 Amazon GameLift Servers Anywhere,你可以在自己管理的计算机上托管游戏服务器。通过创建引用您的计算的 Anywhere 队列来设置您的托管资源。
实例集别名
别名是可以在实例集之间进行传输的称号,从而方便地泛化实例集位置。使用别名,您可将游戏客户端从一个实例集切换到另一个实例集,而无需更改游戏客户端。您也可以创建指向内容的终端别名。
运行游戏会话
将游戏服务器版本部署到队列并在每个实例上Amazon GameLift Servers启动游戏服务器进程后,队列可以托管游戏会话。 Amazon GameLift Servers当您的游戏客户端服务向后端服务或向发送放置请求时,就会启动新的游戏会话Amazon GameLift Servers。
游戏会话位置和FleetIQ算法
队列使用该FleetIQ算法来选择可用的游戏服务器来托管新的游戏会话。游戏会话放置的关键组件是Amazon GameLift Servers游戏会话队列。您可以为游戏会话队列分配队列一个实例集列表,该列表决定了队列可以将游戏会话放置在何处。有关游戏会话队列以及如何为您的游戏设计游戏会话队列的更多信息,请参阅自定义游戏会话队列。
使用 UDP ping 信标优化游戏会话放置
使用 Amazon GameLift Servers UDP ping 信标,您可以计算不同位置的玩家和游戏服务器之间的 UDP 数据包的往返延迟,以帮助选择游戏会话的最佳位置。有关 UDP ping 信标以及如何使用它们来测量延迟的更多信息,请参阅。UDP ping 信标
-
对于使用游戏会话队列进行放置的游戏,放置请求可以包含延迟数据,队列会自动使用这些数据来确定放置位置的优先级。您可以进一步自定义优先级,并可以设置包括延迟值上限在内的策略。请参阅优先考虑游戏会话放置。
-
对于不使用游戏会话队列但队列有多个地点的游戏,您可以在向Amazon GameLift Servers其发出游戏会话请求之前评估延迟数据并选择最佳可用位置。请参阅中的 “获取和创建游戏会话” 部分Amazon GameLift Servers添加到您的游戏客户端。
-
如果您使用FlexMatch配对,则可以将匹配规则设置为使用延迟数据。请参阅《Amazon GameLift Servers FlexMatch 开发者指南》中针对玩家的请求配对以及FlexMatch规则类型的 “延迟规则” 部分。
玩家与游戏的联系
作为游戏会话置放过程的一部分,队列或游戏会话提示选定的游戏服务器启动新的游戏会话。游戏服务器会对提示做出响应,并在准备好接受玩家连接Amazon GameLift Servers时进行报告。 Amazon GameLift Servers然后将连接信息传送到后端服务或游戏客户端服务。然后,游戏客户端使用此信息直接连接到游戏会话并开始游戏。
扩展实例集容量
当某个实例集激活并准备好托管游戏会话后,您可以调整实例集容量以满足玩家需求。我们建议您在所有新玩家快速找到游戏和超支闲置资源之间找到平衡。
Amazon GameLift Servers提供了高效的 auto Scaling 工具,或者您可以手动设置队列容量。有关更多信息,请参阅 通过以下方式扩展游戏托管容量 Amazon GameLift Servers。
自动扩缩
Amazon GameLift Servers提供了两种自动缩放方法:
其他扩展功能
-
游戏会话保护 — Amazon GameLift Servers 防止在缩小规模活动期间结束接待活跃玩家的游戏会话。
-
扩展限制 – 通过对实例集中的实例数设置最小和最大限制,控制总体实例使用情况。
-
暂停自动扩缩 – 在不更改或删除自动扩缩策略的情况下,在实例集位置级别暂停自动扩缩。
-
扩展指标 – 跟踪实例集的容量和扩展事件的历史记录。
监控 Amazon GameLift Servers
当队列启动并运行时,Amazon GameLift Servers会收集各种信息,以帮助您监控已部署的游戏服务器的性能。您可以使用这些信息来优化资源的使用,解决问题,并深入了解玩家在游戏中的活跃程度。 Amazon GameLift Servers收集以下内容:
-
实例集、位置、游戏会话和玩家会话详情
-
使用情况指标
-
服务器进程运行状况
-
游戏会话日志
有关中监控的更多信息Amazon GameLift Servers,请参阅监控 Amazon GameLift Servers。
使用其他 AWS 资源
您的游戏服务器和应用程序可以与其他 AWS 资源通信。例如,您可能将一组 Web 服务用于玩家身份验证或社交网络。要让您的游戏服务器访问您 AWS 账户 管理的 AWS 资源,请明确Amazon GameLift Servers允许访问您的 AWS 资源。
Amazon GameLift Servers 提供了几个用于管理此类访问的选项。有关更多信息,请参阅 与舰队中的其他 AWS 资源进行沟通。