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

# Windows Runner 範例

> 設定 PlayFab 多人遊戲伺服器的 Windows Runner C# 範例，以建置並部署整合 GSDK 的最小 Windows 遊戲伺服器，用於測試 MPS 功能。

# Windows Runner C# 範例

本教學課程列出設定範例以搭配 PlayFab 多人遊戲伺服器使用的步驟。

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

1. [設定 API 功能選項](#configure-api-feature-option)
2. 建立 PlayFab 多人遊戲伺服器組建：[伺服器設定](#server-set-up)
3. [透過部署組建建立伺服器](#create-servers-by-deploying-a-build)
4. 要求多人遊戲伺服器：[用戶端設定](#client-set-up)。需要此要求，您才能啟動連線至伺服器的用戶端

<a id="configure-api-feature-option" />

## 設定 API 功能選項

<Note>
  只有執行此範例才需要此步驟。除非您的遊戲需要此設定，否則您不需要允許用戶端啟動遊戲。
</Note>

* 在 [PlayFab.com](https://developer.playfab.com) 上登入您的開發人員帳戶以使用 Game Manager 入口網站
* 選取您的遊戲
* 選取設定圖示 > **API features**，如下圖所示。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=6dc935f952e754c3f14ff8c744c90ac7" alt="Game Manager 中的 API 功能索引標籤" width="800" height="405" data-path="images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings.png" />

* 在 **Options** 下，選取 **Allow client to start games**，如下圖所示。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings-option.PNG?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=c6d6ad00718feb7293797b0e102875d7" alt="在 Game Manager 中選取允許用戶端啟動遊戲" width="374" height="177" data-path="images/playfab/multiplayer/servers/create-your-first-server/windowsrunner-api-settings-option.PNG" />

<a id="server-set-up" />

## 伺服器設定

說明如何取得 PlayFab 多人遊戲伺服器組建。

* Windows Runner 範例之 PlayFab 多人遊戲伺服器組建的 [PlayFab 遊戲伺服器 SDK](https://github.com/PlayFab/gsdk)。
* 如果您偏好自行建置：

  * 使用標準 Git 方法或下載 zip 檔案，取得 [Windows Runner C# 範例](https://github.com/PlayFab/MpsSamples/tree/master/WindowsRunnerCSharp)。
  * 使用 Visual Studio 2017 或更新版本開啟專案。這應該會自動觸發相依性的下載，例如最新的 [PlayFab 遊戲伺服器 SDK (GSDK) NuGet 套件](https://www.nuget.org/packages/com.playfab.csharpgsdk)。
  * 以 release x64 設定編譯並建置 WindowsRunnerCSharp.csproj。您會得到與 GSDK 整合的遊戲伺服器組建，使其成為有效的 PlayFab 多人遊戲伺服器組建。
  * 前往 bin 資料夾，將所有 x64 release 二進位檔壓縮成 zip。不應有內部資料夾結構。zip 檔案應該是扁平的檔案集合，如下圖所示。

  <img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/tutorials/gsdk-sample-output.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=ca4973938707eae40c4e869aa470c148" alt="GSDK 範例輸出" width="1136" height="450" data-path="images/playfab/multiplayer/servers/tutorials/gsdk-sample-output.png" />

<Tip>
  若要交叉檢查，您可以將組建輸出與連結中提供的已編譯版本進行比較。
</Tip>

取得 zip 檔案後，您就可以開始[部署組建](#create-servers-by-deploying-a-build)。

<a id="create-servers-by-deploying-a-build" />

## 透過部署組建建立伺服器

您可以使用下列其中一種方法部署組建。

* [使用 Game Manager 部署和設定伺服器](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager)
* [使用 PowerShell 部署和設定伺服器](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-api-powershell)

對於某些設定，使用 Web 介面—Game Manager 進行設定可能更容易。

接著，[設定並執行用戶端](#client-set-up)以連線至已部署的伺服器。

<a id="client-set-up" />

## 用戶端設定

說明如何讓 Windows Runner 用戶端應用程式連線至您使用 PlayFab 多人遊戲伺服器建立的遊戲伺服器。只有在您有待命伺服器後才能進行此設定。

* [部署組建](#create-servers-by-deploying-a-build)後，等待待命伺服器變為可用

* 取得組建的 **titleId** 和 **buildId**

  * 使用 Game Manager：
    * 前往 **My Studios and Titles** 頁面並尋找您的遊戲。複製其中列出的識別碼值，並貼到您稍後可以存取的方便位置。這就是 **titleId**
    * 選取遊戲以檢視儀表板
    * 前往 **Multiplayer** > **Servers** > **Builds**
    * 複製您要使用之組建的識別碼，並貼到方便的位置。這就是 **buildId**

  * 使用 PowerShell 時，此資訊位於組建成功部署後的輸出中。
    * 複製 **titleId** 和 **buildId** 並貼到方便的位置

* 使用標準 Git 方法或下載 zip 檔案，取得 [Windows Runner C# 範例](https://github.com/PlayFab/MpsSamples/tree/master/WindowsRunnerCSharp)。如果您先前已完成此操作，請略過。

* 使用 Visual Studio 2017 或更新版本開啟專案。這應該會自動觸發相依性的下載，例如最新的[遊戲伺服器 SDK NuGet 套件](https://www.nuget.org/packages/com.playfab.csharpgsdk)。

* 以 release x64 設定編譯並建置 **WindowsRunnerCSharpClient.csproj**

* 開啟命令提示字元，並瀏覽至此專案的輸出資料夾

* 使用此命令列執行 WindowsRunnerCSharpClient，並將 \<TitleId> 和 \<BuildID> 取代為上述值：**dotnet WindowsRunnerCSharpClient.dll --titleId \<TitleId> --buildId \<BuildId>**

範例：

```sample code theme={null}
cd C:\Users\UserName\Documents\GitHub\MpsSamples\WindowsRunnerCSharp\WindowsRunnerCSharpClient\bin\Release\netcoreapp3.1

dotnet WindowsRunnerCSharpClient.dll --titleId CBE66 --buildId 36083326-3bd5-4b8f-a97d-7e82f066aa40 --verbose
```

當用戶端成功連線至伺服器時，命令提示字元會顯示記錄訊息，告知您已配置具有 IP 位址的伺服器。

## 另請參閱

* [建立您的第一部伺服器](/zh-TW/services/playfab/multiplayer/servers/create-your-first-server)
* [資源和範例](/zh-TW/services/playfab/multiplayer/servers/server-samples-resources)
* [PlayFab 多人遊戲伺服器 SDK](/zh-TW/services/playfab/multiplayer/servers/server-sdks/overview)
* [API 參考](xref:titleid.playfabapi.com.multiplayer.multiplayerserver)


## Related topics

- [Wrapper 範例](/zh-TW/services/playfab/multiplayer/servers/wrapper-sample.md)
- [多人遊戲伺服器範例和資源](/zh-TW/services/playfab/multiplayer/servers/server-samples-resources.md)
- [逐步解說：使用 PowerShell/API 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-api-powershell.md)
- [逐步解說：使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager.md)
- [使用 Game Manager 部署組建](/zh-TW/services/playfab/multiplayer/servers/deploy-using-game-manager.md)
