

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

# Unreal 的外掛程式：使用 Amazon GameLift Servers Anywhere 在本機託管您的遊戲
<a name="unreal-plugin-anywhere"></a>

使用此工作流程，使用 Anywhere 機群將本機工作站設定為遊戲伺服器主機。您可以使用它來測試遊戲伺服器整合，然後再部署到雲端型受管機群。它也適用於反覆進行遊戲開發期間的本機測試。

**若要啟動 Amazon GameLift Servers Anywhere 工作流程：**
+ 在 Unreal 編輯器主工具列中，選擇Amazon GameLift Servers選單，然後選取 **Host with Anywhere**。此動作會開啟外掛程式頁面 **Deploy Anywhere**，它提供六個步驟來整合、建置和啟動遊戲元件。

## 步驟 1：設定您的設定檔
<a name="unreal-plugin-anywhere-profile"></a>

選擇您要在遵循此工作流程時使用的設定檔。您選取的設定檔會影響工作流程中的所有步驟。您建立的所有資源都與設定檔 AWS 的帳戶相關聯，並放置在設定檔的預設 AWS 區域中。設定檔使用者的許可決定您對 AWS 資源和動作的存取。

**設定使用者設定檔**

1. 從可用設定檔的下拉式清單中選取設定檔。如果您還沒有設定檔，或想要建立新的設定檔，請前往 **Amazon GameLift** 功能表，然後選擇**設定 AWS 使用者設定檔**。

1. 如果引導狀態不是「作用中」，請選擇**引導設定檔**，並等待狀態變更為「作用中」。

## 步驟 2：設定遊戲程式碼
<a name="unreal-plugin-anywhere-integrate"></a>

在此步驟中，準備您的遊戲伺服器和遊戲用戶端組建以使用 Amazon GameLift Servers。如果您尚未整合遊戲程式碼，請參閱 [Unreal 的外掛程式：整合您的遊戲程式碼](unreal-plugin-integrate.md)。輸入本機工作站上遊戲可執行檔的路徑。
+ 遊戲伺服器：將您的遊戲伺服器與適用於 的伺服器 SDK 整合，Amazon GameLift Servers並封裝您的遊戲伺服器建置。如需說明，請參閱[Unreal 的外掛程式：整合您的遊戲程式碼](unreal-plugin-integrate.md)。遊戲伺服器必須與伺服器 SDK 整合，以便與 Amazon GameLift Servers服務建立通訊，並回應啟動新遊戲工作階段和接受遊戲用戶端連線的提示。
+ 遊戲用戶端：您至少需要能夠使用 IP 地址和連接埠資訊連線到遊戲伺服器的遊戲用戶端。如果您尚未為 設定遊戲用戶端元件Amazon GameLift Servers，您可以使用 AWS CLI 工具手動請求新的遊戲工作階段、取得連線資訊，並使用該資訊來連接遊戲用戶端。

  在某個時間點，您需要有後端服務，才能將新的遊戲工作階段請求傳送至Amazon GameLift Servers服務，並將連線資訊轉傳回遊戲用戶端。您可以使用外掛程式隨附的測試地圖，將用戶端Amazon GameLift Servers功能新增至您的遊戲專案。如需建置自訂解決方案的說明，請參閱 [整合Amazon GameLift Servers遊戲用戶端功能](gamelift-sdk-client-api.md)。

## 步驟 3：連線至 Anywhere 機群
<a name="unreal-plugin-anywhere-fleet"></a>

在此步驟中，您會指定要使用的 Anywhere 機群。Anywhere 機群會定義一組運算資源，這些資源可以位於任何地方，用於遊戲伺服器託管。
+ 如果您目前使用的 AWS 帳戶有現有的 Anywhere 機群，請開啟機群名稱下拉式清單欄位，然後選擇機群。此下拉式清單僅顯示目前作用中使用者設定檔 AWS 區域中的 Anywhere 機群。
+ 如果沒有現有機群，或者您想要建立新的機群，請選擇建立新的 Anywhere 機群並提供機群名稱。

在您為專案選擇 Anywhere 機群之後， Amazon GameLift Servers 會驗證機群狀態為作用中，並顯示機群 ID。您可以在 Unreal 編輯器的輸出日誌中追蹤此請求的進度。

## 步驟 4：註冊您的工作站
<a name="unreal-plugin-anywhere-register"></a>

在此步驟中，您會將本機工作站註冊為新 Anywhere 機群中的運算資源。

**將工作站註冊為 Anywhere 運算**

1. 輸入本機電腦的運算名稱。如果您在機群中新增多個運算，名稱必須是唯一的。

1. 為您的本機電腦提供 IP 地址。此欄位預設為您機器的公有 IP 地址。您也可以使用 localhost (127.0.0.1)，只要您在相同的電腦上執行遊戲用戶端和伺服器。

1. 選擇註冊運算。您可以在 Unreal 編輯器的輸出日誌中追蹤此請求的進度。

為了回應此動作， Amazon GameLift Servers 會驗證它是否可以連接到運算，並傳回有關新註冊的運算的資訊。它也會建立遊戲可執行檔初始化與服務通訊時所需的主控台引數Amazon GameLift Servers。

## 步驟 5：產生身分驗證字符
<a name="unreal-plugin-anywhere-auth"></a>

在 Anywhere 運算上執行的遊戲伺服器程序需要身分驗證字符才能呼叫 Amazon GameLift Servers服務。每當您從外掛程式啟動遊戲伺服器時，外掛程式會自動產生並存放 Anywhere 機群的身分驗證權杖。驗證字符值會儲存為命令列引數，您的伺服器程式碼可在執行時間擷取該引數。

上述程式碼範例也可讓您[AWS 針對 API 請求使用 Signature 第 4 版 (SigV4)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。SigV4 是將身分驗證資訊新增至 API 請求的 AWS 簽署通訊協定。

在此步驟中，您不需要採取任何動作。

## 步驟 6：啟動遊戲
<a name="unreal-plugin-anywhere-launch"></a>

此時，您已完成使用 在本機工作站上啟動和播放多玩家遊戲所需的所有任務Amazon GameLift Servers。

**播放您的託管遊戲**

1. 啟動您的遊戲伺服器。遊戲伺服器將在準備好託管遊戲工作階段Amazon GameLift Servers時通知 。

1. 啟動您的遊戲用戶端並使用新功能來啟動新的遊戲工作階段。此請求會透過新的後端服務傳送至 Amazon GameLift Servers 。為了回應 ， 會Amazon GameLift Servers呼叫在本機電腦上執行的遊戲伺服器，以啟動新的遊戲工作階段。當遊戲工作階段準備好接受玩家時， Amazon GameLift Servers會提供連線資訊，讓遊戲用戶端加入遊戲工作階段。