本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊是如何GameLift运作的
本主题涵盖了游戏托管的核心组件,并描述了亚马逊GameLift如何向玩家提供您的多人游戏服务器。
准备好在亚马逊上托管您的游戏了GameLift吗? 退房亚马逊GameLift托管主机路线图。
关键组件
设置 Amazon GameLift 来托管您的游戏需要使用以下组件。中的图表使用托管亚马逊的游戏架构 GameLift可视化了这些组件之间的关系。
-
游戏服务器是你的游戏在舰队上运行的服务器软件。你将你的游戏服务器版本或脚本上传到亚马逊,GameLift然后告诉亚马逊GameLift。当您使用亚马逊GameLiftAnywhere或亚马逊 GameLift FleetIQ 时,您可以将游戏服务器版本直接上传到计算资源。
-
游戏会话是与玩家一起进行中的游戏。您定义游戏会话的基本特征,例如它的生命期和玩家数。然后,玩家连接到游戏服务器以加入游戏会话。
-
游戏客户端是指玩家设备上运行的游戏软件。游戏客户端根据从亚马逊收到的连接信息,通过后端服务连接到游戏服务器以加入游戏会话GameLift。
-
后端服务是处理与亚马逊相关的任务的附加自定义服务GameLift。作为最佳实践,您的后端服务应处理与亚马逊的所有游戏客户端通信GameLift。
托管游戏服务器
使用亚马逊GameLift,您可以通过三种不同的方式托管游戏服务器:托管亚马逊GameLift、亚马逊 GameLift FleetIQ 和亚马逊。GameLift Anywhere有关亚马逊 GameLift FleetIQ 的更多信息,请参阅什么是亚马逊 GameLift FleetIQ?
您可以设计一个适合游戏需求的队组。有关设计舰队的更多信息,请参阅亚马逊GameLift舰队设计指南。
托管亚马逊 GameLift
使用托管亚马逊GameLift,您可以将游戏服务器托管在亚马逊GameLift虚拟计算资源(称为实例)上。通过创建实例队列并将其部署来运行游戏服务器来设置您的托管资源。
亚马逊 GameLift Anywhere
借助亚马逊 GameLiftAnywhere,您可以在自己管理的计算机上托管游戏服务器。通过创建引用您的计算的Anywhere队列来设置您的主机资源。
队组别名
别名是您可以在舰队之间转移的名称,使其成为获得通用舰队位置的便捷方式。您可以使用别名将游戏客户端从一个舰队切换到另一个舰队,而无需更改游戏客户端。您也可以创建指向内容的终端别名。
运行游戏会话
将游戏服务器版本部署到队列并且 Amazon 在每个实例上GameLift启动游戏服务器进程后,队列可以托管游戏会话。当您的游戏客户端服务向后端服务或亚马逊发送放置请求时,亚马逊会GameLift启动新的游戏会话GameLift。
游戏会话位置和 FleetIQ 算法
队列使用 FleetIQ 算法选择可用的游戏服务器来托管新的游戏会话。游戏会话放置的关键组成部分是亚马逊GameLift游戏会话队列。您可以为游戏会话队列分配舰队列表,该列表决定了队列可以放置游戏会话的位置。有关游戏会话队列以及如何为游戏设计队列的更多信息,请参阅设计游戏会话队列。
玩家与游戏的连接
作为游戏会话放置过程的一部分,队列或游戏会话提示所选游戏服务器启动新的游戏会话。游戏服务器会对提示做出响应,并在准备接受玩家连接GameLift时向亚马逊报告。GameLift然后,亚马逊将连接信息传送到后端服务或游戏客户端服务。您的游戏客户端使用此信息直接连接到游戏会话并开始游戏。
扩展队组容量
当舰队处于活动状态并准备举办游戏时,您可以调整舰队容量以满足玩家的需求。我们建议你在所有新来的玩家快速找到游戏和在闲置资源上超支之间找到平衡。
亚马逊GameLift提供了一种高效的自动扩展工具,或者您可以手动设置队列容量。有关更多信息,请参阅扩展亚马逊GameLift托管容量:
Auto Scaling
亚马逊GameLift提供两种自动扩展方法:
其他扩展功能
-
游戏会话保护 — GameLift 防止亚马逊在缩小规模活动期间结束接待活跃玩家的游戏会话。
-
扩展限制-通过对队列中的实例数量设置最小和最大限制来控制实例的总体使用情况。
-
暂停自动扩展-在不更改或删除自动扩展策略的情况下在队列位置级别暂停自动扩展。
-
扩展指标-跟踪机队的容量历史和扩展事件。
监控亚马逊 GameLift
当您的队列启动并运行时,亚马逊GameLift会收集各种信息,以帮助您监控已部署的游戏服务器的性能。您可以使用这些信息来优化资源的使用、解决问题并深入了解玩家在游戏中的活跃情况。亚马逊GameLift收集以下信息:
-
舰队、地点、游戏会话和玩家会话详情
-
使用情况指标
-
服务器进程运行状况
-
游戏会话日志
有关亚马逊监控的更多信息GameLift,请参阅监控亚马逊 GameLift。
使用其他Amazon资源
您的游戏服务器和应用程序可以与其他Amazon资源通信。例如,您可以使用一组 Web 服务进行玩家身份验证或社交网络。要让您的游戏服务器访问您Amazon Web Services 账户管理的Amazon资源,请明确GameLift允许亚马逊访问您的Amazon资源。
亚马逊GameLift提供了几个选项来管理此类访问权限。有关更多信息,请参阅 与您的车队中的其他Amazon资源进行通信。