本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊托管 GameLift 解决方案架构
本主题中的图表概述了 Amazon 的完整托管解决方案 GameLift 是如何构造的。
带托管功能的游戏组件
下图说明了 GameLift 托管 Amazon 托管解决方案的关键组件如何协同工作以运行专用游戏服务器并帮助玩家查找和连接托管的游戏会话。您为游戏开发的托管解决方案将包括大部分或全部组件。
架构包含以下关键组件:
- 游戏客户端
-
游戏客户端是在玩家设备上运行的软件。玩家通过在托管的游戏服务器上加入游戏会话来玩你的游戏。游戏客户端要求通过后端服务加入游戏会话,接收游戏会话的连接信息,然后使用该信息直接与游戏会话连接。有关更多信息,请参阅 为 Amazon 准备游戏 GameLift。连接到实时服务器时,A 游戏客户端使用实时客户端。SDK
- 后端服务
-
后端服务是您创建的自定义服务,用于代表游戏客户端处理与 Amazon GameLift 服务的通信。您还可以使用后端服务执行特定于游戏的任务,例如玩家身份验证和授权、库存或货币控制。后端服务使用中的API操作与 Amazon GameLift 服务进行通信。 Amazon SDK
后端服务请求获取现有游戏会话信息并启动游戏会话。对新游戏会话的请求定义了某些特征,例如最大玩家人数。这些请求会 GameLift 促使 Amazon 启动游戏会话放置流程。当游戏会话准备好接受玩家时,后端服务会检索连接信息并将其提供给游戏客户端。
- 外部服务
-
您的游戏可以依赖外部服务,例如验证订阅会员资格。外部服务可以通过后端服务和 Amazon 将信息传递给您的游戏服务器 GameLift。
- 游戏服务器
-
游戏服务器是在一组托管资源上运行的游戏服务器软件。您将游戏服务器软件上传到 Amazon GameLift,亚马逊会将其部署到托管资源并开始运行服务器进程。每个游戏服务器进程都与 Amazon GameLift 服务连接,表示已准备好托管游戏会话。它与服务交互以启动游戏会话,验证新连接的玩家,并报告游戏会话和玩家连接的状态。
定制游戏服务器使用亚马逊 GameLift GameLift 服务器与亚马逊通信SDK。有关更多信息,请参阅 将游戏与自定义游戏服务器集成。实时服务器是由 Amazon GameLift 提供的游戏服务器。您可以通过提供自定义脚本来自定义服务器逻辑。有关更多信息,请参阅 将游戏与 Amazon GameLift 实时服务器集成。
- 托管管理工具
-
在设置和管理托管资源时,游戏所有者使用托管管理工具来管理游戏服务器构建或脚本、实例集、对战和队列。中设置的 Amazon GameLift 工具集 Amazon SDK和控制台为您提供了多种管理托管资源的方式。您可以远程访问任一游戏服务器以进行问题排查。
托管解决方案资源
下图说明了构成托管托管解决方案的 Amazon GameLift 资源。提供自定义服务器版本或实时服务器脚本,将计算队列部署到托管游戏服务器,然后设置游戏会话队列以查找可用的托管资源并开始新的游戏会话。对于使用 FlexMatch 配对的游戏,添加配对配置和配对规则集以生成玩家配对。
- 游戏服务器代码
-
-
B@@ uild — 您的定制游戏服务器软件,可在亚马逊上运行, GameLift 并为您的玩家托管游戏会话。游戏版本代表在特定操作系统上运行游戏服务器的一组文件,您必须将其与 Amazon 集成 GameLift。将游戏编译文件上传到您计划设置舰队 Amazon Web Services 区域 的地方的 Amazon GameLift 。有关更多信息,请参阅 为 Amazon GameLift 托管部署自定义服务器版本。
-
脚本 – 用于实时服务器的配置和自定义游戏逻辑。使用创建脚本,为游戏客户端配置实时服务器 JavaScript,并添加自定义游戏逻辑来为玩家托管游戏会话。有关更多信息,请参阅 为实时服务器部署脚本。
-
- 实例集
-
运行游戏服务器并托管玩家的游戏会话的计算资源集合。有关可以在何处部署实例集的信息,请参阅 亚马逊 GameLift 服务地点。有关创建实例集的信息,请参阅在 Amazon 上设置托管车队 GameLift。
- 别名
-
实例集的抽象标识符,可用于随时更改玩家连接的实例集。有关更多信息,请参阅 创建亚马逊 GameLift 别名。
- 游戏会话队列
-
一种游戏会话放置机制,用于接收新游戏会话的请求并搜索可用的游戏服务器来托管新会话。有关游戏会话队列的更多信息,请参阅使用 Amazon GameLift 队列管理游戏会话放置。