ゲーム サーバーとロビー

この記事では、ゲーム サーバーから PlayFab ロビーを使用する方法について説明します。

PlayFab マルチプレイヤー SDK でのゲーム サーバー API の有効化

PlayFab マルチプレイヤーでゲーム サーバー API を有効にするには、PFLobby.h を含める前に PFMULTIPLAYER_INCLUDE_SERVER_APIS を定義する必要があります。

#define PFMULTIPLAYER_INCLUDE_SERVER_APIS
#include <PFMultiplayer.h>
#include <PFLobby.h>

サーバー所有ロビーの作成

サーバー所有のロビーを作成するには、次の手順に従います。

  1. AuthenticateGameServerWithCustomId を使用して game_server PlayFab エンティティとしてログインし、エンティティ キーとトークンのペアを取得します。
  2. PFMultiplayerSetEntityToken を使用して、game_server のエンティティ キーとトークンを PlayFab マルチプレイヤー SDK に指定します。
  3. game_server のエンティティ キーを使用して PFMultiplayerCreateAndClaimServerLobby を呼び出します。

詳細とコード例については、「ロビーの作成」を参照してください。

サーバーがメンバーではない

クライアント所有のロビーでは、ロビーの所有者もロビーのメンバーです。

サーバー所有のロビーは、この点で異なります。 ロビーを所有する game_server エンティティは、ロビーのメンバーではありません。

サーバー所有者はグローバル ロビー プロパティを変更できますが、独自のメンバー プロパティ セクションはありません。

この区別の詳細については、「ロビー所有者とメンバー」を参照してください。

所有権と所有権の移行ポリシー

クライアント所有のロビーとは異なり、サーバー所有ロビーに対する有効な所有権移行ポリシーは、"サーバー" 所有権移行ポリシーの 1 つだけです。

これは、所有権の移行とロビーの回復に重要な影響を与えます。

主に、サーバー所有のロビーの所有者が切断された場合 (たとえば、サーバーがクラッシュしたため)、ロビーの所有権がロビー内のメンバーに自動的に転送されることはありません。 代わりに、ロビーはロビーの検索結果に表示されなくなり (このロビーに新しいメンバーが意図せずに参加しないようにするため)、何らかの回復ロジックを調整するかどうかはタイトル次第です。

次に利用可能な機会に、クラッシュした game_server エンティティは、PFMultiplayerFindLobbies 経由でlobby/amOwner 検索キーを使用して、回復する必要があるロビーを検索する必要があります。

回復が必要なロビーを見つけた後、ゲーム サーバーはゲームプレイ セッションの再開またはロビーの削除を試みることができます。

所有権の変更の詳細については、「所有権の変更」を参照してください。

関連項目