在 Amazon GameLift Streams 中準備應用程式 - Amazon GameLift Streams

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon GameLift Streams 中準備應用程式

若要使用 Amazon GameLift Streams 設定串流,請先上傳要串流的遊戲或其他應用程式,然後在 Amazon GameLift Streams 中設定應用程式資源,以定義遊戲的中繼資料。Amazon GameLift Streams 應用程式包含您上傳的檔案 (可執行檔和任何支援檔案),以及指示 Amazon GameLift Streams 在串流時執行哪些可執行檔的組態。

每個 Amazon GameLift Streams 應用程式代表您內容的單一版本。如果您有多個版本,您必須為每個版本建立個別的應用程式。建立應用程式之後,您就無法更新檔案。如果您需要更新可執行檔或任何支援檔案,您必須建立新的 Amazon GameLift Streams 應用程式。

上傳之前

建立 Amazon GameLift Streams 應用程式之前,請確認您的遊戲符合下列限制。

Name 預設 可調整 說明
每個應用程式的檔案 30,000 個檔案 是* 在此帳戶中,您可以在應用程式中擁有的檔案數量上限。
單一檔案大小 80 GiB 應用程式中單一檔案的大小上限。請注意,gibibyte (GiB) 等於 1024*1024*1024 位元組。
應用程式大小 100 GiB 是* 在此帳戶中,Amazon GameLift Streams 應用程式的總大小上限。請注意,gibibyte (GiB) 等於 1024*1024*1024 位元組。

*若要請求增加,請登入 AWS 管理主控台 並開啟 Service Quotas 主控台至 Amazon GameLift Streams,您可以在已套用帳戶層級配額值欄中檢閱目前的配額,然後提交請求來增加值。

注意

為了節省自己的時間和精力,請確認您準備好上傳的檔案是應用程式的正確版本。雖然稍後可以上傳新版本,但您需要為每個版本重複 建立應用程式 步驟。

將您的應用程式上傳至 Amazon S3 儲存貯體

現在您已為 Amazon GameLift Streams 準備遊戲,是時候將遊戲上傳至您 AWS 帳戶中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體了。

注意

Amazon GameLift Streams 所需的 Amazon S3 儲存類別是預設的 S3 標準。Amazon GameLift Streams 不支援其他儲存類別,例如 S3 Glacier 或物件被 SS3 Intelligent-Tiering 移至不常存取封存存取

若要最佳化儲存成本,您可以在完成且應用程式處於就緒狀態後,從 S3 建立應用程式 儲存貯體刪除應用程式。

將您的應用程式上傳至 Amazon S3
  1. 登入 AWS 管理主控台 ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 建立 Amazon S3 儲存貯體。輸入儲存貯體名稱,然後選取 AWS 區域。此區域必須與稍後建立的應用程式和串流群組相同。AWS 區域 Amazon GameLift Streams 支援的 和遠端位置 如需 Amazon GameLift Streams 可用 AWS 區域 位置的清單,請參閱 。對於其餘欄位,請保留預設設定。

    如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的建立儲存貯體。

  3. 開啟新的儲存貯體,並使用應用程式檔案上傳資料夾。

    警告

    您必須將應用程式檔案上傳為未壓縮的資料夾。請勿上傳.zip資料夾。

建立應用程式

Amazon GameLift Streams 應用程式是一種資源,其中包含在 Amazon GameLift Streams 基礎設施上執行的遊戲或互動式應用程式,並透過雲端串流為玩家提供遊戲體驗。應用程式會在 AWS 運算執行個體上執行,並轉譯透過網際網路直接串流到玩家裝置的遊戲內容,因此不需要玩家在本機下載、安裝或執行遊戲。

當您建立 Amazon GameLift Streams 應用程式時,您可以將 Amazon S3 URI 提供給上傳到 Amazon S3 儲存貯體的應用程式資料夾,以及有效可執行檔或指令碼檔案的相對路徑。

Amazon GameLift Streams 不會讓您的應用程式檔案與 Amazon S3 儲存貯體中的檔案保持同步。如果您想要更新 Amazon GameLift Streams 應用程式中的檔案,您必須建立新的 Amazon GameLift Streams 應用程式。

Console
使用 Amazon GameLift Streams 主控台建立 Amazon GameLift Streams 應用程式
  1. 登入 AWS 管理主控台 並開啟 Amazon GameLift Streams 主控台。選擇與您上傳檔案集的 Amazon S3 儲存貯體 AWS 區域 相同的 。如需詳細資訊,請參閱AWS 管理主控台 《 入門指南》中的選擇區域

  2. 在導覽列中,選擇應用程式,然後選擇建立應用程式

  3. 執行期設定中,輸入下列內容:

    1. 執行期環境

      這是要在其中執行應用程式的執行時間環境。Amazon GameLift Streams 可以在 Windows、Ubuntu 22.04 LTS 或 Proton 上執行。

      建立工作流程完成後,即無法編輯此欄位。

      選擇下列其中一個執行時間環境。

      • 對於 Linux 應用程式:

        • Ubuntu 22.04 LTS (UBUNTU, 22_04_LTS)

      • 對於 Windows 應用程式:

        • Microsoft Windows Server 2022 Base (WINDOWS, 2022)

        • Proton 9.0-2 (PROTON, 20250516)

        • Proton 8.0-5 (PROTON, 20241007)

        • Proton 8.0-2c (PROTON, 20230704)

      檢閱描述並使用比較檢查清單來協助您選取應用程式的最佳執行時間環境。

  4. 一般設定中,輸入下列內容:

    1. Description

      這是可供人閱讀的應用程式標籤。此值不需是唯一的。建議依照最佳實務使用有意義的應用程式描述、名稱或標籤。您隨時可編輯此欄位。

    2. 基本路徑

      這是應用程式的根資料夾在 Amazon S3 儲存貯體中的 Amazon S3 URI。該資料夾與任何子資料夾都應包含您的組建可執行檔,以及任何支援檔案。

      有效 URI 是儲存貯體字首,其中包含執行和串流應用程式所需的所有檔案。範例:名為 的儲存貯體mygamebuild包含三個完整版本的遊戲組建檔案,每個檔案位於不同的資料夾中。您想要串流 mygamebuild-EN101 資料夾中的組建。在此範例中,URI 為 s3://amzn-s3-demo-bucket/mygamebuild-EN101

      建立工作流程完成後,即無法編輯此欄位。

    3. 可執行的啟動路徑

      這是 Amazon GameLift Streams 將串流之可執行檔的 Amazon S3 URI。 GameLift 此檔案必須包含在應用程式的根資料夾內。對於 Windows 應用程式,檔案必須是有效的 Windows 可執行檔或批次檔案,其檔案名稱以 .exe、.cmd 或 .bat 結尾。對於 Linux 應用程式,檔案必須是有效的 Linux 二進位可執行檔或指令碼,其中包含以 shebang ('#!') 開頭的初始解譯器行。

      建立工作流程完成後,即無法編輯此欄位。

  5. (選用) 在應用程式日誌路徑中,輸入下列內容:

    1. 應用程式日誌路徑

      這個 (或這些) 應用程式資料夾或檔案路徑中,包含您要儲存的日誌。指定相對於應用程式基底路徑的每個日誌路徑。如果您使用此功能,那麼在每個串流工作階段結束時,Amazon GameLift Streams 就會將您指定的檔案複製到您命名的 Amazon S3 儲存貯體。複製作業不會在應用程式資料夾的子資料夾中反覆執行。

      若要停用記錄,請移除所有應用程式日誌路徑,並清除應用程式日誌輸出目的地。

      您隨時可編輯此欄位。

    2. 應用程式日誌輸出

      這是 Amazon S3 儲存貯體的 URI,Amazon GameLift Streams 會將應用程式日誌檔複製到此處。若您指定應用程式日誌路徑,則這是必填欄位。

      若要停用記錄,請移除所有應用程式日誌路徑,並清除應用程式日誌輸出目的地。

      您隨時可編輯此欄位。

      為了要代表您儲存日誌檔,您必須將 S3 儲存貯體的許可授與 Amazon GameLift Streams 以便儲存。如果您讓 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" } } } ] }
  6. (選用) 在標籤中,將標籤指派給此應用程式。

    標籤是可協助您組織 AWS 資源的標籤。如需詳細資訊,請參閱標記您的 AWS 資源

    例如,若要追蹤應用程式版本,請使用 等標籤application-version : my-game-1121

  7. 選擇建立應用程式

CLI

必要條件

您必須 AWS CLI 使用使用者登入資料和您選擇的 來設定 AWS 區域。如需設定說明,請參閱 下載 AWS CLI

使用 建立應用程式 AWS CLI

在您的 AWS CLI 中使用 CreateApplication 命令,為您的內容自訂 。

aws gameliftstreams create-application \ --description "MyGame v1" \ --runtime-environment '{"Type":"PROTON", "Version":"20241007"}' \ --executable-path "launcher.exe" \ --application-source-uri "s3://amzn-s3-demo-bucket/example"

where

  • description:

    這是可供人閱讀的應用程式標籤。此值不需是唯一的。建議依照最佳實務使用有意義的應用程式描述、名稱或標籤。您隨時可編輯此欄位。

  • runtime-environment:

    這是要在其中執行應用程式的執行時間環境。Amazon GameLift Streams 可以在 Windows、Ubuntu 22.04 LTS 或 Proton 上執行。

    建立工作流程完成後,即無法編輯此欄位。

    選擇下列其中一個執行時間環境。

    • 對於 Linux 應用程式:

      • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

    • 對於 Windows 應用程式:

      • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

      • Proton 9.0-2 (Type=PROTON, Version=20250516)

      • Proton 8.0-5 (Type=PROTON, Version=20241007)

      • Proton 8.0-2c (Type=PROTON, Version=20230704)

  • application-source-uri:

    這是應用程式的根資料夾在 Amazon S3 儲存貯體中的 Amazon S3 URI。該資料夾與任何子資料夾都應包含您的組建可執行檔,以及任何支援檔案。

    有效 URI 是儲存貯體字首,其中包含執行和串流應用程式所需的所有檔案。範例:名為 的儲存貯體mygamebuild包含三個完整版本的遊戲組建檔案,每個檔案位於不同的資料夾中。您想要串流 mygamebuild-EN101 資料夾中的組建。在此範例中,URI 為 s3://amzn-s3-demo-bucket/mygamebuild-EN101

    建立工作流程完成後,即無法編輯此欄位。

  • executable-path:

    這是 Amazon GameLift Streams 將串流之可執行檔的相對路徑和檔案名稱。指定相對於 的路徑application-source-uri。此檔案必須包含在應用程式的根資料夾內。對於 Windows 應用程式,檔案必須是有效的 Windows 可執行檔或批次檔案,其檔案名稱以 .exe、.cmd 或 .bat 結尾。對於 Linux 應用程式,檔案必須是有效的 Linux 二進位可執行檔或指令碼,其中包含以 shebang ('#!') 開頭的初始解譯器行。

    建立工作流程完成後,即無法編輯此欄位。

如果請求成功,Amazon GameLift Streams 會傳回類似以下的回應:

{ "Arn": "arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6", "Description": "MyGame v1", "RuntimeEnvironment": { "Type": "PROTON", "Version": "20241007" }, "ExecutablePath": "launcher.exe", "ApplicationSourceUri": "s3://amzn-s3-demo-bucket/example", "Id": "a-9ZY8X7Wv6", "Status": "PROCESSING", "CreatedAt": "2022-11-18T15:47:11.924000-08:00", "LastUpdatedAt": "2022-11-18T15:47:11.924000-08:00" }

若要檢查應用程式的狀態,請呼叫 GetApplication 命令,如下列範例所示。

aws gameliftstreams get-application / --identifier a-9ZY8X7Wv6

Amazon GameLift Streams 需要幾分鐘的時間來準備您的應用程式。在此期間,新應用程式處於處理狀態。當您的應用程式處於就緒狀態時,您可以前往下一個步驟 建立串流群組

如果請求傳回錯誤,或應用程式已建立但處於錯誤狀態,請確定您使用的使用者登入資料包含對 Amazon S3 和 Amazon GameLift Streams 的存取。

注意

當應用程式處於就緒狀態時,Amazon GameLift Streams 已成功將您的應用程式檔案複製到其私有 Amazon S3 儲存貯體。您可以刪除原始應用程式檔案,而不會影響您的新應用程式。這也可協助您最佳化儲存成本。如需詳細資訊,請參閱刪除應用程式

編輯應用程式

您可以更新處於就緒狀態的任何應用程式的設定。如果您變更現有的應用程式,這些變更會影響新串流群組和現有串流群組的串流行為。

Console
在 Amazon GameLift Streams 主控台中編輯應用程式
  1. 在導覽列中,選擇應用程式以檢視現有應用程式的清單。選擇您要編輯的應用程式。

  2. 在應用程式詳細資訊頁面中,找到包含您要變更之設定的區段,然後選擇相應編輯管理標籤

  3. 您可以變更以下設定:

    簡短描述

    這是可供人閱讀的應用程式標籤。此值不需是唯一的。建議依照最佳實務使用有意義的應用程式描述、名稱或標籤。您隨時可編輯此欄位。

    應用程式日誌路徑

    這個 (或這些) 應用程式資料夾或檔案路徑中,包含您要儲存的日誌。指定相對於應用程式基底路徑的每個日誌路徑。如果您使用此功能,那麼在每個串流工作階段結束時,Amazon GameLift Streams 就會將您指定的檔案複製到您命名的 Amazon S3 儲存貯體。複製作業不會在應用程式資料夾的子資料夾中反覆執行。

    若要停用記錄,請移除所有應用程式日誌路徑,並清除應用程式日誌輸出目的地。

    您隨時可編輯此欄位。

    應用程式日誌輸出

    這是 Amazon S3 儲存貯體的 URI,Amazon GameLift Streams 會將應用程式日誌檔複製到此處。若您指定應用程式日誌路徑,則這是必填欄位。

    若要停用記錄,請移除所有應用程式日誌路徑,並清除應用程式日誌輸出目的地。

    您隨時可編輯此欄位。

    為了要代表您儲存日誌檔,您必須將 S3 儲存貯體的許可授與 Amazon GameLift Streams 以便儲存。如果您讓 Amazon GameLift Streams 建立用於記錄的儲存貯體,則會在建立時自動套用許可政策。如果您提供自己的儲存貯體,則需要自行套用許可政策。

    如需詳細資訊,請參閱應用程式日誌儲存貯體許可政策

    Tags (標籤)

    標籤是可協助您組織 AWS 資源的標籤。如需詳細資訊,請參閱標記您的 AWS 資源

    例如,若要追蹤應用程式版本,請使用 等標籤application-version : my-game-1121

  4. 選擇儲存變更。Amazon GameLift Streams 主控台會返回應用程式詳細資訊頁面,顯示更新的設定。

CLI

必要條件

您必須 AWS CLI 使用使用者登入資料和您選擇的 來設定 AWS 區域。如需設定說明,請參閱 下載 AWS CLI

使用 編輯應用程式 AWS CLI

在您的 AWS CLI 中使用 UpdateApplication 命令,為您的內容自訂 。

aws gameliftstreams update-application \ --identifier a-9ZY8X7Wv6 \ --description "MyGame v2" \ --application-log-paths '[".\\logs"]' \ --application-log-output-uri "s3://amzn-s3-demo-bucket/mygame"

where

  • identifier:要編輯的應用程式。

    此值是可唯一識別應用程式資源的 Amazon Resource Name (ARN) 或 ID。

    ARN 範例: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6

    ID 範例: a-9ZY8X7Wv6

  • description:

    這是可供人閱讀的應用程式標籤。此值不需是唯一的。建議依照最佳實務使用有意義的應用程式描述、名稱或標籤。您隨時可編輯此欄位。

  • application-log-paths:

    這個 (或這些) 應用程式資料夾或檔案路徑中,包含您要儲存的日誌。指定相對於應用程式基底路徑的每個日誌路徑。如果您使用此功能,那麼在每個串流工作階段結束時,Amazon GameLift Streams 就會將您指定的檔案複製到您命名的 Amazon S3 儲存貯體。複製作業不會在應用程式資料夾的子資料夾中反覆執行。

    若要停用記錄,請移除所有應用程式日誌路徑,並清除應用程式日誌輸出目的地。

    您隨時可編輯此欄位。

  • application-log-output-uri:

    這是 Amazon S3 儲存貯體的 URI,Amazon GameLift Streams 會將應用程式日誌檔複製到此處。若您指定應用程式日誌路徑,則這是必填欄位。

    若要停用記錄,請移除所有應用程式日誌路徑,並清除應用程式日誌輸出目的地。

    您隨時可編輯此欄位。

    為了要代表您儲存日誌檔,您必須將 S3 儲存貯體的許可授與 Amazon GameLift Streams 以便儲存。如果您讓 Amazon GameLift Streams 建立用於記錄的儲存貯體,則會在建立時自動套用許可政策。如果您提供自己的儲存貯體,則需要自行套用許可政策。

    如需詳細資訊,請參閱應用程式日誌儲存貯體許可政策

刪除應用程式

如果您不再需要應用程式,請將其刪除。此動作會永久刪除應用程式,包括與 Amazon GameLift Streams 一起存放的應用程式內容檔案。不過,這不會刪除您上傳到 Amazon S3 儲存貯體的原始檔案;您可以在 Amazon GameLift Streams 建立應用程式之後隨時刪除這些檔案,這是 Amazon GameLift Streams 存取 Amazon S3 儲存貯體的唯一時間。

您只能刪除符合下列條件的應用程式:

  • 應用程式處於就緒錯誤狀態。

  • 應用程式不會在任何進行中的串流工作階段中串流。您必須等到用戶端結束串流工作階段,或在 Amazon GameLift Streams API 中呼叫 TerminateStreamSession 以結束串流。

如果應用程式連結到任何串流群組,您必須先將其從所有關聯的串流群組取消連結,才能將其刪除。在 主控台中,對話方塊將引導您完成此程序。

Console
使用 Amazon GameLift Streams 主控台刪除應用程式
  1. 登入 AWS 管理主控台 並開啟 Amazon GameLift Streams 主控台

  2. 在導覽列中,選擇應用程式以檢視現有應用程式的清單。選擇您要刪除的應用程式。

  3. 在應用程式詳細資訊頁面中,選擇刪除

  4. 刪除對話方塊中,確認刪除動作。

CLI

必要條件

您必須 AWS CLI 使用使用者登入資料和您選擇的 來設定 AWS 區域。如需設定說明,請參閱 下載 AWS CLI

使用 刪除應用程式 AWS CLI

在您的 AWS CLI 中使用 DeleteApplication 命令,為您的內容自訂 。

aws gameliftstreams delete-application \ --identifier arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6

where

  • identifier:要刪除的應用程式。

    此值是可唯一識別應用程式資源的 Amazon Resource Name (ARN) 或 ID。

    ARN 範例: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6

    ID 範例: a-9ZY8X7Wv6

Amazon GameLift Streams 會開始刪除應用程式。在此期間,應用程式處於 Deleting 狀態。Amazon GameLift Streams 刪除應用程式後,您就無法再擷取它。

應用程式日誌儲存貯體許可政策

如果您提供自己的應用程式日誌 Amazon S3 儲存貯體,您將需要將許可政策套用至儲存貯體,以便 Amazon GameLift Streams 可以將日誌檔案儲存到儲存貯體。使用下列範本更新 Amazon S3 中的許可。

儲存貯體許可政策範本

複製下列政策代碼,並將其套用至您要用於應用程式日誌的儲存貯體。務必將 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" } } } ] }
注意

Amazon GameLift Streams 不允許跨帳戶資源存取。Amazon S3 儲存貯體必須擁有與應用程式資源相同的 AWS 帳戶。雖然此服務會強制強制執行,但最佳實務是一律包含 aws:SourceAccountaws:SourceArn條件,以防止授予許可給任何 AWS 服務時發生混淆代理人問題

連結的串流群組

如果您想要使用相同的運算資源集區串流多個應用程式,您可以將多個應用程式連結至相同的串流群組。同樣地,如果您想要使用不同的運算資源集來串流應用程式,您可以將應用程式連結至多個串流群組。

如需將應用程式連結至串流群組的詳細資訊,請參閱 多應用程式串流群組概觀