Amazon GameLift Streams 常见问题
一般性问题
全部打开-
Amazon GameLift Streams 可帮助游戏开发者和发布者在电视、个人电脑、手机和平板电脑等多种设备上提供高达 1080p 分辨率和 60 帧/秒(fps)的游戏流式传输体验。通过单一的 AWS 功能,发布者可以在几分钟内部署他们的游戏内容,无需进行修改,将其部署到完全托管的基于云的 GPU 实例上,并通过 AWS 网络主干直接将内容传输到任何配备网络浏览器的终端玩家设备上。Amazon GameLift Streams 让用户只需几秒即可开始玩游戏,无需等待下载或安装,其游戏体验与在个人电脑或游戏主机上本地玩游戏几乎没有区别。借助 Amazon GameLift Streams,游戏发布者可以将他们现有的和新的游戏直接分发给玩家,无需管理基础设施,并且只需为所分配的资源付费。发布者还可以完全掌控与玩家的关系、玩家体验、品牌推广以及商业模式。
-
通过 Amazon GameLift Streams 进行游戏流式传输具有几个关键优势。首先,它使您能够在全球范围内为几乎任何设备提供流畅、实时、高帧率的游戏体验,而且玩家无需拥有本地 GPU。借助 Amazon GameLift Streams,您可以在几分钟内完成游戏流式传输,无需修改游戏代码以使其与最新设备和浏览器版本兼容。它有助于您通过自己的分发渠道直接触达更多玩家,并且您和您的团队可以节省数小时的游戏测试设置时间,因为无需在本地安装游戏版本。
-
Amazon GameLift Streams 使用 Web 实时通信(WebRTC)开放标准协议,这有助于您在无需修改的情况下进行游戏流式传输。Amazon GameLift Streams 技术经过专门设计,可提供实时游戏体验,将玩家与云端的延迟降至最低。它在全球多个 AWS 区域运行,使您能够在离玩家更近的地方部署计算资源,以最大限度地减少延迟。虽然任何流式传输解决方案都存在一定程度的轻微延迟,但 Amazon GameLift Streams 针对响应式游戏体验进行了优化。
-
Amazon GameLift Streams 支持直接流式传输基于 Windows 和 Linux 的游戏,几乎无需或完全无需进行修改。它与主要的游戏引擎(包括 Unreal、Unity、Godot)以及自定义游戏引擎兼容。
-
Amazon GameLift Streams 在以下 AWS 区域可用:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(东京)、欧洲地区(法兰克福)和欧洲地区(爱尔兰)。
- 始终可用容量:预先分配,可随时无延迟地处理流请求的资源。
- 按需容量:根据流请求分配,并在会话终止时释放的资源。
Amazon GameLift Streams 通过流容量(即同一时间内能够处于活动状态的最大并发流数量)提供两种类型的扩展方式:
您可以随时调整这两种类型的容量,以满足用户需求的变化。如果您在单个流组中配置了这两种容量的组合,Amazon GameLift Streams 会首先使用始终可用容量来满足流式传输请求,然后根据需要配置按需容量。
-
玩家只需拥有兼容的 Web 浏览器和稳定的互联网连接(进行 1080p 流式传输时,带宽至少为 10 Mbps)即可。Amazon GameLift Streams 支持包括 Google Chrome、Microsoft Edge、Firefox 和 Safari 在内的主流浏览器。为获得最佳体验,我们建议使用 Chrome、Edge 或基于 Chromium 的自定义桌面应用程序。
-
是的,亚马逊 GameLift Streams 在 GameLift Streams Web SDK 套装中提供演示材料,可通过入门页面获得。其中包括一个示例 Web 客户端和后端流式传输功能,您可以使用它们来测试该功能,并了解如何实施流式传输功能。
-
不必,您不一定要验证玩家身份。但是,您必须为每个玩家提供唯一的、不涉及个人身份信息的玩家 ID。尽管玩家无需进行身份验证,但任何与上传游戏和请求流会话相关的操作都应使用您的 AWS 凭证从您的后端系统进行身份验证。有关设置 AWS 凭证的信息,请参阅开发人员指南中的“设置 Amazon GameLift Streams”部分。
-
Amazon GameLift Streams 提供的故障排除功能包括详细的日志记录、通过 Amazon CloudWatch 提供的性能指标,以及通过 AWS CloudTrail 进行的 API 调用跟踪。它能让您了解流组容量、使用情况、性能、资源利用率和流状态。此外,您可以导出流会话文件以进行调试。
-
Amazon GameLift Streams 通过 Amazon CloudWatch 提供近实时的指标。但是,如果您使用的是示例 Web 应用程序,则可以在 WebRTC 指标生成时实时访问它们。流组容量和使用情况的指标每分钟发布一次,使您能够近实时地监控性能、资源利用率和用户参与度。这有助于快速识别和解决潜在问题,同时保持最佳的服务交付。
-
是的,Amazon GameLift Streams 与 AWS 监控服务集成,以提供运行监督。您可以使用 Amazon CloudWatch 监控指标、创建自定义仪表板,并设置在达到指定阈值时通知您的警报。此外,您还可以使用 AWS CloudTrail 跟踪 API 活动,并使用 AWS 账单与成本管理来监控成本和使用情况。这些工具可帮助您维护运行状况,并快速响应任何问题。
-
在开发过程中,Amazon GameLift Streams 提供了多种功能来支持快速迭代。您可以直接在 Amazon GameLift Streams 控制台中测试流。它还在 Amazon GameLift Streams Web SDK 包中提供了示例后端功能和 Web 客户端,用于快速进行实施测试。在开发期间,您可以使用按需容量,或者在不使用时将流组的容量扩展为零,以管理成本。要快速上手和迭代,请选择 Windows 以获得最佳的游戏兼容性,然后使用 Proton 进行测试,以实现大规模的多租户。
-
对于生产环境,Amazon GameLift Streams 使您能够独立更新应用程序和流组。您可以在保留现有应用程序的同时创建新的应用程序,在单独的流组中测试新配置,并逐步将流量迁移到新版本。它还支持多应用流组,使您能够通过一组计算资源管理游戏的多个版本。
-
Amazon GameLift Streams 应用程序是一种资源,它将从 Amazon Simple Storage Service(S3)最初导入的游戏文件的只读副本,与指定运行时环境以及流式传输游戏时要运行的可执行文件的元数据相结合。
-
Amazon GameLift Streams 中的运行时环境是在 Amazon GameLift Streams 功能上运行您的游戏的基础操作系统和软件环境。可用的选项包括 Microsoft Windows Server 2022 Base、Ubuntu 22.04 LTS 和 Proton(8.0-5 版本和 8.0-2c 版本)。每个运行时环境都具有不同的兼容性和性能特点,让您可以为您的游戏选择最佳选项。要快速上手和迭代,请选择 Windows 以获得最佳的游戏兼容性,然后使用 Proton 进行测试,以实现大规模的多租户。
-
Amazon GameLift Streams 中的流类定义用于运行和流式传输您的游戏的计算资源。每个流类提供不同的 CPU、GPU、RAM 和其他规格的组合,以满足您的性能需求和预算要求。Amazon GameLift Streams 提供基于 NVIDIA GPU 的流类,包括“高”(共享)和“超级”(专用)选项。您选择的流类会直接影响流式传输质量和成本。
- “超级”类(如 gen5n_ultra)提供专用资源,具有更高的规格(8 个 vCPU、更多的 VRAM 和 RAM),并且每个流会话配备 1 个 GPU。对于最需要图形处理能力且对处理能力要求最高的游戏,可以从这里开始。
- “高”类(如 gen5n_high)提供共享资源,具有适中的规格(4 个 vCPU),并且 GPU 可在最多两个并发流会话之间共享。对于仅需要中等图形处理能力且每个流类有可能承载多个游戏的游戏,可以从这里开始。
- 特定于 Windows 的类(如 gen5n_win2022)是专门为支持 DirectX 的 Windows 游戏配置的。
流类主要在其资源分配和租用方式上有所不同:
流组
全部打开-
流组是一组计算资源,Amazon GameLift Streams 使用这些资源将您的应用程序流式传输给终端用户。创建流组时,您需要指定流类、默认应用程序、流容量以及游戏可以运行的地理位置。流组管理 Amazon GameLift Streams 分配资源以及处理并发流的方式,使您能够有效地管理容量和成本。
-
流容量是指在同一时间内能够处于活动状态的最大并发流数量。
-
多站点流组除了在主要站点(即您创建流组的 AWS 区域)之外,还可以在多个地理位置托管游戏和流会话。这使您可以从离终端用户更近的位置流式传输内容,以降低延迟,同时从单个资源池中管理容量。您可以为流组中的每个站点独立管理容量。
-
多应用程序流组与多个应用程序关联,使您能够使用同一计算资源池流式传输不同的应用程序。这种多对一的关系使您能够高效地管理多个应用程序或游戏版本之间的资源。在启动流会话时,您可以指定要流式传输的链接应用程序,从而支持更快的迭代以及多个游戏版本或不同内容产品之间的容量共享。
-
当流会话结束时,Amazon GameLift Streams 会自动删除会话期间生成的任何新文件。请参阅共享安全模型文档。您可以选择配置在终止前将流会话文件导出到 Amazon Simple Storage Service(S3)存储桶的功能,这对于调试或验证很有用。
-
尽管您可以更新实时流组的某些方面(例如容量和常规设置),但有些配置创建后将无法更改,例如流类。作为最佳实践,我们建议不要对生产流组进行大幅修改,而是使用所需的更改创建一个新的流组,并逐步将流量迁移到新组中。这种方法可以在出现问题时提供更安全的回滚途径。
Amazon GameLift Streams 会在您选择的站点配置容量。这些站点指示 GameLift Streams 托管您的应用程序和流式传输会话的位置。默认情况下,您可以从创建流组的同一位置(即主要站点)进行流式传输。此外,一个流组可以将其覆盖范围扩展到其他受支持的站点进行流式传输。您可以选择以下 AWS 区域作为您的主要站点:美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(东京)和欧洲地区(法兰克福)。
每个主要站点还可以将覆盖范围扩展到其他站点,以实现更低延迟的流传输。除了上面列出的 AWS 区域外,我们还提供两个可以从您的主要站点进行管理的远程站点:美国东部(弗吉尼亚州北部)和欧洲地区(爱尔兰)。
-
不可以,创建流组后无法更改流类。如果您需要使用不同的流类,必须使用所需的流类创建一个新的流组,然后将您的流式传输流量迁移到新组中。
-
是的,Amazon GameLift Streams 专门使用了加速的 GPU 流类。它提供了基于 NVIDIA 的选项,采用 NVIDIA A10G Tensor 或 T4 Tensor GPU,让您可以根据游戏的图形需求选择最佳硬件配置。
-
始终可用和按需的流容量可满足您的流式传输基础设施中的不同需求。始终可用的容量可立即满足流请求,无启动延迟,非常适合需要快速响应时间和可预测工作负载的场景。按需容量通过仅在需要时配置资源来实现成本优化,通常启动时间不到 5 分钟。这使其特别适合可变工作负载的情况,在这些情况下,即时可用性并非关键因素。您可以在同一个流组中同时启用始终可用和按需模式。
兼容性
全部打开-
Amazon GameLift Streams 经过优化,可支持各种能够适应流式传输延迟的游戏类型。它可以提供高达 1080p 分辨率和每秒 60 帧的高质量流式传输,因此特别适用于策略游戏、角色扮演游戏、冒险游戏和模拟游戏。尽管 Amazon GameLift Streams 可以支持快节奏的游戏类型,但我们建议进行全面测试,以确保流式传输性能符合您的特定游戏玩法要求。
-
Amazon GameLift Streams 支持多种服务器环境,以满足不同的开发需求。它支持 Microsoft Windows Server 2022 Base、Ubuntu 22.04 LTS 和 Proton。Proton 是一个经过游戏优化的兼容层,使 Windows 软件能够在基于 Linux 的运行时环境中运行。您可以使用与这些环境兼容的任何编程语言开发应用程序,并且它为 Unreal Engine 等游戏引擎提供了特定的优化。
-
Amazon GameLift Streams 提供了一个 Web SDK 包,这是开发您自己的 GameLift Streams 解决方案的推荐起点。该捆绑包包含带有 GameLift Streams API 的 JavaScript AWS SDK、一个示例 Web 服务器以及一个用于连接到流的示例 Web 客户端。对于更喜欢其他编程语言的开发人员,Amazon GameLift Streams 提供了 AWS SDK 的自定义版本,其中包括 JavaScript、PHP、C#、Go 和 C++ 等语言编写的 Amazon GameLift Streams API。所有流式传输内容都通过 Web 浏览器提供,因此可以通过支持现代 Web 浏览器的设备访问。
-
Amazon GameLift Streams 通过 Web 游戏手柄 API 提供游戏手柄支持,在使用 Google Chrome、Microsoft Edge 或基于 Chromium 的自定义应用程序时具有最佳兼容性。需要注意的是,目前在使用 Ubuntu 22.04 LTS 运行时环境时,不支持游戏手柄。
-
Amazon GameLift Streams 支持通过 Chrome、Edge 和 Firefox 在 Windows 和 Proton 运行时环境中进行麦克风输入。在 Mac 上,Chrome、Edge、Safari 和 Firefox 支持麦克风输入。在移动设备上,通过其各自支持的浏览器支持麦克风输入。这使开发人员能够在他们的流式传输传输应用程序中实施基于语音的功能。务必注意,目前在使用 Ubuntu 22.04 LTS 运行时环境时,不支持麦克风。
-
Amazon GameLift Streams 使用 Microsoft Windows Server 2022 Base 作为其 Windows 运行时环境。该平台支持 DirectX 12 和 DirectX 11,与 Unreal Engine 5.x 应用程序兼容,并支持 32 位和 64 位应用程序以及反作弊技术。该环境专门针对 gen5n_win2022 和 gen4n_win2022 流类进行了优化。
-
Amazon GameLift Streams 采用 Ubuntu 22.04 LTS 作为其 Linux 运行时环境。该发行版与基于 NVIDIA 的流类(gen5n 和 gen4n 系列)无缝协作,为基于 Linux 的游戏流式传输提供了强大的平台。该环境支持“高”(共享)和“超级”(专用)两种配置,但需要注意的是,在此运行时环境中,麦克风和游戏手柄功能不可用。
流式传输
全部打开-
Amazon GameLift Streams 使用 WebRTC 作为其流式传输协议。这项技术能够实现实时、低延迟的通信,同时保持安全的加密连接。该协议允许直接基于浏览器进行流式传输,无需额外的插件,并支持多种输入方法,包括键盘、鼠标和游戏手柄交互。
-
为了获得最佳的流式传输性能,Amazon GameLift Streams 需要稳定的互联网连接和至少 10 Mbps 的带宽以进行 1080p 流式传输。为了尽量减少延迟,它允许您在离玩家最近的多个位置部署计算资源。我们建议选择地理位置靠近的玩家的流组位置,并且通常能为大多数玩家提供 100 毫秒或更低的延迟,以确保最佳的流式传输体验。
安全性
全部打开-
是的,Amazon GameLift Streams 提供加密保护。存储在 Amazon Simple Storage Service(S3)存储桶中的应用程序内容通过服务器端加密进行保护。对 GameLift Streams 的所有 API 调用均通过安全的 SSL 连接进行,并使用 AWS 签名版本 4?进行身份验证。此外,它还确保了流客户端与由 Amazon GameLift Streams 托管的流服务器之间的安全通信。
-
Amazon GameLift Streams 与 AWS 身份和访问管理(AWS IAM)集成,以控制对您的资源的访问权限。您可以创建 IAM 策略,为用户、角色和组定义权限,指定哪些人可以对 Amazon GameLift Streams 资源执行哪些操作。它支持基于身份的策略,并提供特定的条件密钥以进行细粒度的访问控制,使您能够为流式传输基础设施实施最低权限。
-
不是。
-
可以,使用基于 Windows 的流类(gen5n_win2022 和 gen4n_win2022)时,Amazon GameLift Streams 支持反作弊技术。这些流类在 Microsoft Windows Server 2022 Base 上运行,并且专门设计为与反作弊软件兼容,使您能够为游戏实施额外的安全措施。
-
需要定期重新创建流组,以便接收新的功能更新、安全补丁和错误修复。作为最佳实践,AWS 建议每 3 到 4 周重新创建一次流组。流组过期后,您会在控制台中看到“需要维护”的消息。超过 180 天未更新的流组在重新创建之前无法接受新的应用程序链接。您可以使用维护消息中的“创建流组”按钮来简化重新创建过程。
服务等级协议
全部打开-
有关更多信息,请参阅 SLA 页面。
-
不是。
-
开始使用 Amazon GameLift Streams 的过程很简单。首先,完成一次性设置任务,包括创建一个 AWS 账户并设置合适的凭证。然后,将您的应用程序上传到 Amazon S3 存储桶中,创建一个 Amazon GameLift Streams 应用程序,配置一个流组,并直接在控制台中测试您的流。有关更多详细信息,请参阅入门页面。
-
要将您的游戏导入到 Amazon GameLift Streams 中,首先将您的游戏文件以未压缩的文件夹格式上传到 Amazon Simple Storage Service(S3)存储桶中。然后,通过指定应用程序文件的 S3 URL 和可执行文件的启动路径,并选择合适的运行时环境来创建 Amazon GameLift Streams 应用程序资源。应用程序处于“就绪”状态后,您就可以安全地从 S3 存储桶中删除原始文件,以避免这些文件持续产生存储费用。
-
可以,我们的 WebSDK 和示例 Web 应用程序旨在无缝集成到现有的网页中,并且在客户体验的任何部分都不会出现 AWS 品牌元素。Amazon GameLift Streams 还允许您自定义加载屏幕和背景图像。对于加载屏幕,您可以通过 Amazon GameLift Streams Web SDK 示例客户端实施自定义背景和徽标。对于背景图像,当您的应用程序尚未启动或已退出时,您可以通过在应用程序的配置文件夹中放置一个名为“Background.bmp”的文件来显示自定义图像。为获得最佳显示效果,背景图像应与 1920 x 1080 像素的流分辨率匹配。
-
为确保在 Amazon GameLift Streams 上成功推出游戏,请提前 6 到 8 周开始准备。将您的发布时间线和预期的峰值并发流数量告知 Amazon GameLift Streams 团队,以便他们确保有足够的服务限制。在多个流类和运行时环境中进行全面的兼容性测试,如果需要举办大规模活动,请预留容量,并对您的 API 和配置进行负载测试。在发布前 2 到 3 天创建最终的应用程序资源和流组,并在整个发布活动期间保持流组的一致性,以便更轻松地进行故障排除。有关更多详细信息,请参阅亚马逊 GameLift Streams 开发人员指南中的启动清单主题。