> ## 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 Multiplayer Servers 用の Windows Runner C# サンプルをセットアップして、MPS 機能をテストするための最小限の GSDK 統合済み Windows ゲーム サーバーをビルドおよびデプロイします。

# Windows Runner C# サンプル

このチュートリアルでは、PlayFab Multiplayer Servers で使用できるようにサンプルをセットアップする手順を示します。

<Note>
  PlayFab Multiplayer Servers を使用および表示するには、Game Manager からこの機能を有効にする必要があります。手順については、[PlayFab Server 機能の有効化](/services/playfab/multiplayer/servers/enable-playfab-multiplayer-servers) を参照してください。
</Note>

1. [API 機能オプションを構成する](#configure-api-feature-option)
2. PlayFab Multiplayer Game Server Build を作成する: [サーバーのセットアップ](#server-set-up)
3. [ビルドをデプロイしてサーバーを作成する](#create-servers-by-deploying-a-build)
4. マルチプレイヤー サーバーを要求する: [クライアントのセットアップ](#client-set-up)。この要求は、サーバーに接続するクライアントを開始するために必要です

## 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" />

## サーバーのセットアップ

PlayFab Multiplayer Game Server Build を取得する方法について説明します。

* Windows Runner サンプル用の PlayFab Multiplayer Server Build の [PlayFab Game Server SDK](https://github.com/PlayFab/gsdk)。
* 自分でビルドしたい場合:

  * 標準の Git メソッドまたは zip ファイルとしてダウンロードして [Windows Runner C# サンプル](https://github.com/PlayFab/MpsSamples/tree/master/WindowsRunnerCSharp) を取得します。
  * Visual Studio 2017 以降を使用してプロジェクトを開きます。これにより、最新の [PlayFab Game Server SDK (GSDK) NuGet パッケージ](https://www.nuget.org/packages/com.playfab.csharpgsdk) などの依存関係が自動的にダウンロードされます。
  * WindowsRunnerCSharp.csproj を release x64 構成でコンパイルおよびビルドします。GSDK と統合されたゲーム サーバー ビルドが取得でき、有効な PlayFab Multiplayer Game Server Build になります。
  * bin フォルダーに移動し、x64 リリース バイナリをすべて 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) を開始する準備ができました。

## ビルドをデプロイしてサーバーを作成する

以下のいずれかの方法でビルドをデプロイできます。

* [Game Manager を使用してサーバーをデプロイおよび構成する](/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-game-manager)
* [PowerShell を使用してサーバーをデプロイおよび構成する](/services/playfab/multiplayer/servers/quickstart-for-multiplayer-servers-api-powershell)

一部の設定については、Web インターフェイスである Game Manager を使用した方が構成しやすい場合があります。

次に、デプロイしたサーバーに接続するため、[クライアントのセットアップと実行](#client-set-up) を行います。

## クライアントのセットアップ

PlayFab Multiplayer Servers を使用して作成したゲーム サーバーに接続する Windows Runner クライアント アプリケーションを取得する方法を説明します。これは、スタンバイのサーバーが用意されてからのみセットアップできます。

* [ビルドをデプロイ](#create-servers-by-deploying-a-build) した後、スタンバイ サーバーが利用可能になるのを待ちます。

* ビルドの **titleId** と **buildId** を取得します。

  * Game Manager を使用する場合:
    * **My Studios and Titles** ページに移動し、ゲーム タイトルを探します。そこに表示されている ID 値をコピーし、後でアクセスできる便利な場所に貼り付けます。これが **titleId** です。
    * ゲーム タイトルを選択してダッシュボードを表示します。
    * **Multiplayer** > **Servers** > **Builds** に移動します。
    * 使用したいビルドの ID をコピーし、便利な場所に貼り付けます。これが **buildId** です。

  * PowerShell を使用する場合、この情報はビルドが正常にデプロイされた後の出力にあります。
    * **titleId** と **buildId** をコピーして便利な場所に貼り付けます。

* 標準の Git メソッドまたは zip ファイルとしてダウンロードして [Windows Runner C# サンプル](https://github.com/PlayFab/MpsSamples/tree/master/WindowsRunnerCSharp) を取得します。以前に実施済みの場合はスキップします。

* Visual Studio 2017 以降を使用してプロジェクトを開きます。これにより、最新の [Game Server SDK NuGet パッケージ](https://www.nuget.org/packages/com.playfab.csharpgsdk) などの依存関係が自動的にダウンロードされます。

* **WindowsRunnerCSharpClient.csproj** を release x64 構成でコンパイルおよびビルドします。

* コマンド プロンプトを開き、このプロジェクトの出力フォルダーに移動します。

* 上記の値で \<TitleId> と \<BuildID> を置き換えて、以下のコマンド ラインを使用して WindowsRunnerCSharpClient を実行します: **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 アドレスとともにサーバーが割り当てられたことを示すログ メッセージが表示されます。

## 関連項目

* [最初のサーバーを作成する](/services/playfab/multiplayer/servers/create-your-first-server)
* [リソースとサンプル](/services/playfab/multiplayer/servers/server-samples-resources)
* [PlayFab Multiplayer Server SDK](/services/playfab/multiplayer/servers/server-sdks/overview)
* [API リファレンス](xref:titleid.playfabapi.com.multiplayer.multiplayerserver)


## Related topics

- [Multiplayer Servers のサンプルとリソース](/ja-jp/services/playfab/multiplayer/servers/server-samples-resources.md)
- [Wrapper サンプル](/ja-jp/services/playfab/multiplayer/servers/wrapper-sample.md)
- [サンプル](/ja-jp/build/core-features/common/game-streaming/building-touch-layouts/samples/index.md)
- [GDK サンプル](/ja-jp/home/setup-install/samples.md)
- [PlayFab 一般サンプル](/ja-jp/services/playfab/resources/playfab-samples.md)
