本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon GameLift Agent
Amazon GameLift Agent 會監督 Amazon GameLift 機群上遊戲伺服器程序的執行。代理程式會部署到機群中的每個運算,並為運算提供自動化程序管理、託管管理和記錄。若要使用代理程式,您必須將遊戲伺服器建置與 Amazon GameLift Server 5.x SDK 或更新版本整合。
Amazon GameLift Agent 可在外部用於非受管 GameLift 機群的 Amazon 機EC2群。(受管機EC2群會自動處理客服人員的任務。) 您可以選擇執行 Amazon GameLift 機群,包括 Anywhere 機群,無論是否有代理程式。如果沒有客服人員,您必須提供完成必要任務的替代解決方案。
部署至運算時,Amazon GameLift Agent 應該在啟動任何遊戲伺服器程序之前啟動。啟動時,客服人員會完成下列任務:
向 Amazon 註冊運算 GameLift Anywhere 使用 RegisterCompute 的機群API。
呼叫 GetComputeAuthTokenAPI來擷取授權權杖,並存放它以供在運算上執行的伺服器程序使用。
-
設定 WebSocket URL運算的環境變數,並建立與 Amazon GameLift 服務的 WebSocket 連線。
-
從 Amazon GameLift 服務請求機群執行期組態的最新版本。
-
根據執行期組態指示啟動和停止伺服器程序。
Amazon GameLift Agent 的原始程式碼和建置說明可在 Amazon GameLift Agent
關於客服人員
Amazon GameLift Agent 旨在處理機群的下列任務:
程序管理
啟動執行期指示中定義的新伺服器程序。客服人員可能會使用與客服人員一起部署的自訂執行期組態。或者,您可以提供
RuntimeConfiguration
作為機群定義的一部分。此方法的優點在於,您可以隨時修改機群的執行期組態。客服人員會定期向 Amazon GameLift 服務請求更新的執行期組態。監控伺服器程序啟用,並在程序未及時啟用時終止程序。
將活動訊號傳送至 Amazon GameLift。如果代理程式無法傳送活動訊號,運算可能會標記為過時。
GameLift 當伺服器程序結束時,向 Amazon 報告。Amazon GameLift 使用此資訊來監控遊戲工作階段置放的遊戲伺服器可用性。
發出伺服器程序的機群事件,包括:
-
SERVER_PROCESS_INVALID_PATH
:遊戲伺服器程序啟動參數的設定不正確。 -
SERVER_PROCESS_TERMINATED_UNHEALTHY
:遊戲伺服器程序未在啟用後 3 分鐘內報告有效的運作狀態檢查,因此終止。 -
SERVER_PROCESS_FORCE_TERMINATED
:在 30 秒內傳送遊戲伺服器程序後OnProcessTerminate()
,遊戲伺服器程序並未完全結束。 -
SERVER_PROCESS_CRASHED
:遊戲伺服器程序因某種原因而當機。
-
運算管理
從 Amazon GameLift 服務接收訊息以關閉運算。
提示 Amazon 要終止的運算 GameLift。
日誌
將日誌上傳至您 AWS 帳戶中的 Amazon S3 儲存貯體。