次の方法で共有


ゲーム マネージャーを使用したビルドの配置

この記事では、ゲーム マネージャーを使用して VM のビルドを展開/作成するための一般的な手順を示します。

ビルドを初めて展開する場合は、Windows Runner C# サンプル、またはWrapper サンプルの使用をお勧めします。 どちらも、実際にサーバーをデプロイするために必要なすべてのアセットが含まれています。

注意

PlayFab Multiplayer Servers を使用して表示するには、ゲーム マネージャーから機能を有効にする必要があります。 手順については、「PlayFab サーバー 機能を有効にする」を参照してください。

各パラメーターに使用できる値の詳細については、「ビルド定義」を参照してください。

ゲーム マネージャーを使用してデプロイする手順

  1. ゲーム マネージャーにサインインする

  2. [マイ スタジオとタイトル] ページに移動し、ゲーム タイトルを選択してダッシュボードを表示します

  3. マルチプレイヤー>サーバーページ」 に移動し、右上にある[新しいビルド]を選択して新しいビルドを作成します

  4. ビルドの詳細とともに始め、説明的な文字列をビルド名として使用します。

  5. 開発中は、Dasv4 など、制限付き無料扱いのサーバーを選択します。 価格の詳細については、「PlayFab マルチプレイヤー サーバーの課金」を参照してください。

  6. コンピューターごとのサーバーに必要な値を設定します

    次の図は、info セクションで使用される値を示しています。 ビルドの詳細はビルド名、Dasv4 仮想マシンの選択、そしてマシンあたり 2 台のサーバーを含みます。

  7. 次に、サーバーの詳細部分が表示され、この部分では、Windows または Linux の何れかのOS の種類を 1 つ選択する必要があります。 そしてあなたが選んで決定した OS に基づいて、プロセスまたはコンテナーの何れかのサーバーの種類を選択します。

注意

Linux プラットフォームの場合は、独自のコンテナー イメージを作成する必要があります。 詳細については、「Linux コンテナー イメージを作成してデプロイする」を参照してください。 コンテナー イメージを既にアップロードしている場合は、[イメージ] ドロップダウンに表示されます。 これを使用するには、イメージを選択します。

OS の種類を選択したら、サーバーの種類を選択できます。 OS/サーバーの種類に基づいて、次の機能を有効にできます。

  • 仮想マシン メトリック プレビュー: これを有効にすると、CPU、メモリ、ネットワークなどのシステム レベルのメトリックを確認できます。詳細については、VM のパフォーマンス メトリック (プレビュー) に関する記事をお読みください。
  • Windows Core Preview: テスト ビルドで最新バージョンの Windows オペレーティング システムをテストして、新しいオペレーティング システムでゲームがどのように実行されるのか確認できます。 詳細については、「Windows OS のパッチレベルの更新プログラム」を参照してください。
  • Automatic Crash Dump Collection: Windows コンテナー サーバー タイプの自動クラッシュ ダンプ 収集機能を有効化できます。 完全、ミニ、またはカスタムのダンプの取得を選び決定できます。 詳細については、「クラッシュ ダンプの 自動収集の有効化」をご覧ください。

プロセス モード用サーバーの詳細

次の図は、Windows をプラットフォームとして選択し、かつ Process ベースのサーバー タイプとするときに [OS] セクションで使用される値を示しています。 Linux プロセス ベースのサーバーを使用するオプションもあります。 OS とサーバー タイプとして Windows プロセスが選択されているサーバーの詳細

コンテナー モードのサーバーの詳細

次の図は、プラットフォームとして Linux を選択したが、コンテナー ベースのサーバー タイプを使用する場合に、OS セクションで使用される値を示しています。 Windows コンテナー ベースのサーバーを使用するオプションもあります。 OS と サーバー タイプとして Linux コンテナー が選択されているサーバーの詳細

ビルドのアセット

  1. 資産で、[アップロード] を選択します。 コンパイル済みの PlayFab マルチプレイヤー サーバー ビルドを含むフォルダーに移動し、アップロードする .zip パッケージを選択します。

Windows サーバーの資産

  • Windows プラットフォームの場合は、PlayFab ゲーム サーバー ビルドを資産としてアップロードする必要があります。 PlayFab ゲーム サーバー ビルドを作成する方法については、「ゲーム サーバー ビルドの作成」を参照してください。 資産をアップロードして、Windows コンテナー イメージを変更、カスタマイズします。 Windows サーバー内のアセットのマウント パスは、C ドライブにルートが置かれる必要があります。

Windows コンテナー サーバー用の資産

Windows サーバーのアセットは C ドライブに存在する必要があります。さもなければ、API がエラーを返す可能性があります。 マウント パスはコンテナー のみ 必要です。

注意

プロセス ベースのサーバーのマウント パスは指定しません。

Linux サーバーのアセット

  • Linux プラットフォームでは、ゲーム サーバーをコンテナー イメージの一部に含めることができるので、アセットのアップロードはオプションです。 ただし、引き続きゲーム サーバーが必要です。アップロードするコンテナー内でマウント パスが有効であることを確かめて下さい。

アセットをアップロードする場合:

  • C:\Assets を設定するか、マウント パスとして別のパスを選択します
  • C:\Assets\YourGameServerBuild.exe を Start コマンドとして設定します

開始コマンドと共にある MPS 上の新しいビルドのアセット セクション。

ネットワーク設定

  1. ネットワークの場合は、ポート番号、名前、プロトコルを設定します。

コンテナー サーバー タイプのポートの設定

コンテナー サーバー タイプを使用している場合は、ポート番号を指定する必要があります。

たとえば、コンテナー サーバー タイプの Game Manager では、次を指定できます:

  • ポート名: "gameServerPort"
  • ポート番号: 7777
  • プロトコル: UDP

Game Manager におけるコンテナー サーバー タイプ向けのネットワーク設定

次に、コードで次のような操作を行います

int port = 7777; // since you already know the port
GameServer gs = new GameServer(port);
gs.start();

注意

コンテナー モードでは、各ゲーム サーバーは独自のネットワーク名前空間で実行されます。 これが、すべてのゲーム サーバーが同じポートをリッスンできる理由です。 コンテナー ポートは、仮想マシン上のポートに動的かつ一意にマップされます。 ただし、プロセス モードについては、すべてのゲーム サーバーが同じネットワーク名前空間で実行されます。 すべてのゲーム サーバーが同じポートをリッスンすると競合が発生します。それが、GSDK から ServerListeningPort を取得する必要がある理由です。

プロセス サーバー タイプのポートの設定

プロセス サーバー タイプについては、GSDK を使用してポート番号を取得する必要があります。 ビルド定義の一部としてポート番号を含めません。

プロセス サーバー タイプに関する Game Manager のネットワーク設定

次に、コードで次のようなことを行いたいと思います:

var gsc = GameServerSDK.GetConnectionInfo();

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

GameServer gs = new GameServerPort(gp.ServerListeningPort);

完全なサンプル コードを表示するには、GSDK/CSharp/GSDK_CSharp_StandardGameServerConnectionInfo.cs に移動します。GSDK からポートを取得する上記のコード サンプルは、コンテナー モードでも機能します。

コマンドを開始する

コンテナー ベースのサーバーの開始コマンド

開始コマンドは、要求された全ての引数を含めたゲームの実行ファイルへの絶対パス (マウント パスを含む) にする必要があります。 たとえば、開始コマンドは、C:\Assets\wrapper.exe -g C:\Assets\fakegame.exe arg1 arg2 のようになります。 "C:\Assets" の部分を開始コマンドの絶対パスに追加する必要があるのは、それが Windows コンテナー ベースのサーバーである場合のみです。 それは、ゲーム アセットの展開元ディレクトリだからです。

Windows プロセス ベース サーバーの開始コマンド

開始コマンドは、アップロードされたアセット内の相対パスです。 実行可能ファイルがアセット フォルダ内に直接ある場合は、<yourGameServerBuild.exe> を使用できます。 別のフォルダー (例えば GameDirectory など) 内にある場合、開始コマンドは gameDirectory/YourGameServerBuild.exe のようになります。

  1. [領域] で、サーバーを展開する領域を選択します。 次に、スタンバイ サーバーの数と最大サーバー数を指定します。
  2. [保存] を選択して、展開プロセスを開始します。 ビルドのホーム ページが取得されます。 ビルドには、次の図に示すように、Deploying 状態が表示されます。

数分で、ビルドはDeployed 状態になります。 これは、サーバーが展開され、割り当て可能なことを意味します。 ゲーム サーバーの割り当ての詳細については、こちらをご覧頂くことが可能で、そこではMpsAllocatorSample を使用してサーバーの割り当てを検証することができます。

領域情報の構成

ビルドを展開した後も、次のパラメーターを変更できます。

  • リージョン
  • スタンバイ サーバー
  • 最大サーバー数

領域設定の構成方法

  • [サーバー]>[ビルド] ページに移動します
  • 変更するビルドを選択します
  • [リージョン] タブで、[リージョン別のサーバー] セクションに移動します
  • 領域の追加/削除とサーバー番号の変更

ゲーム マネージャーで展開されたビルド

ヒント

開発中に、VM コア時間の使用を回避するために、未使用または異常なリージョンをシャット オフします。 コア時間の使用は、VM の起動時に開始され、VM がシャット オフされるまで続行されます。 リージョンのターゲット スタンバイ サーバーが 0 に達するか、リージョンが削除されない限り、リージョン内の VM は自動的にシャット オフされません。

VM をシャットダウンしています

VM をシャットダウンするには 3 つの方法があります

  1. リージョンのターゲット スタンバイを 0 に設定すると、このリージョンの VM のみがシャットダウンされます。
  2. ビルドから特定のリージョンを削除します。
  3. ビルド全体を削除すると、このビルドのすべてのリージョンにわたって VM がシャットダウンされます。

関連項目