

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

# 使用 Amazon GameLift Servers 代理程式
<a name="integration-dev-iteration-agent"></a>

Amazon GameLift Servers 代理程式會監督您Amazon GameLift Servers機群上遊戲伺服器程序的執行。代理程式會部署到機群中的每個運算，並為運算提供自動化程序管理、託管管理和記錄。若要使用 代理程式，您必須將遊戲伺服器建置與 5.x Amazon GameLift Servers版或更新版本的伺服器開發套件整合。

Amazon GameLift Servers 代理程式可在外部用於非受管 EC2 Amazon GameLift Servers機群的機群。（受管 EC2 機群會自動處理代理程式的任務。) 您可以選擇執行機Amazon GameLift Servers群，包括 Anywhere 機群，無論是否有 代理程式。如果沒有 代理程式，您必須提供完成必要任務的替代解決方案。

部署到運算時，應在啟動任何遊戲伺服器程序之前啟動Amazon GameLift Servers代理程式。啟動時，代理程式會完成下列任務：
+ 使用 [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html) API 向 Amazon GameLift ServersAnywhere 機群註冊運算。
+ 呼叫 [GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html) API 來擷取授權字符，並存放它以供在運算上執行的伺服器程序使用。
+ 設定運算的 WebSocket URL 環境變數，並建立與服務的 WebSocket 連線Amazon GameLift Servers。
+ 從 Amazon GameLift Servers服務請求機群執行時間組態的最新版本。
+ 根據執行時間組態指示啟動和停止伺服器程序。

Amazon GameLift Servers 客服人員的原始程式碼和建置說明可在[Amazon GameLift Servers客服人員](https://github.com/aws/amazon-gamelift-agent) GitHub 中取得。

## 關於 代理程式
<a name="gamelift-agent-usage"></a>

Amazon GameLift Servers 代理程式旨在為您的機群處理下列任務：

**程序管理**
+ 啟動執行時間指示中定義的新伺服器程序。代理程式可能會使用隨 代理程式一起部署的自訂執行期組態。或者，您可以提供 `RuntimeConfiguration`做為機群定義的一部分。此方法在 中具有優勢，您可以隨時修改機群的執行時間組態。代理程式會定期向 Amazon GameLift Servers服務請求更新的執行時間組態。
+ 監控伺服器程序啟用，並在未及時啟用時終止程序。
+ 將活動訊號傳送至 Amazon GameLift Servers。如果代理程式無法傳送活動訊號，則運算可能會標記為過時。
+ Amazon GameLift Servers 當伺服器程序結束時向 報告。 Amazon GameLift Servers會使用此資訊來監控遊戲伺服器在遊戲工作階段置放時的可用性。
+ 發出伺服器程序的機群事件，包括：
  + `SERVER_PROCESS_INVALID_PATH`：遊戲伺服器程序啟動參數的設定不正確。
  + `SERVER_PROCESS_TERMINATED_UNHEALTHY`：遊戲伺服器程序未在啟用後 3 分鐘內報告有效的運作狀態檢查，因此已終止。
  + `SERVER_PROCESS_FORCE_TERMINATED`：遊戲伺服器程序在 30 秒內`OnProcessTerminate()`傳送後未完全結束。
  + `SERVER_PROCESS_CRASHED`：遊戲伺服器程序因某些原因而當機。

**運算管理**
+ 從Amazon GameLift Servers服務接收訊息以關閉運算。
+ 提示要由 終止的運算Amazon GameLift Servers。

**日誌**
+ 將日誌上傳至您 AWS 帳戶中的 Amazon S3 儲存貯體。