本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
偵錯 Amazon GameLift Servers 機群問題
本主題提供如何解決Amazon GameLift Servers受管 EC2 機群問題的指引。
機群建立問題
當您建立受管 EC2 機群時,Amazon GameLift Servers服務會啟動建立機群的工作流程、在已安裝遊戲伺服器建置的情況下部署 EC2 執行個體,以及在每個執行個體上啟動遊戲伺服器程序。如需詳細說明,請參閱 。機群在達到作用中狀態之前,無法託管遊戲工作階段和玩家。
您可以透過識別發生問題的機群建立階段並檢閱機群建立事件和日誌,來偵錯防止機群變為作用中的問題。如果日誌不提供有用的資訊,問題可能是由於內部服務錯誤所致。在這種情況下,請嘗試再次建立機群。如果問題仍然存在,請嘗試重新上傳遊戲組建來解決可能的檔案損毀)。您也可以聯絡 Amazon GameLift Servers 支援或在論壇上張貼問題。
- 下載並驗證組建
-
在此階段, 會Amazon GameLift Servers取得您上傳的遊戲伺服器組建、擷取檔案,並執行任何安裝指令碼。如果機群建立在這些階段失敗,請查看機群事件和日誌以找出問題。可能的原因包括:
-
Amazon GameLift Servers 無法取得壓縮的建置檔案 (事件
FLEET_BINARY_DOWNLOAD_FAILED)。確認可以存取組建的儲存位置、您要在 AWS 區域 與組建相同的 中建立機群,以及Amazon GameLift Servers具有正確存取它的許可。 -
Amazon GameLift Servers 無法擷取建置檔案 (事件
FLEET_CREATION_EXTRACTING_BUILD)。 -
建置檔案中的安裝指令碼無法成功完成 (事件
FLEET_CREATION_FAILED_INSTALLER)。
-
- 建置機群資源
-
此階段的問題通常涉及機群資源的配置和部署。可能的原因包括:
-
請求的執行個體類型無法使用。
-
請求的機群類型 (Spot 或隨需) 無法使用。
-
- 啟用遊戲伺服器程序
-
在此階段, Amazon GameLift Servers 正在嘗試許多任務並測試關鍵元素,包括遊戲伺服器的可行性、執行時間組態設定,以及遊戲伺服器使用伺服器 SDK 與 Amazon GameLift Servers服務連線的能力。
注意
在此階段中,您可以遠端存取機群執行個體,以進一步調查問題。請參閱 遠端連線至Amazon GameLift Servers機群執行個體。
可能的問題包括:
伺服器程序不會開始執行。這表示機群的執行時間組態設定有問題 (事件
FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND或FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE。確認您已正確設定啟動路徑和選用的啟動參數。-
伺服器程序開始執行,但機群無法啟用。如果伺服器程序啟動並成功執行,但機群未移至作用中狀態,則可能原因是伺服器程序無法與服務通訊Amazon GameLift Servers。確認您的遊戲伺服器進行這些正確的伺服器 SDK 呼叫 (請參閱 初始化伺服器程序):
-
伺服器程序無法初始化 (事件
SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT)。伺服器程序未成功呼叫InitSdk()。 -
伺服器程序無法在準備好託管遊戲工作階段 (事件 ) Amazon GameLift Servers時通知
SERVER_PROCESS_PROCESS_READY_TIMEOUT。伺服器程序已初始化,但未ProcessReady()及時呼叫 。
-
-
VPC 互連連線請求失敗。針對使用 VPC 對等互連 (請參閱使用新機群設定 VPC 對等) 建立的叢集,VPC 對等互連會在此啟用階段完成。若 VPC 對等互連因為任何理由失敗,則新的叢集將無法移動至作用中狀態。您可以透過呼叫 describe-vpc-peering-connections 來追蹤對等請求的成功或失敗。請務必檢查是否存在有效的 VPC 對等互連授權 (describe-vpc-peering-authorizations),因為授權只會在 24 小時內有效。
伺服器程序問題
- 伺服器程序已啟動,但很快便失敗或報告運作狀態不佳。
-
除了您的遊戲組建發生問題外,若您嘗試在執行個體上同時執行太多伺服器程序,便可能產生此結果。並行程序的最佳數量取決於執行個體類型和您遊戲伺服器的資源需求。請嘗試減少同時程序的數量 (在叢集的執行時間組態中設定),查看效能是否改善。您可以使用Amazon GameLift Servers主控台 (編輯機群的容量配置設定) 或呼叫 AWS CLI 命令 update-runtime-configuration 來變更機群的執行期組態。
機群刪除問題
- 叢集因執行個體數量上限而無法終止。
-
此錯誤訊息指出要刪除的叢集由於仍有作用中的執行個體,因此不允許刪除。您必須先將叢集向下擴展是零個作用中執行個體。您可以透過手動將叢集的所需執行個體數設為 "0",接著等待向下擴展生效,來執行此作業。請務必關閉自動擴展,這將抵銷手動設定。
- VPC 動作未獲得授權。
-
此問題僅適用於您特別為 建立 VPC 互連連線的機群 (請參閱 設定 的 VPC 對等互連 Amazon GameLift Servers。 這種情況是因為刪除機群的程序也包括刪除機群的 VPC 和任何 VPC 對等互連。 您必須先呼叫 Amazon GameLift Servers CreateVpcPeeringAuthorization() 的服務 API 或使用 AWS CLI 命令 來取得授權
create-vpc-peering-authorization。一旦您擁有授權,您便可以刪除叢集。