選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 Amazon 設定本機測試 GameLift Anywhere

焦點模式
使用 Amazon 設定本機測試 GameLift Anywhere - Amazon GameLift

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

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

注意

本主題涵蓋與 Amazon GameLift 伺服器 5.x SDK版整合的遊戲的本機測試。如果您的遊戲使用伺服器 4.x 版或更早SDK版本,請參閱 使用 Amazon GameLift Local 測試您的整合

使用 Amazon GameLift Anywhere 機群和您自己的硬體,可在模擬託管環境中反覆建置和測試遊戲元件。設定 Anywhere 機群並註冊本機裝置,以建立與 Amazon GameLift 服務的連線。在裝置上安裝遊戲伺服器建置、啟動遊戲伺服器程序,並視需要測試遊戲功能。您可以視需要更新遊戲伺服器建置,以測試每個新的建置迭代。

使用 Anywhere 機群,您可以使用 AWS CLI或 測試指令碼進行測試。如果您已將遊戲用戶端與 Amazon 整合 GameLift,您可以在相同的本機裝置上或不同的裝置上執行用戶端。

使用 進行本機測試 Anywhere 機群對於測試與 Amazon 的遊戲伺服器整合特別有用 GameLift。您可以完全了解本機機器上的所有託管活動,以及事件和記錄資料。

注意

您是否使用 Unreal Engine 或 Unity 的 Amazon GameLift 外掛程式? 這些工具包括使用 設定本機測試的引導式工作流程 Anywhere 機群。請遵循 Unity 外掛程式:使用 Amazon 設定本機測試 GameLift Anywhere或 的文件Unreal 的外掛程式:使用 Amazon 設定本機測試 GameLift Anywhere

設定本機 Anywhere 機群

請依照下列步驟建立 Anywhere 本機工作站的機群。如需使用適用於 Amazon 的 AWS CLI或 AWS Management Console 的詳細指示 GameLift,請參閱 建立 Amazon GameLift Anywhere 機群

若要建立 Anywhere 機群
  1. 為您的本機工作站建立自訂位置。(AWS CLI 或 主控台)。自訂位置只是您計劃包含在 中的運算資源的標籤 Anywhere 機群。自訂位置名稱必須以 開頭custom-。例如:custom-my_laptop。請參閱 建立自訂位置

  2. 建立 Anywhere 機群 (AWS CLI 或 主控台)。在此步驟中,使用本機工作站的自訂位置建立機群資源。請參閱 建立 Anywhere 機群

    記下新機群的 ID 或ARN值。在下一個步驟中,您將需要用到此值。

  3. 將本機工作站註冊為機群運算 (AWS CLI僅限 )。同時 Anywhere 機群必須至少有一個運算資源來託管您的遊戲伺服器。請參閱 將運算新增至機群。若要將運算新增至機群,您需要下列資訊:

    • 運算名稱。機群中的每個運算都必須具有唯一的名稱。

    • 所以此 Anywhere 機群識別碼。您可以使用 FleetIDFleetArn

    • 運算的連線資訊。指定 IpAddressDnsName。這是 Amazon GameLift 和遊戲用戶端將連線到遊戲伺服器的方式。

    • 中的自訂位置 Anywhere 機群。

    記下GameLiftServiceSdkEndpoint傳回值。當您更新遊戲伺服器以在 上執行時,您將需要此值 Anywhere 機群。

更新並安裝您的遊戲伺服器

此任務假設您已將遊戲伺服器建置與 Amazon GameLift Server SDK 5.x 整合。整合程序涉及將程式碼新增至您的遊戲伺服器,以便其可以與 Amazon GameLift 服務互動,以啟動和管理遊戲工作階段。

對於 Anywhere 機群,您需要手動設定特定遊戲伺服器設定。在 Amazon GameLift 受管機群上,這些設定會自動設定。

為 準備遊戲伺服器 Anywhere 機群
  1. 取得身分驗證權杖。每次與 Amazon GameLift 服務通訊時,您的遊戲伺服器都必須包含身分驗證權杖。Amazon GameLift 身分驗證權杖為短期,必須定期重新整理。

    最佳實務是建立指令碼以完成下列任務:

    • 呼叫 AWS CLI動作 get-compute-auth-token

    • 將傳回的權杖值存放在遊戲伺服器程序可以擷取的地方,例如本機運算的環境變數中。

    在運算上安裝 指令碼與遊戲伺服器。將指令碼設定為在開始第一個遊戲伺服器程序之前執行。當遊戲伺服器程序處於作用中狀態時,請定期執行指令碼以維護有效的身分驗證權杖。運算上的所有遊戲伺服器程序都可以使用相同的身分驗證權杖。

  2. 更新您的 Amazon GameLift 遊戲伺服器程式碼。當您將遊戲伺服器程式碼與 Amazon GameLift 伺服器整合時SDK,會將呼叫新增至動作 InitSdk()。當遊戲伺服器在 上執行時 Anywhere 機群,此呼叫需要額外的伺服器參數。如需詳細資訊,請參閱 初始化伺服器程序Amazon GameLift 伺服器 SDK 5.x 以取得開發語言。伺服器參數為:

    • webSocketUrl – 將此參數設定為當您向機群註冊運算時傳回GameLiftServiceSdkEndpoint的值。

    • hostId – 將此參數設定為您在向 Anywhere 機群註冊運算時指定的運算名稱。

    • fleetId – 將此參數設定為 的 ID Anywhere 機群。

    • authToken – 將此參數設定為權杖,該權杖會回應擷取運算真aiton 權杖的請求而傳回。

    • processId – 設定此參數以識別在本機運算上執行的遊戲伺服器程序。每個並行遊戲伺服器程序都必須具有唯一的程序 ID。

    每個遊戲伺服器程序使用的伺服器參數值,需要特定於程序執行的 Anywhere 機群運算。如需如何取得運算適當值的詳細資訊,請參閱 將運算新增至機群。最佳實務是在本機運算上將 webSocketUrlfleetIdhostIdauthToken設定為環境變數。在運算上執行的所有伺服器程序都會使用這些值。

  3. 在本機運算上安裝遊戲伺服器建置。包含執行遊戲伺服器所需的所有相依性。

  4. 啟動在本機運算上執行的一或多個遊戲伺服器程序。當遊戲伺服器程序呼叫伺服器SDK動作 時ProcessReady(),程序已準備好託管遊戲工作階段。

測試遊戲工作階段活動

使用遊戲工作階段測試您的遊戲伺服器整合。如果您沒有與 Amazon GameLift 功能整合的遊戲用戶端,您可以使用 CLI AWS 開始遊戲工作階段。嘗試下列案例:

  • 建立遊戲工作階段。呼叫create-game-session 命令 (或 CreateGameSessionAPI操作)。指定您的 Anywhere 機群的 ID 和自訂位置。此呼叫會傳回新遊戲工作階段的唯一識別符。

  • 檢查遊戲工作階段狀態。 呼叫describe-game-sessions命令 (或 DescribeGameSessionsAPI動作)。指定遊戲工作階段 ID。此呼叫會傳回詳細的遊戲工作階段資訊,包括遊戲工作階段狀態。處於作用中狀態的遊戲工作階段已準備好供玩家連線。若要取得機群的所有遊戲工作階段清單,請呼叫 list-game-sessions 命令 (或 ListGameSessionsAPI動作)。

  • 連線至遊戲工作階段。如果您的遊戲用戶端能夠加入遊戲工作階段,請使用遊戲工作階段資訊中包含的連線資訊。

在遊戲伺服器上迭代

您可以使用相同的 Anywhere 機群和運算來測試遊戲伺服器建置的其他版本。

  1. 清除現有的 GameSession如果遊戲伺服器程序當機或無法呼叫 ProcessEnding(),Amazon 會在遊戲伺服器停止傳送運作狀態檢查GameSession後 GameLift 清除 。

  2. 產生新的遊戲伺服器建置。變更遊戲伺服器和套件的修訂建置。

  3. 根據本機運算更新遊戲伺服器建置。您先前的 Anywhere 機群仍然處於作用中狀態,而且您的筆記型電腦仍然在機群中註冊為運算資源。

  4. 取得更新的授權權杖。呼叫 get-compute-auth-tokenCLI命令,並將權杖存放在本機運算上。

  5. 啟動在本機運算上執行的一或多個遊戲伺服器程序。當遊戲伺服器處理呼叫 時ProcessReady(),即可用於測試。

將您的遊戲轉換為 Amazon GameLift 受管機群

完成開發測試並準備啟動後,這是轉換至 Amazon GameLift 受管機群的好時機。使用受管機群微調和測試您的遊戲託管資源。實作您的遊戲工作階段置放解決方案 (佇列和相符者),選取最佳託管硬體 (包括 Spot 機群) 和位置,然後選擇擴展容量的策略。您可能也想要開始使用 AWS CloudFormation 來更有效率地管理所有遊戲託管資源的生命週期,包括機群、佇列和配對器。

您需要進行一些微幅修改,才能從本機 Anywhere 測試機群到 Amazon GameLift 受管機群。您可以重複使用相同的佇列和相符者。執行下列任務:

  • 將遊戲伺服器程式碼呼叫變更為 InitSdk()移除伺服器參數。對於受管機群,Amazon GameLift 會自動追蹤此資訊。

  • 建立 Amazon GameLift 建置資源。使用 Anywhere 測試機群,您必須手動將遊戲伺服器建置和相依性部署到每個機群運算。使用受管機群,您可以建立遊戲建置套件並將其上傳至 Amazon GameLift,並自動將其部署至所有機群運算。部署 Amazon GameLift 託管的自訂伺服器建置 如需封裝遊戲建置檔案以及使用 Amazon S3 儲存貯體中的檔案建立建置資源的詳細資訊,請參閱 。請勿包含註冊運算並取得身分驗證權杖的指令碼,因為 Amazon GameLift 會自動使用受管機群處理這些任務。

  • 建立受管機群。使用主控台或 建立機群 AWS CLI,指定EC2受管機群。這種類型的機群需要額外的組態設定,包括指定建置資源和執行個體類型。您都需要設定執行期組態,以管理每個機群運算的遊戲伺服器生命週期。如需建立受管機群的詳細資訊,建立 Amazon GameLift 受管EC2機群請參閱 。

  • 重新導向機群別名 (選用)。如果您設定別名來搭配您的 Anywhere 機群,您可以為受管機群重複使用相同的別名。如需建立或更新別名的詳細資訊,建立 Amazon GameLift 別名請參閱 。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。