

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 开始使用 Amazon GameLift Streams
<a name="getting-started"></a>

 本节可以帮助您成功开始通过 Amazon GameLift Streams 直播应用程序和游戏。本节中的主题涵盖了 end-to-end从将您的应用程序上传到 Amazon Streams 到测试您的内容在 GameLift 直播中的表现的过程。它还涵盖了帮助您为流媒体做好准备的重要步骤，例如选择正确的运行时和流媒体类配置以优化性能和成本。

**Topics**
+ [在 Amazon GameLift Streams 中选择配置](choosing-configuration.md)
+ [配置选项](configuration-options.md)
+ [在 Amazon Streams 中开始你的第一个 GameLift 直播](streaming-process.md)

# 在 Amazon GameLift Streams 中选择配置
<a name="choosing-configuration"></a>

 本指南可以帮助您选择最佳的运行时环境和配置设置，以便通过 Amazon GameLift Streams 流式传输应用程序和游戏。配置设置会直接影响内容的性能以及与 Amazon GameLift Streams 上运行内容相关的成本。有多种选项可以支持各种应用程序和图形保真度。

 您可以在中找到配置选项的完整列表[配置选项](configuration-options.md)。

 以下关键术语可以帮助您了解这些配置选项是如何协同工作的：
+  *运行时是*指将在 Amazon GameLift Streams 上执行您的应用程序的底层操作系统和软件环境。主要的运行时环境选项是 Windows、Linux 和 Proton。
+  *流类*代表 Amazon Stre GameLift ams 中可用的不同资源配置，因操作系统、CPU、GPU、RAM 和其他规格而异。流类是流组的配置选项，它定义了分配给流会话的硬件资源和租赁模型（单个虚拟机上可以运行多少并发流）。
+  *多租户*允许多个用户共享相同的底层硬件资源，对于不需要最大硬件功能的应用程序来说，这可能是一个经济实惠的选择。具有多租户功能的流类可以托管多个流，但费用为一个资源。“High” 直播类有 1:2 的租期，而 “Ultra” 直播类有 1 个租期。

 在设置 Amazon GameLift Streams 配置时，您选择的运行时环境决定了兼容且可供您使用的特定流类选项。将您的应用程序要求与正确的运行时环境和流类相匹配是优化 Amazon GameLift Streams 性能和成本效益的关键。

 直播费用取决于直播类别。有关费用的详细清单，请参阅 Amazon GameLift Streams [定价页面](https://aws.amazon.com/gamelift/streams/pricing/)。

## 起点
<a name="choosing-configuration-starting-point"></a>

根据您的应用程序，这些都是开始直播的好起点。稍后，您可以探索其他配置选项以优化成本。

### 适用于 Windows 应用程序
<a name="choosing-configuration-starting-point-windows"></a>

我们建议从微软 Windows Server 2022 Base 运行时环境和`gen6n_ultra_win2022`流类开始使用 Windows 应用程序。运行时环境和流类的这种组合为基于 Windows 的内容提供了可预测的、支持良好的配置，具有最高的兼容性和高性能，适用于各种图形密集型用例。

还有其他提供不同价格和性能选项的 Windows 流媒体类配置（请参阅[Windows 直播类](configuration-options.md#configuration-options-stream-classes-windows)），您可能需要尝试这些配置，以找到最适合您的应用程序的配置。

Windows 运行时支持使用 DirectX 11 或 DirectX 12 的游戏和其他 3D 应用程序，以及包括 Unity 2022.3、虚幻引擎 4.27 和虚幻引擎 5 到 5.6 在内的游戏引擎。 IPv4 和都支持流式传输 IPv6。

### 适用于 Linux 应用程序
<a name="choosing-configuration-starting-point-linux"></a>

 对于为在 Linux 上本机运行而构建的应用程序，请使用 Ubuntu 22.04 LTS 运行时环境。要优化性能，请选择 Pro 或 Ultra 直播类别之一（请参阅[Linux 和 Proton 直播类](configuration-options.md#configuration-options-stream-classes-linuxproton)）。要针对成本进行优化，请选择小型、中型或高流速直播类别之一。这些都是经济实惠的选择，其中多个并发流会话共享相同的计算资源。

**重要**  
Amazon GameLift Streams 中的 Linux 运行时不支持直播 IPv6。客户端必须流式传输应用程序 IPv4。

## 成本优化
<a name="choosing-configuration-explore-more"></a>

 虽然起点建议是一个不错的起点，但您可能需要考虑其他配置选项来优化成本，同时保持良好的性能。

### 使用 Proton 运行时环境
<a name="choosing-configuration-proton-runtime"></a>

 许多 Windows 应用程序可以在 Proton 运行时环境中运行。Proton 是一个针对游戏进行了优化的兼容层，可在 Linux 上运行。此运行时的直播类选项包括在 NVIDIA 硬件上运行的强大 GPU 资源，支持 DirectX 11，从 Proton 8.0-5 开始，还支持 DirectX 12。有关此选项的更多详细信息，请访问 [Proton 维基](https://github.com/ValveSoftware/Proton/wiki)。如果您选择探索在 Proton 上运行应用程序，我们建议您使用 Proton 9.0-2 开始测试。

**重要**  
Amazon Streams 中的 Proton 运行时不支持 GameLift 直播。 IPv6客户端必须流式传输应用程序 IPv4。

**重要**  
您的 Windows 应用程序在 Proton 运行时环境中的兼容性取决于您的特定应用程序要求。例如，在虚幻引擎5中，Proton 9.0-2的支持要好于Proton 8.0-2c。通常，你的游戏越新，你需要的Proton版本越新。我们强烈建议您在本地环境中彻底测试此运行时以确保最佳性能。使用我们的 [Proton 疑难解答指南](troubleshoot-compatibility-wp.md)来帮助你完成这项工作。

### 将你的应用程序编译到 Linux
<a name="choosing-configuration-compile-windows-to-linux"></a>

 另一个节省成本的选择是将您的应用程序定位为在 Linux 上本机运行。首先在您的端测试应用程序，以确保应用程序的 Linux 版本能够按需运行。如果您的应用程序在 Linux 上成功运行，则可以按照适用于 Linux 应用程序的 Amazon GameLift Streams 配置选项进行操作。

 有关将虚幻引擎应用程序交叉编译到Linux的信息，请参阅虚幻引擎开发者指南中的[交叉编译工具链](https://dev.epicgames.com/documentation/en-us/unreal-engine/linux-development-requirements-for-unreal-engine#cross-compiletoolchain)部分。

## 决定配置
<a name="choosing-configuration-deciding-configuration"></a>

 要确定最佳的运行时和流类配置，请考虑以下关键问题。

1.  **您的应用程序或游戏是为哪个平台构建的？** 如果你有 Windows 应用程序，那么 Windows 运行时环境设置起来最简单。如果您的应用程序是为 Linux 构建的，那么 Linux 运行时环境是最直接的。为了节省流式传输 Windows 应用程序的成本，您可以探索 Proton 运行时环境或将应用程序编译为 Linux。

1.  **性能与成本对您的用例有多重要？** Windows 运行时环境可能提供最佳性能，但运行成本可能更高。相比之下，Proton 运行时环境更具成本效益，但您可能会遇到性能稍低或潜在的兼容性问题。这是因为基于 Windows 的应用程序可能需要某些可用的 Proton 运行时尚未完全支持的功能。因此，在 Proton 环境中运行应用程序时，可能会遇到功能或图形差异。我们建议您在不同的运行时环境和流类上测试您的应用程序，以评估性能和成本的权衡。有关运行时环境选项的完整列表，请参阅[运行时环境](configuration-options.md#configuration-options-runtime)。

1.  **您的应用程序对图形的要求是什么？** 应用程序的图形要求可以帮助确定哪种流类配置最合适。如果您的应用程序需要高性能 GPUs，则应考虑使用具有更多视频内存 (VRAM) 和系统内存 (RAM) 的流类。例如，与 gen4n 流类相比，gen5n 和 gen6n 流类为图形密集型应用程序提供的性能最高可提高 3 倍。如果您的应用程序需要最大的 GPU 和 CPU 资源，则应考虑 “专业” 流类别。相反，如果您的应用程序能够在较低的图形保真度下有效运行，则可以使用任何共享 GPU 的小型、中型或高流型流类来节省成本。请参阅[直播课程](configuration-options.md#configuration-options-stream-classes)。

1.  **您愿意在设置上投入多少精力？** 设置应用程序的最简单方法是使用 Windows 或 Linux 运行时在本地运行它，因为它们更有可能与您的应用程序兼容。 out-of-the-box相比之下，Proton 运行时环境需要更多的动手测试，才能确定最适合您需求的 Proton 配置。在运行时环境选项之间做出决定时，请考虑可以分配给设置和测试过程的时间和资源。

1.  **你有没有在各种运行时环境和流类上测试过你的应用程序？** 我们建议在不同的运行时环境和流媒体类上测试您的内容，以了解其性能。这可以帮助您根据稳定性、图形质量、功能和输入响应等因素确定最适合的方案。

## 您的配置选择如何影响后续步骤
<a name="choosing-configuration-impact-runtime-choice"></a>

 您选择的配置会直接影响流媒体环境设置的后续阶段。具体来说：
+  **创建 Amazon GameLift Streams 应用程序**：当您将游戏或应用程序上传到 Amazon GameLift Streams 时，您需要指定要使用的运行时环境。此选项将决定您可以使用的直播组的类型。
+  **链接到直播组**：如果您已经有一个现有的直播组，则您的运行时环境选择需要与该组的配置相匹配。例如，如果您选择 Windows 运行时，则只能将应用程序链接到为 Windows 应用程序设置的直播组。
+  **创建直播组**：创建新的直播组时，必须选择与所选运行时兼容的直播类。您选择的流类别应与您的应用程序所需的显卡要求和计算能力相匹配。

 通过了解您选择的配置设置如何影响后续步骤，您可以更好地规划整体流媒体实施并确保流畅的集成过程。

## 后续步骤
<a name="choosing-configuration-next-steps"></a>

 根据您选择的配置，您可以采用几种不同的方法来设置应用程序以进行流式传输。

### 如果你选择了 Windows 或 Linux 运行时
<a name="choosing-configuration-next-steps-windows-linux"></a>

 对于 Windows 或 Linux 运行时，接下来的步骤是在 Amazon GameLift Streams 中设置直播，然后测试直播。有关更多信息，请转至 [在 Amazon Streams 中开始你的第一个 GameLift 直播](streaming-process.md)。

### 如果你正在考虑使用 Proton
<a name="choosing-configuration-next-steps-proton"></a>

 应用程序与 Proton 的兼容性取决于应用程序的特定要求。因此，我们建议您在将应用程序引入 Amazon Streams 之前，先在不同的 Proton GameLift 版本上对其进行测试。这可以帮助您确定能够为您的需求提供最佳性能和兼容性的 Proton 设置。通过在 Amazon GameLift Streams 之外进行测试，您可以验证应用程序的性能和功能，并调试特定于运行时的问题。有关信息，请参阅[测试和排除与 Proton for Amazon Streams 的兼容性 GameLift](troubleshoot-compatibility-wp.md)。

 选择特定的 Proton 配置后，就可以在 Ama GameLift zon Streams 中设置直播了。有关更多信息，请继续[在 Amazon Streams 中开始你的第一个 GameLift 直播](streaming-process.md)。

# 配置选项
<a name="configuration-options"></a>

## 运行时环境
<a name="configuration-options-runtime"></a>

*运行时是*指在 Ama GameLift zon Streams 上执行您的应用程序的底层操作系统和软件环境。主要的运行时选项是 Windows、Linux 和 Proton。您可以在入门工作流程[第 2 步：为 Amazon GameLift Streams 配置您的应用程序](streaming-process.md#streaming-process-create-application)中指定运行时环境。

 [Proton](https://github.com/ValveSoftware/Proton/wiki) 是一个兼容层，它使许多 Windows 应用程序能够在基于 Linux 的环境中运行。如果您计划使用 Proton，我们建议您测试应用程序在本地计算机上的运行方式。有关更多信息，请参阅[测试和排除与 Proton for Amazon Streams 的兼容性 GameLift](troubleshoot-compatibility-wp.md)。


| 运行时 | 说明 | 
| --- | --- | 
| Microsoft Windows Server 2022 Base | 与 Windows 应用程序兼容。支持 IPv6 在直播中使用 IPv4 和会话。 | 
| Ubuntu 22.04 LTS | 与 Linux 应用程序兼容。 不支持 IPv6 在直播会话中使用。 | 
| Proton 9.0-2 | 与 Windows 应用程序兼容。基于 Proton exp [er](https://github.com/ValveSoftware/Proton/tree/experimental_9.0) imental\$19.0 分支。开始测试与 Proton 兼容性的推荐版本。不支持 IPv6 在直播会话中使用。 | 
| Proton 8.0-5 | 与 Windows 应用程序兼容。基于 Proton exp [er](https://github.com/ValveSoftware/Proton/tree/experimental_8.0) imental\$18.0 分支。不支持 IPv6 在直播会话中使用。 | 
| Proton 8.0-2c | 与 Windows 应用程序兼容。基于 Proton exp [er](https://github.com/ValveSoftware/Proton/tree/experimental_8.0) imental\$18.0 分支。不支持 IPv6 在直播会话中使用。 | 

### 限制
<a name="configuration-options-runtime-limits"></a>

 Ubuntu 22.04 LTS 不支持游戏手柄。其他运行时环境支持游戏手柄，具体取决于最终用户的操作系统和浏览器。有关更多信息，请参阅 [支持的浏览器和输入](sdk-browsers-input.md)。

## 直播课程
<a name="configuration-options-stream-classes"></a>

 *流类*代表 Amazon Stre GameLift ams 中可用的不同资源配置，CPU、GPU、RAM 和其他规格各不相同。流类是流组的配置选项，它定义了分配给流会话的硬件资源和租赁模型（单个虚拟机上可以运行多少并发流）。您可以在入门工作流程[第 3 步：管理 Amazon GameLift Streams 如何流式传输您的应用程序](streaming-process.md#streaming-process-stream-group)中指定直播类。

### Windows 直播类
<a name="configuration-options-stream-classes-windows"></a>


| 流类 | 亚马逊 EC2 配置 | 说明 | 
| --- | --- | --- | 
|  `gen6n_pro_win2022`  | g6.4xlarge 亚马逊 EC2 实例上的 Windows 运行时 |  （NVIDIA、专业级）支持具有极高 3D 场景复杂度、需要最大资源的应用程序。在 Microsoft Windows Server 2022 Base 上运行应用程序，并且支持 DirectX 12。兼容 Unreal Engine 直至版本 5.6、32 位和 64 位应用程序，以及反作弊技术。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：16。RAM：64 GB。VRAM：24 GB。 租赁：支持多达一个并发流会话。  | 
|  `gen6n_ultra_win2022`  | g6.2xlarge 亚马逊 EC2 实例上的 Windows 运行时 |  （NVIDIA，超高）支持具有高 3D 场景复杂度的应用程序。在 Microsoft Windows Server 2022 Base 上运行应用程序，并且支持 DirectX 12。兼容 Unreal Engine 直至版本 5.6、32 位和 64 位应用程序，以及反作弊技术。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：8。RAM：32 GB。VRAM：24 GB。 租赁：支持多达一个并发流会话。  | 
|  `gen6n_medium_win2022`  | 租期为 1:1 的 g6f.2xlarge 亚马逊 EC2 实例上的 Windows 运行时 |  （NVIDIA，小型）支持 3D 场景复杂度较低的应用程序。在微软 Windows Server 2022 Base 上运行应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：2。内存：8 GB。VRAM：3 GB。 租赁：支持多达一个并发流会话。  | 
|  `gen6n_small_win2022`  | 租期为 1:1 的 g6f.large 亚马逊 EC2 实例上的 Windows 运行时 |  （NVIDIA，小型）支持 3D 场景复杂度较低的应用程序。在微软 Windows Server 2022 Base 上运行应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：2。内存：8 GB。VRAM：3 GB。 租赁：支持多达一个并发流会话。  | 
| `gen5n_win2022` | g5.2xlarge 亚马逊 EC2 实例上的 Windows 运行时 |   （NVIDIA，超高）支持具有极高 3D 场景复杂度的应用程序。在 Microsoft Windows Server 2022 Base 上运行应用程序，并且支持 DirectX 12 和 DirectX 11。支持 Unreal Engine 直至版本 5.6、32 位和 64 位应用程序，以及反作弊技术。使用 NVIDIA A10G Tensor Core GPU。  每个应用程序的资源：vCPUs：8。RAM：32 GB。VRAM：24 GB。  租赁：支持一个并发流会话。  | 
| `gen4n_win2022` | g4dn.2xlarge 亚马逊 EC2 实例上的 Windows 运行时 |   （NVIDIA，超高）支持具有高 3D 场景复杂度的应用程序。在 Microsoft Windows Server 2022 Base 上运行应用程序，并且支持 DirectX 12 和 DirectX 11。支持 Unreal Engine 直至版本 5.6、32 位和 64 位应用程序，以及反作弊技术。使用 NVIDIA T4 Tensor Core GPU。  每个应用程序的资源：vCPUs：8。RAM：32 GB。VRAM：16 GB。  租赁：支持一个并发流会话。  | 

### Linux 和 Proton 直播类
<a name="configuration-options-stream-classes-linuxproton"></a>


| 流类 | 亚马逊 EC2 配置 | 说明 | 
| --- | --- | --- | 
|  `gen6n_pro`  | g6.4xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA、专业级）支持具有极高 3D 场景复杂度、需要最大资源的应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：16。RAM：64 GB。VRAM：24 GB。 租赁：支持多达一个并发流会话。  | 
|  `gen6n_ultra`  | g6.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，超高）支持具有高 3D 场景复杂度的应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：8。RAM：32 GB。VRAM：24 GB。 租赁：支持多达一个并发流会话。  | 
|  `gen6n_high`  | 租期为 2:1 的 g6.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，高）支持具有 moderate-to-high 3D 场景复杂度的应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：4。RAM：16 GB。VRAM：12 GB。 租赁：支持多达两个并发流会话。  | 
|  `gen6n_medium`  | 租期为 4:1 的 g6.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，中）支持具有中等 3D 场景复杂度的应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：2。内存：8 GB。VRAM：6 GB。 租赁：支持多达四个并发流会话。  | 
|  `gen6n_small`  | 租期为 12:1 的 g6.4xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，小）支持具有轻量级 3D 场景复杂度和低 CPU 使用率的应用程序。使用 NVIDIA L4 Tensor Core GPU。 每个应用程序的资源：vCPUs：1。RAM：4 GB。VRAM：2 GB。 租赁：支持多达 12 个并发流会话。  | 
|  `gen5n_ultra`  | g5.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，超高）支持具有极高 3D 场景复杂度的应用程序。使用 NVIDIA A10G Tensor Core GPU。 每个应用程序的资源：vCPUs：8。RAM：32 GB。VRAM：24 GB。 租赁：支持一个并发流会话。  | 
|  `gen5n_high`  | 租期为 2:1 的 g5.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，高）支持具有 moderate-to-high 3D 场景复杂度的应用程序。使用 NVIDIA A10G Tensor Core GPU。 每个应用程序的资源：vCPUs：4。RAM：16 GB。VRAM：12 GB。 租赁：支持多达两个并发流会话。  | 
|  `gen4n_ultra`  | g4dn.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，超高）支持具有高 3D 场景复杂度的应用程序。使用 NVIDIA T4 Tensor Core GPU。 每个应用程序的资源：vCPUs：8。RAM：32 GB。VRAM：16 GB。 租赁：支持一个并发流会话。  | 
|  `gen4n_high`  | 租期为 2:1 的 g4dn.2xlarge 亚马逊 EC2 实例上的 Linux 运行时 |  （NVIDIA，高）支持具有 moderate-to-high 3D 场景复杂度的应用程序。使用 NVIDIA T4 Tensor Core GPU。 每个应用程序的资源：vCPUs：4。RAM：16 GB。VRAM：8 GB。 租赁：支持多达两个并发流会话。  | 

# 在 Amazon Streams 中开始你的第一个 GameLift 直播
<a name="streaming-process"></a>

 本教程将引导您完成开始使用 Amazon Stre GameLift ams 直播应用程序或游戏的步骤。Amazon GameLift Streams 运行您的应用程序，并将它们直接流式传输到您的最终用户的网络浏览器。您将学习如何上传和配置要流式传输的应用程序，以及如何管理 Amazon Streams 的 GameLift 直播方式。最后，您将通过在 Amazon Streams 控制台中直接与应用程序交互来测试您的应用程序如何在 Ama GameLift zon Streams 上进行 GameLift 流式传输。

**在开始之前，请先了解 Amazon GameLift Streams 的定价。**  
您可以在[定价页面](https://aws.amazon.com/gamelift/streams/pricing/)上找到 Amazon GameLift Streams 的费用。要了解更多信息，请参阅 [管理 Amazon GameLift Streams 的使用量和账单](pricing.md)。  
使用 Amazon GameLift Streams 会产生费用，特别是当您：  
在中创建 Amazon GameLift Streams 应用程序 [第 2 步：为 Amazon GameLift Streams 配置您的应用程序](#streaming-process-create-application)
在中创建直播组 [第 3 步：管理 Amazon GameLift Streams 如何流式传输您的应用程序](#streaming-process-stream-group)
 **不要跳过[第 5 步：清理（不要跳过）](#streaming-process-cleanup)**。为了避免在试用 Amazon GameLift Streams 后产生不必要的费用，您必须清理所有资源。

**Topics**
+ [先决条件](#streaming-process-prerequisites)
+ [步骤 1：将您的应用程序上传到 Amazon S3 存储桶](#streaming-process-upload-application)
+ [第 2 步：为 Amazon GameLift Streams 配置您的应用程序](#streaming-process-create-application)
+ [第 3 步：管理 Amazon GameLift Streams 如何流式传输您的应用程序](#streaming-process-stream-group)
+ [第 4 步：在 Amazon Streams 中测试您的 GameLift 直播](#streaming-process-stream-session)
+ [第 5 步：清理（不要跳过）](#streaming-process-cleanup)

## 先决条件
<a name="streaming-process-prerequisites"></a>

在开始本教程之前，请完成以下任务。
+ 如果您还没有管理权限，请注册一个 AWS 帐户并创建一个具有管理权限的用户。有关此任务的帮助，请参阅本指南中的[设置](setting-up.md)主题。此时您无需下载 Amazon GameLift Streams Web SDK 或进行设置，只需使用即可完成以下步骤 AWS 管理控制台。 AWS CLI 
+ 获取没有数字版权管理 (DRM) 的应用程序内容文件版本。将运行应用程序所需的文件（包括可执行文件和资产）收集到一个文件夹中，但*不要*压缩该文件夹。

## 步骤 1：将您的应用程序上传到 Amazon S3 存储桶
<a name="streaming-process-upload-application"></a>

 Amazon GameLift Streams 使用亚马逊简单存储服务 (Amazon S3) 将您的应用程序或游戏文件存储在云中并访问以进行直播。在此步骤中，您将应用程序文件上传到 Amazon S3 存储桶。在 Amazon S3 控制台中完成此步骤。

**注意**  
 Amazon GameLift Streams 要求的 Amazon S3 存储类别是默认 **S3 标准**。**Amazon Streams 不支持其他存储类别，例如 S3 Glac** **ier 或通过 S3 智能分层移至 “不**频繁****访问” 或 “存档访问**” 的**对象。 GameLift   
 为了优化存储成本，您可以在完成操作[第 2 步：为 Amazon GameLift Streams 配置您的应用程序](#streaming-process-create-application)且应用程序处于 “**就绪**” 状态后从 S3 存储桶中删除该应用程序。

**应用程序限制**


| Name | 默认值 | 可调整 | 说明 | 
| --- | --- | --- | --- | 
| 每个应用程序的文件 | 3 万个文件 | 是\$1 | 您可以在此账户中的一个应用程序中拥有的最大文件数。 | 
| 单个文件大小 | 80 GiB | 否 | 应用程序中单个文件的最大大小。请注意，千兆字节（GiB）等于 1024\$11024\$11024 字节。 | 
| 应用程序的大小 | 100GiB | 是\$1 | 此账户中 Amazon GameLift Streams 应用程序的最大总大小。请注意，千兆字节（GiB）等于 1024\$11024\$11024 字节。 | 

\$1要申请提高配额，请登录 AWS 管理控制台 并打开 [Amazon GameLift Streams](https://console.aws.amazon.com/servicequotas/home/services/gameliftstreams/quotas) 的 Service Quotas 控制台，在那里您可以在 “**已申请的账户级别配额值” 列中查看您当前的配额**，然后提交增加配额值的请求。

**将您的应用程序上传到亚马逊 S3**

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 创建 Amazon S3 存储桶。输入存储桶名称并选择 AWS 区域。此区域必须与您稍后创建的应用程序和直播组相同。[AWS 区域 以及 Amazon GameLift Streams 支持的直播地点](regions-quotas-rande.md)请参阅，了解 Amazon GameLift Streams 上线 AWS 区域 地点的列表。对于其余字段，请保留默认设置。

    有关更多说明，请参阅《*Amazon 简单存储服务用户指南》中的创建存储*[桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。

1. 打开新存储桶并上传包含您的应用程序文件的文件夹。
**警告**  
您必须将应用程序文件作为未压缩的文件夹上传。不要上传文件`.zip`夹。

**警告**  
 确保您上传的应用程序文件是正确的，并且在应用程序文件大小限制范围内。如果您想稍后更新文件，则必须重复此操作[第 2 步：为 Amazon GameLift Streams 配置您的应用程序](#streaming-process-create-application)，这可能需要几分钟。

## 第 2 步：为 Amazon GameLift Streams 配置您的应用程序
<a name="streaming-process-create-application"></a>

**Amazon GameLift Streams 中的应用程序是什么？**  
Amazon GameLift Streams 应用程序是一种包含游戏或交互式应用程序的资源，该应用程序在 Amazon GameLift Streams 基础设施上运行，并通过云流向玩家提供游戏体验。该应用程序在 AWS 计算实例上执行，并渲染游戏内容，这些内容通过互联网直接流式传输到玩家的设备，因此玩家无需在本地下载、安装或运行游戏。

在此步骤中，您将通过创建 Amazon Stream GameLift s 应用程序来配置要通过 Amazon Streams 进行 GameLift 流式传输的应用程序。创建 Amazon GameLift Streams 应用程序时，您需要提供上传到 Amazon S3 存储桶的应用程序文件夹的 Amazon S3 URI，以及有效的可执行文件或脚本文件的相对路径。在 Amazon GameLift Streams 控制台中完成此步骤。

**使用 Amazon GameLift Streams 控制台创建 Amazon GameLift Streams 应用程序**

1.  登录 AWS 管理控制台 并打开 [Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。选择与您上传文件集的 Amazon S3 存储桶相同的 AWS 区域 存储桶。有关更多信息，请参阅《*AWS 管理控制台 入门指南*》中的[选择区域](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/select-region.html)。

1.  在导航栏中，选择**应用程序**，然后选择**创建应用程序**。

1. 在**运行时设置**中，输入以下内容：

   1. **运行时环境**

      这是运行应用程序的运行时环境。[Amazon GameLift Streams 可以在 Windows、Ubuntu 22.04 LTS 或 Proton 上运行。](https://en.wikipedia.org/wiki/Proton_(software))

      **创建工作流程完成后，您无法编辑此字段。**

     从以下运行时环境中选择一个。
     +  对于 Linux 应用程序：
       +  Ubuntu 22.04 LTS () `UBUNTU, 22_04_LTS` 
     +  对于 Windows 应用程序：
       + 微软 Windows Server 2022 Base (`WINDOWS, 2022`)
       + Proton 9.0-2 () `PROTON, 20250516`
       + Proton 8.0-5 () `PROTON, 20241007`
       + Proton 8.0-2c () `PROTON, 20230704`

     查看描述并使用比较清单来帮助您为应用程序选择最佳的运行时环境。

1. 在**常规设置**中，输入以下内容：

   1. **描述**

       这是应用程序的用户可读标签。此值不必具有唯一性。为实现最佳实践，请为应用程序使用有意义的描述、名称或标签。您可以随时编辑此字段。

   1. **基本路径**

       这是 Amazon S3 存储桶中应用程序的根文件夹的 Amazon S3 URI。该文件夹和任何子文件夹应包含生成包可执行文件和所有支持文件。

       有效 URI 指的是存储桶前缀，其中包含运行和流式传输应用程序所需的所有文件。示例：一个名为 `mygamebuild` 的存储桶包含游戏生成包文件的三个完整版本，每个版本位于一个单独的文件夹中。您想要流式传输文件夹 `mygamebuild-EN101` 中的生成包。在此示例中，URI 为 `s3://amzn-s3-demo-bucket/mygamebuild-EN101`。

       **创建工作流程完成后，您无法编辑此字段。**

   1. **可执行文件启动路径**

       这是 Amazon Streams 将 GameLift 直播的可执行文件的 Amazon S3 URI。该文件必须包含在应用程序的根文件夹中。对于 Windows 应用程序，该文件必须是有效的 Windows 可执行文件或批处理文件，文件名以 .exe、.cmd 或 .bat 结尾。对于 Linux 应用程序，该文件必须是有效的 Linux 二进制可执行文件，或者是包含以 shebang（“`#!`”）开头的初始解释器行的脚本。

       **创建工作流程完成后，您无法编辑此字段。**

1. （可选）在**应用程序日志路径**中，输入以下内容：

   1. **应用程序日志路径**

       这是指向包含要保存的日志的应用程序文件夹或文件的单个或多个路径。请相对于您的应用程序基本路径指定每个日志路径。如果您使用此功能，则在每个直播会话结束时，Amazon Stre GameLift ams 会将您指定的文件复制到您命名的 Amazon S3 存储桶中。在应用程序文件夹的子文件夹中，复制操作不会递归执行。

       要禁用日志记录，请移除所有应用程序日志路径并清除应用程序日志输出目标。

       您可以随时编辑此字段。

   1. **应用程序日志输出**

       这是 Amazon S3 存储桶的 URI，Amazon GameLift Streams 将在其中复制应用程序日志文件。如果指定了应用程序日志路径，则此字段为必填项。

       要禁用日志记录，请移除所有应用程序日志路径并清除应用程序日志输出目标。

       您可以随时编辑此字段。

       要代表您保存日志文件，必须授予 Amazon GameLift Streams 对您的 S3 存储桶进行保存的权限。如果您让 Amazon GameLift Streams 创建用于记录的存储桶，则权限策略将在创建时自动应用。如果您提供自己的存储桶，则需要由您自行应用权限策略。

      **存储桶权限策略模板**

       复制以下策略代码，并将其应用到要用于存储应用程序日志的存储桶。请务必将 **amzn-s3-demo-bucket** 替换为现有 S3 存储桶的名称。

      ```
      {
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "PutPolicy",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "gameliftstreams.amazonaws.com"
              ]
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
              "StringEquals": {
                "aws:SourceAccount": "your 12-digit account id"
              }
            }
          }
        ]
      }
      ```

1.  （可选）在 “**标签**” 中，为此应用程序分配标签。

    标签是可以帮助您整理 AWS 资源的标签。有关更多信息，请参阅[为 AWS 资源添加标签](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。

    例如，要跟踪应用程序版本，请使用诸如之类的标签`application-version : my-game-1121`。

1.  选择**创建应用程序**。

 Amazon GameLift Streams 需要几分钟的时间来准备您的应用程序。在 “**应用程序**” 页面中，新应用程序处于 “**处理**中” 状态。当您的应用程序处于 “**就绪**” 状态时，您可以转到下一步[第 3 步：管理 Amazon GameLift Streams 如何流式传输您的应用程序](#streaming-process-stream-group)。

 如果请求返回错误，或者应用程序已创建但处于 “**错误**” 状态，请确保您使用的是包含访问 Amazon S3 和 Amazon GameLift Streams 权限的用户证书。

**注意**  
 当应用程序处于 “**就绪**” 状态时，您可以安全地删除 Amazon S3 存储桶中的应用程序文件，而不会影响您的新应用程序。这还有助于优化存储成本。有关更多信息，请参阅 [删除 应用程序](applications.md#applications-delete)。

 有关更多信息，请参阅[在 Amazon GameLift Streams 中准备应用程序](applications.md)。

## 第 3 步：管理 Amazon GameLift Streams 如何流式传输您的应用程序
<a name="streaming-process-stream-group"></a>

**什么是直播组？**  
 使用 GameLift 流组管理 Amazon Streams 如何流式传输您的应用程序。流组是 Amazon Streams 用于将您的应用程序 GameLift 流式传输给最终用户的计算资源的集合。创建直播组时，需要指定运行游戏的硬件配置（CPU、GPU、RAM）（称为*直播类*）、游戏可以运行的地理位置以及每个位置可以同时运行的直播数量（称为*流容量*）。您可以在创建直播组时链接应用程序，也可以等到稍后再链接，但必须先链接至少一个应用程序，然后才能从直播组进行直播。创建直播组后，Amazon GameLift Streams 会在您分配了流容量的位置分配计算资源。此时，您还可以将其他应用程序关联到直播组，这样您就可以选择要流式传输哪个应用程序。

 应用程序准备就绪后，接下来需要的是计算资源，让 Amazon Streams 对其进行 GameLift 流式传输。在此步骤中，您将通过创建 GameLift 流组来管理 Amazon Streams 如何流式传输您的应用程序。在 Amazon GameLift Streams 控制台中完成此步骤。

**在 Amazon Stream GameLift s 控制台中创建直播组**

1.  登录 AWS 管理控制台 并打开 [Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。选择要在 AWS 区域 哪里创建直播群组。此区域必须与您要通过直播组进行流式传输的应用程序的区域相同。有关更多信息，请参阅《*AWS 管理控制台 入门指南*》中的[选择区域](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/select-region.html)。

1.  要打开创建工作流程，请在导航窗格中选择**直播组**，然后选择**创建直播组**。

1. 在**定义直播组**中，输入以下内容：

   1. **描述**

       流组的用户可读标签。此值不必具有唯一性。作为最佳实践，请为流组使用有意义的描述、名称或标签。您可以随时编辑此字段。

   1. **标签**

       标签是可以帮助您整理 AWS 资源的标签。有关更多信息，请参阅[为 AWS 资源添加标签](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。

1.  在**选择直播类**中，为直播组选择一个直播类。

   1. **直播类选项**

      用于运行和流式传输应用程序的计算资源类型。这一选择会影响流式传输体验的质量以及成本。您只能为每个流组指定一个流类。选择最适合您的应用的课程。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/gameliftstreams/latest/developerguide/streaming-process.html)

   要继续，请选择 **Next**。

1.  在 “**链接应用程序**” 中，选择要流式传输的应用程序，或者选择 “**无应用程序**” 稍后再选择。创建直播组后，您可以对其进行编辑，以添加或移除应用程序。您只能链接处于`Ready`状态且运行时与您选择的流类兼容的应用程序。默认情况下，表中仅显示这些应用程序。要查看所有处于`Ready`状态的应用程序，请在下拉列表`All runtimes`中选择。
**注意**  
 如果您未在列表中看到您的应用程序，请检查当前 AWS 区域 设置。您只能将应用程序链接到位于同一区域的直播组。

    要继续，请选择 **Next**。

1.  在 “**配置直播设置” 中的 “****位置和容量**” 下，选择一个或多个您的直播组将有能力流式传输应用程序的位置。默认情况下，您创建直播组的区域（称为*主位置*）已添加到您的直播组中，无法删除。您可以通过选中要添加的每个位置旁边的复选框来添加其他地点。为了降低延迟和提高直播质量，您应该选择离用户更近的地点。

    您可以为每个位置指定其*流媒体容量*。流容量表示一次可以激活的并发流的数量。您可以设置每个流组中每个位置的流容量。
   +  **不间断容量：**如果此设置不为零，则表示分配给您的最小流式传输容量，该容量从不会释放回服务。无论是已用容量还是空闲容量，您始终都要为此基本容量水平付费。
   +  **最大容量：**此容量表示服务可以为您分配的最大容量。新创建的流可能需要几分钟才能启动。容量在空闲时会被释放回服务。您需要为分配给您的容量付费，直到容量被释放。
   +  **目标空闲容量：**此容量表示服务预先分配并保留的空闲容量，以备将来的活动需要。这有助于使您的用户免受容量分配延迟的影响。您需要为处于这种特意空闲状态的容量付费。

    您可以随时通过调整任一容量来增加或减少总直播容量，以满足用户对某个位置的需求的变化。Amazon GameLift Streams 使用常开容量池中预先分配的闲置资源（如果有）来满足流媒体请求。如果所有始终开启的容量都在使用中，Amazon GameLift Streams 将预配置额外的计算资源，但不得超过按需容量中指定的最大数量。随着分配容量的扩展，这一变化将反映在流组的总成本中。

    关联的应用程序将自动复制到每个启用的位置。应用程序必须在远程位置完成复制，然后远程位置才能托管视频流。要检查复制状态，请在创建流组后将其打开，并参考链接应用程序表中的**复制状态**列。单击当前状态可查看每个已添加位置的复制状态。
**注意**  
 应用程序数据将存储在所有已启用的位置，包括该直播组的主位置。直播会话数据将存储在主位置和直播发生的地点。

1.  在**查看并创建直播组**中，验证您的直播组配置并根据需要进行更改。一切都正确后，选择**创建直播组**。

 有关更多信息，请参阅[使用 Amazon Stre GameLift ams 直播群组管理直播](stream-groups.md)。

## 第 4 步：在 Amazon Streams 中测试您的 GameLift 直播
<a name="streaming-process-stream-session"></a>

**什么是直播会话？**  
 指直播本身。这是 Amazon Streams 从服务器向最终用户传输的 GameLift 直播实例。流会话在流组分配的计算资源或流容量上运行。也简称*直播*。

 您可以通过直接在 Amazon Streams 控制台中运行应用程序来查看应用程序的 GameLift 流式传输情况。当您启动直播时，Amazon Stre GameLift ams 会使用您的直播组分配的计算资源之一。因此，您的直播组中必须有可用容量。

**在 Amazon Stream GameLift s 控制台中测试您的直播**

1.  登录 AWS 管理控制台 并打开 [Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。

1. 您可以通过多种方式测试直播。从**直播群组**页面或**测试直播**页面开始，然后按照以下步骤操作：

   1. 选择要用于直播的直播组。

   1. 如果您从**直播组**页面开始，请选择**测试直播**。如果您从 “**测试直播**” 页面开始，请选择 “**选择**”。这将打开所选**直播组的测试**直播配置页面。

   1. 在**关联的应用程序**中，选择一个应用程序。

   1. 在**位置**中，选择具有可用容量的地点。

   1. （可选）在**程序配置**中，输入要在应用程序启动时传递给应用程序的命令行参数或环境变量。

   1. 确认您的选择，然后选择**测试直播**。

1. 直播加载后，你可以在直播中执行以下操作：

   1. **要连接输入，例如鼠标、键盘和游戏手柄（**测试直播**中不支持麦克风），请选择连接输入。**当你将光标移到直播窗口时，你会自动连接鼠标。

   1. 要在会话结束时将流式传输会话期间创建的文件导出到 Amazon S3 存储桶，请选择**导出文件**并指定存储桶的详细信息。导出的文件可以在 “**会话**” 页面上找到。

   1. 要以全屏模式观看直播，请选择**全**屏。按下 E **scap** e 可撤消此操作。

1. 要结束直播，请选择 “**终止会话**”。当直播断开连接时，直播容量将可用于启动另一个直播。

**注意**  
Amazon **Stream GameLift s 控制台中的测试**直播功能不支持麦克风。

## 第 5 步：清理（不要跳过）
<a name="streaming-process-cleanup"></a>

**避免不必要的成本**  
 当流组分配了容量时，即使该容量未使用，也会产生成本。为避免不必要的成本，请将您的直播组容量扩展到所需的大小。我们建议在开发过程中将不使用时始终在线的容量扩展到零。有关更多信息，请参阅[管理 Amazon GameLift Streams 费用的最佳实践](pricing.md#pricing-manage-costs)。

 完成本教程并且不再需要流式传输应用程序后，请按照以下步骤清理您的 Amazon GameLift Streams 资源。

**使用 Amazon Streams 控制台删除 GameLift 直播组**

1.  登录 AWS 管理控制台 并打开 [Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。

1.  要查看现有直播组的列表，请在导航窗格中选择**直播组**。

1.  选择要删除的直播组的名称。

1.  在直播组详情页面上，选择**删除**。

1.  在 “**删除**” 对话框中，确认删除操作。

 Amazon GameLift Streams 开始释放计算资源并删除直播组。在此期间，直播组处于 “**删除**” 状态。Amazon Stream GameLift s 删除直播组后，您将无法再对其进行检索。

**使用 Amazon GameLift Streams 控制台删除应用程序**

1. 登录 AWS 管理控制台 并打开 [Amazon GameLift Streams 控制台](https://console.aws.amazon.com/gameliftstreams/)。

1. 在导航栏中，选择**应用程序**以查看现有应用程序的列表。选择要删除的应用程序。

1. 在应用程序详细信息页面中，选择**删除**。

1. 在 “**删除**” 对话框中，确认删除操作。

 Amazon GameLift Streams 开始删除该应用程序。在此期间，应用程序处于`Deleting`状态。在 Amazon GameLift Streams 删除应用程序后，您将无法再对其进行检索。

 有关更多信息，请参阅[删除直播组](stream-groups.md#stream-groups-delete)和[删除 应用程序](applications.md#applications-delete)。