Amazon GameLift
开发人员指南 (版本 )
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

游戏架构与 Amazon GameLift

下图说明了 Amazon GameLift 托管游戏架构的关键组件。

游戏架构与 Amazon GameLift

关键组件如下所述。

游戏客户端

要加入在 Amazon GameLift 上托管的游戏,您的游戏客户端必须首先找到可用的游戏会话。游戏客户端通过与 Amazon GameLift 服务进行通信来搜索现有游戏会话、请求对战或启动新游戏会话。此通信通过后端客户端服务完成,以便帮助游戏所有者保持其游戏服务器和托管资源的安全控制。客户端服务向 Amazon GameLift 服务发出请求,并作为响应接收游戏会话信息(包括连接详细信息),然后将其中继回游戏客户端。然后,游戏客户端使用此信息直接连接到游戏服务器并加入游戏。绿色箭头表示游戏过程中游戏客户端和游戏服务器之间的直接连接。

客户端服务

后端客户端服务通过调用 AWS 软件开发工具包中的 Amazon GameLift 服务 API 来处理游戏客户端与 Amazon GameLift 服务之间的通信。客户端服务也可用于其他游戏特定任务,例如玩家身份验证和授权、库存或货币控制。例如,当玩家加入游戏时,游戏客户端可能会首先调用身份验证服务来首先验证玩家的身份,并在通过验证后才向 Amazon GameLift 服务发送玩家位置请求。相关信息(例如连接详细信息)将中继回游戏客户端。

外部服务

您的游戏可以依赖外部服务,如用于验证订阅成员资格。如架构图所示,来自外部服务的信息可以不通过游戏客户端而传递到游戏服务器(通过客户端服务和 Amazon GameLift 服务)。

游戏服务器

您的游戏服务器软件将上传到 Amazon GameLift 服务并在托管计算机上进行部署,从而托管游戏会话和接受玩家连接。游戏服务器使用 Amazon GameLift 服务器软件开发工具包与 Amazon GameLift 服务进行通信,交换请求以启动新游戏会话、验证新连接的玩家并报告游戏会话、玩家连接和可用资源的状态。游戏客户端在收到来自 Amazon GameLift 服务的连接详细信息后将直接连接到游戏服务器。

Amazon GameLift 服务

Amazon GameLift 服务是一项核心服务,它部署和管理资源队组以托管游戏服务器,协调游戏会话在可用资源中的布置方式,启动和停止游戏会话,以及跟踪游戏服务器运行状况和活动,以便在玩家流量波动时保持游戏可用性。设置和管理托管资源时,游戏所有者使用 AWS 软件开发工具包和 CLI 中的 Amazon GameLift 服务 API 上传游戏服务器生成包,创建和配置队组并管理队组容量。客户端服务通过调用 AWS 软件开发工具包中的 Amazon GameLift 服务 API 启动新游戏会话、请求对战以及将玩家放入游戏会话。Amazon GameLift 队组上部署的游戏服务器使用 Amazon GameLift 服务器软件开发工具包保持与 Amazon GameLift 服务的通信,从而启动和停止游戏会话、报告服务器运行状况、根据需要交换游戏和玩家数据等。

托管管理工具

AWS 软件开发工具包中的 Amazon GameLift 工具集为您提供了多种方式来配置您的游戏托管资源,扩展容量以满足玩家需求,监控当前资源状态以及跟踪游戏服务器性能和游戏及玩家活动的指标。此外,您还可以远程访问任一游戏服务器以进行故障排除。