> ## 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.

# 逐步解說：使用 PowerShell/API 部署組建

> 使用 PowerShell 和多人遊戲伺服器 API 搭配 Windows Runner C# 範例，部署 Windows 作業系統 PlayFab 多人遊戲伺服器組建的逐步解說。

本主題以 Windows Runner C# 範例為基礎，說明如何在 Windows 10 開發裝置上，於 PowerShell 中部署/建立 Windows 作業系統 VM 的組建。

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

## 先決條件

請確定您已完成下列步驟。

* [設定 API 功能選項](/zh-TW/services/playfab/multiplayer/servers/windows-runner-sample#configure-api-feature-option)
* [伺服器設定](/zh-TW/services/playfab/multiplayer/servers/windows-runner-sample#server-set-up)。

## 1. 取得您的遊戲識別碼和開發人員秘密金鑰

* 取得您的 PlayFab 遊戲識別碼
  * 在 [PlayFab.com](https://developer.playfab.com) 上登入您的開發人員帳戶
  * 在 Game Manager 中，前往 **My Studios and Titles** 頁面。尋找您的遊戲並取得 PlayFab 遊戲識別碼

* 取得遊戲的開發人員秘密金鑰
  * 在 Game Manager 中，選取您的遊戲 > 設定 (齒輪圖示)
  * 選取 **Title settings**，然後選取 **Secret Keys** 索引標籤以取得開發人員秘密金鑰

如需秘密金鑰的詳細資訊，請參閱[秘密金鑰管理](/zh-TW/services/playfab/live-service-management/gamemanager/secret-key-management)

## 2. 安裝 PlayFab Multiplayer PowerShell 模組

以系統管理員身分開啟 Windows Powershell，並執行下列命令以安裝 [PlayFabMultiplayer API 模組](https://github.com/PlayFab/MpsPowershell)。這個新的 [PlayFabMultiplayer API 模組](https://github.com/PlayFab/MpsPowershell)取代了已淘汰的 Multiplayer PowerShell 模組。

如果您先前已安裝 [PlayFab Multiplayer Powershell](https://github.com/PlayFab/MultiplayerPowershell) 模組，請使用下列命令將其解除安裝。對於要轉換到新模組的使用者，請參閱[對應命令](/zh-TW/services/playfab/multiplayer/servers/deploy-using-powershell-api#mapping-commands)以找出新的對等命令。

```powershell theme={null}
Uninstall-Package PlayFabMultiplayer
```

在這個新模組中，命令和引數都不同。如需每個命令的詳細文件，請參閱 [Cmdlet 文件](https://github.com/PlayFab/MpsPowershell/tree/main/MpsPowershell/docs)。

```powershell theme={null}
Install-Module -Name PlayFabMultiplayerApi
```

<Tip>
  安裝模組之前，您可能需要先使用 `Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser` 設定執行原則。若要深入了解，請參閱 [PowerShell 執行原則](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)。
</Tip>

## 3. 取得遊戲的 EntityToken

在 **PowerShell** 視窗中，使用您的遊戲識別碼和相關聯的開發人員金鑰執行下列命令：

```powershell theme={null}
Set-PfTitle -TitleID "mytitleID" -SecretKey "mysecretkey"
```

## 4. 上傳資產

部署 Windows 伺服器時，您會使用受控 Windows 容器。您只需將 PlayFab 多人遊戲伺服器組建上傳為資產即可。

將 **FilePath** 旗標的值更新為 **winrunnerSample.zip** 的本機檔案位置。如果您不知道此檔案的位置，請依照[此處](/zh-TW/services/playfab/multiplayer/servers/windows-runner-sample#server-set-up)的指示取得檔案。

```powershell theme={null}
New-PfAsset -FilePath C:\windowsRunnerCSharp.zip -AssetName windowsRunnerCSharp.zip
```

## 5. 建立組建

資產上傳後，我們就可以建立組建。執行下列命令。

下列程式碼使用 **EastUS** 區域中的 **Standard\_D2as\_v4** VM。請根據您想要使用的 VM 和區域取代字串。

```powershell theme={null}
$vmSize = "Standard_D2as_v4"

$regions = @( @{ StandbyServers = 1; MaxServers = 1; Region = 'EastUS'; ScheduledStandbySettings = $NULL } )

$ports = @( @{ Name = 'game_port'; Num = 3600; Protocol = 'TCP' } )

$gameAssets = @( @{ FileName = 'windowsRunnerCSharp.zip'; MountPath = 'C:\Assets' } )

$buildResponse = New-PfBuild -BuildName PSTest_build -ContainerFlavor ManagedWindowsServerCore -StartMultiplayerServerCommand 'C:\Assets\WindowsRunnerCSharp.exe' -GameAssetReferences $gameAssets -VMSize $vmSize -MultiplayerServerCountPerVM 1 -Ports $ports -RegionConfigurations $regions

# All PlayFabMultiplayerApi cmdlets return objects, so we can pass the returned object to ConvertTo-Json for human readability.
$buildResponse | ConvertTo-Json -depth 5
```

## 檢查組建是否成功

幾秒鐘後，您會透過 **PowerShell** 或 [ListBuildSummaries API](xref:titleid.playfabapi.com.multiplayer.multiplayerserver.listbuildsummariesv2) 看到已建立的組建。

您也可以執行下列命令，檢查組建是否已成功部署。

```powershell theme={null}
Get-PfBuild | ConvertTo-Json -depth 5
```

## 另請參閱

* [逐步解說：使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager)
* [Windows Runner C# 範例](/zh-TW/services/playfab/multiplayer/servers/windows-runner-sample)
* [範例和資源](/zh-TW/services/playfab/multiplayer/servers/server-samples-resources)


## Related topics

- [使用 PowerShell/API 部署組建](/zh-TW/services/playfab/multiplayer/servers/deploy-using-powershell-api.md)
- [逐步解說：使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager.md)
- [附加分析工具](/zh-TW/services/playfab/multiplayer/servers/attaching-a-profiler.md)
- [使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/deploy-using-game-manager.md)
- [部署 PlayFab 多人遊戲伺服器組建](/zh-TW/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds.md)
