使用 Amazon GameLift Agent - Amazon GameLift

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

使用 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 GitHub中找到。

關於客服人員

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 儲存貯體。