> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 Game Manager 部署組建

> 透過 Game Manager 部署 PlayFab 多人遊戲伺服器 VM 組建的步驟，包括上傳資產、選取 VM 大小，以及設定區域和待命伺服器。

本文列出使用 Game Manager 部署/建立 VM 組建的一般步驟。

如果這是您第一次部署組建，建議使用 [Windows Runner C# 範例](/zh-TW/services/playfab/multiplayer/servers/windows-runner-sample)或 [Wrapper 範例](/zh-TW/services/playfab/multiplayer/servers/wrapper-sample)部署組建。兩者都附有實際部署伺服器所需的所有資產。

<Note>
  若要使用和檢視 PlayFab 多人遊戲伺服器，您需要從 Game Manager 啟用此功能。如需指示，請參閱[啟用 PlayFab 伺服器功能](/zh-TW/services/playfab/multiplayer/servers/enable-playfab-multiplayer-servers)。
</Note>

如需每個參數可使用之值的詳細資料，請參閱[組建定義](/zh-TW/services/playfab/multiplayer/servers/build-definition)。

## 透過 Game Manager 部署的步驟

1. 登入 [Game Manager](https://developer.playfab.com)

2. 前往 **My Studios and Titles** 頁面，然後選取您的遊戲以顯示儀表板

3. 前往 **Multiplayer** > **Servers** 頁面，選取右上角的 **New Build** 以建立新組建

4. 從組建詳細資料開始，使用描述性字串作為組建名稱

5. 在開發期間，選取具有有限免費使用量的伺服器，例如 **Dasv4**。若要深入了解定價，請參閱 [PlayFab 多人遊戲伺服器的計費](/zh-TW/services/playfab/multiplayer/servers/billing-for-thunderhead)

6. 為每部電腦的伺服器數設定您想要的值

   下圖顯示資訊區段中使用的值。

   <img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/newBuild01.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=272e81b64ef74c10704b7bb3352e9868" alt="組建詳細資料，包括組建名稱、虛擬機器選擇 Dasv4，以及每部電腦 2 部伺服器" width="2266" height="765" data-path="images/playfab/multiplayer/servers/newBuild01.PNG" />

7. 接下來是伺服器詳細資料部分，您需要選取作業系統類型，**Windows** 或 **Linux**。然後根據您選擇的作業系統，選取伺服器類型：處理序或容器。

<Note>
  對於 Linux 平台，您需要建立自己的容器映像。如需更多指示，請參閱[建立和部署 Linux 組建](/zh-TW/services/playfab/multiplayer/servers/deploying-linux-based-builds)。如果您已上傳容器映像，它會出現在 **Image** 下拉式清單中。若要使用它，請選取該映像。
</Note>

選取作業系統類型後，您就可以選擇伺服器類型。根據作業系統/伺服器類型，您可以啟用下列功能。

* 虛擬機器計量預覽：啟用計量可讓您查看系統層級的計量，例如 CPU、記憶體、網路等。若要深入了解，請閱讀我們的 [VM 效能計量 (預覽) 文章](/zh-TW/services/playfab/multiplayer/servers/vm-metrics)
* Windows Core 預覽：可讓您在測試組建上測試最新版本的 Windows 作業系統，以了解您的遊戲在較新作業系統上的執行情況。若要深入了解，請閱讀 [Windows 的作業系統修補程式層級更新](/zh-TW/services/playfab/multiplayer/servers/os-patch-updates)
* 自動損毀傾印收集：可讓您在 **Windows 容器**伺服器類型上啟用自動損毀傾印收集。您可以選擇執行完整、迷你或自訂傾印。若要深入了解，請閱讀[啟用自動收集損毀傾印](/zh-TW/services/playfab/multiplayer/servers/crash-dump-collection)

### 處理序模式的伺服器詳細資料

下圖顯示當您選取 Windows 作為平台但使用處理序型伺服器類型時，作業系統區段中使用的值。也可以選擇使用 Linux 處理序型伺服器。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/WindowsProcess.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=752d3d2d4d9dc354699d632d7cf6cf44" alt="選取 Windows 處理序作為作業系統和伺服器類型的伺服器詳細資料" width="753" height="389" data-path="images/playfab/multiplayer/servers/WindowsProcess.PNG" />

### 容器模式的伺服器詳細資料

下圖顯示當您選取 Linux 作為平台但使用容器型伺服器類型時，作業系統區段中使用的值。也可以選擇使用 Windows 容器型伺服器。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/LinuxContainer.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=4b0f42af5689eb5fddc366194d7c1927" alt="選取 Linux 容器作為作業系統和伺服器類型的伺服器詳細資料" width="753" height="309" data-path="images/playfab/multiplayer/servers/LinuxContainer.PNG" />

## 組建的資產

7. 在 Assets 下，選取 **Upload**。瀏覽至包含已編譯之 PlayFab 多人遊戲伺服器組建的資料夾，然後選取要上傳的 .zip 套件。

### Windows 伺服器的資產

* 對於 Windows 平台，您必須將 PlayFab 遊戲伺服器組建上傳為資產。若要了解如何建立 PlayFab 遊戲伺服器組建，請參閱[撰寫遊戲伺服器組建](/zh-TW/services/playfab/multiplayer/servers/author-a-game-server-build)。上傳資產以修改和自訂 Windows 容器映像。Windows 伺服器中資產的掛接路徑應以 C 磁碟機為根目錄。

**Windows 容器伺服器的資產**

Windows 伺服器的資產需要位於 C 磁碟機中，否則 API 可能會傳回錯誤。掛接路徑**只**有容器才需要。

<Note>
  請勿為處理序型伺服器提供掛接路徑。
</Note>

### Linux 伺服器的資產

* 對於 Linux 平台，上傳資產是選擇性的，因為遊戲伺服器可以作為容器映像的一部分包含在內。但您仍然必須有遊戲伺服器，請確定掛接路徑在您所上傳的容器內有效。

如果您要上傳資產：

* 將 **C:\Assets** 或選取其他路徑設定為掛接路徑
* 將 **C:\Assets\YourGameServerBuild.exe** 設定為啟動命令

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/MPSBuildAssets.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=3d45f373ddb6d4af2064b4b16e0dd70a" alt="MPS 上新組建的資產區段以及啟動命令。" width="753" height="379" data-path="images/playfab/multiplayer/servers/MPSBuildAssets.PNG" />

## 網路設定

8. 對於網路，請設定連接埠號碼、名稱和通訊協定。

### 為容器伺服器類型設定連接埠

如果您使用的是容器伺服器類型，應指定連接埠號碼。

例如，在 Game Manager 中針對容器伺服器類型，您可以指定：

* 連接埠名稱："gameServerPort"
* 連接埠號碼：7777
* 通訊協定：UDP

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/server-network-settings-2.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=ce869740d1898f65e7f897229642294d" alt="Game Manager 中容器伺服器類型的網路設定" width="753" height="195" data-path="images/playfab/multiplayer/servers/create-your-first-server/server-network-settings-2.PNG" />

然後在您的程式碼中，您會執行類似下列的操作

```C# theme={null}
int port = 7777; // since you already know the port
GameServer gs = new GameServer(port);
gs.start();
```

<Note>
  在容器模式中，每部遊戲伺服器都在自己的網路命名空間上執行。這就是為什麼每部遊戲伺服器都可以接聽相同的連接埠。容器連接埠會動態對應至虛擬機器上的唯一連接埠。不過，在處理序模式中，所有遊戲伺服器都在相同的網路命名空間上執行。讓所有遊戲伺服器接聽相同的連接埠會造成衝突，這就是為什麼您需要從 GSDK 取得 ServerListeningPort。
</Note>

### 為處理序伺服器類型設定連接埠

對於處理序伺服器類型，您應使用 GSDK 擷取連接埠號碼。請勿在組建定義中包含連接埠號碼。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/server-network-settings-process.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=b73e4a780a7b681e2519efc0425555e2" alt="Game Manager 中處理序伺服器類型的網路設定" width="753" height="195" data-path="images/playfab/multiplayer/servers/create-your-first-server/server-network-settings-process.PNG" />

然後在您的程式碼中，您會執行類似下列的操作：

```C# theme={null}
var gsc = GameServerSDK.GetConnectionInfo();

var gp = gsc.Where(x=>x.Name=="gameServerPort").Single();

GameServer gs = new GameServerPort(gp.ServerListeningPort);
```

若要檢視完整的範例程式碼，請前往 [GSDK/CSharp/GSDK\_CSharp\_Standard](https://github.com/PlayFab/gsdk/tree/master/csharp/GSDK_CSharp_Standard) 中的 [GameServerConnectionInfo.cs](https://github.com/PlayFab/gsdk/blob/master/csharp/GSDK_CSharp_Standard/GameServerConnectionInfo.cs)
上述從 GSDK 取得連接埠的程式碼範例在容器模式中也能運作。

## 啟動命令

### 容器型伺服器的啟動命令

您的啟動命令應該是遊戲可執行檔的絕對路徑 (包括掛接路徑)，並應包含任何必要的引數。例如，您的啟動命令可能看起來像 C:\Assets\wrapper.exe -g C:\Assets\fakegame.exe arg1 arg2。只有在 Windows 容器型伺服器時，才需要在啟動命令的絕對路徑中加入 "C:\Assets" 部分。這是因為這是遊戲資產解壓縮所在的目錄。

### Windows 處理序型伺服器的啟動命令

您的啟動命令是上傳資產內的相對路徑。如果可執行檔直接位於資產資料夾內，則您只需使用 \<yourGameServerBuild.exe>。如果它位於另一個資料夾內 (例如 GameDirectory)，則啟動命令會是 gameDirectory/YourGameServerBuild.exe。

9. 在 Regions 下，選取您想要部署伺服器的區域。然後指定待命伺服器數和伺服器數上限。
10. 選取 **Save** 以開始部署程序。您將被帶到組建首頁。組建會顯示 **Deploying** 狀態，如下圖所示。

幾分鐘後，您的組建應處於 **Deployed** 狀態。這表示伺服器已部署且可以配置。如需配置遊戲伺服器的詳細資訊，您可以查看[此處](/zh-TW/services/playfab/multiplayer/servers/allocating-game-servers-and-configuring-vs-debugging-tools)，也可以使用 [MpsAllocatorSample](/zh-TW/services/playfab/multiplayer/servers/mps-allocator-sample) 實驗伺服器配置。

## 設定區域資訊

部署組建後，您仍然可以修改下列參數。

* 區域
* 待命伺服器
* 伺服器數上限

若要設定區域設定：

* 前往 **Servers** > **Builds** 頁面
* 選取您要修改的組建
* 在 **Regions** 索引標籤上，前往 **Servers by region** 區段
* 新增/移除區域並修改伺服器數目

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/server-region-settings.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=9182b5742cea659a20472d29799c54d1" alt="Game Manager 中已部署的組建" width="2007" height="478" data-path="images/playfab/multiplayer/servers/create-your-first-server/server-region-settings.PNG" />

<Tip>
  在開發期間，請關閉任何未使用或狀況不良的區域，以避免使用 VM 核心時數。核心時數的使用從 VM 啟動時開始，並持續到 VM 關閉為止。除非區域的目標待命伺服器數達到 0 或區域遭到刪除，否則區域中的 VM 不會自動關閉。
</Tip>

### 關閉 VM

有三種方式可以關閉 VM

1. 將區域的**目標待命**設定為 0，這只會關閉此區域的 VM。
2. 從組建中刪除特定區域。
3. 刪除整個組建，這會關閉此組建**所有區域**的 VM。

## 另請參閱

* [逐步解說：使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager)
* [使用 PowerShell/API 部署組建](/zh-TW/services/playfab/multiplayer/servers/deploy-using-powershell-api)
* [建立您的第一部伺服器](/zh-TW/services/playfab/multiplayer/servers/create-your-first-server)
* [Wrapper C# 範例](/zh-TW/services/playfab/multiplayer/servers/wrapper-sample)
* [MPS Allocator 範例](/zh-TW/services/playfab/multiplayer/servers/mps-allocator-sample)
* [範例和資源](/zh-TW/services/playfab/multiplayer/servers/server-samples-resources)


## Related topics

- [逐步解說：使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager.md)
- [使用 PowerShell/API 部署組建](/zh-TW/services/playfab/multiplayer/servers/deploy-using-powershell-api.md)
- [逐步解說：使用 PowerShell/API 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-api-powershell.md)
- [部署 PlayFab 多人遊戲伺服器組建](/zh-TW/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds.md)
- [組建定義和設定](/zh-TW/services/playfab/multiplayer/servers/build-definition.md)
