Skip to main content
XBOX のマルチプレイヤーシナリオは、Multiplayer Session Directory (MPSD) サービスと MPSD ドキュメントの使用に依存しています。MPSD ドキュメントは現在のゲームセッションの名簿として機能し、マッチメイキング、プラットフォーム招待、最近のプレイヤーリスト、ジョインインプログレスなどのマルチプレイヤー体験を支えます。 このドキュメントでは、MPSD を必要とする一般的なマルチプレイヤーフローに PlayFab Party を組み込む方法を説明します。 このドキュメントでは、MPSD とそのすべての機能について詳しく説明することはしません。詳細については、MPSD のドキュメント を参照してください。

マッチメイキング

以下は、PlayFab Party と共にマッチメイキングと MPSD を使用する簡略化されたフローです。
  1. プレイヤーは、マッチメイキングセッションをまたいで一緒にプレイしたいグループを表す MPSD セッションを作成し、そこに集まります。プレイヤーは XBOX の招待および参加機能を使用してこれらのセッションに集まります。
  2. これらのプレイヤーグループはマッチメイキングサービスにチケットを送信し、互換性のあるプレイヤーグループがマッチメイキングセッションにまとめられます。このマッチメイキングセッション自体は、新しいセッションドキュメントで表され、その後プレイヤーが参加します。プレイヤーはまた、このセッションドキュメントの変更を監視する必要があります。
  3. マッチメイキングセッションが確定し、名簿がロックされたら、タイトルは PlayFab Party ネットワークをセットアップするマッチメイキングセッションのメンバーのうち 1 人を選出する必要があります。Party ネットワーク作成者を選択するシンプルな戦略は、マッチメイキング MPSD セッションドキュメントの最初のメンバーを使用することです。
  4. 選出されたメンバーは、マッチメイキングセッションのメンバーのみにネットワークアクセスを制限する初期 PartyInvitation を使用してネットワークを作成します。ネットワークの作成が正常に完了したら、選出されたメンバーは結果のネットワーク記述子と Party 招待をセッションドキュメントにセッションプロパティとして投稿し、他のメンバーが使用できるようにする必要があります。
  5. 各メンバーはセッションドキュメントの更新を確認したら、ネットワーク記述子と招待を使用してネットワークに接続し、参加できます。
ここでは、マッチメイキングと MPSD を PlayFab Party に組み込む 1 つのフローを示しました。このフローの中核となる考え方は、MPSD で検討したい他のフローにも拡張できますが、すべての可能なフローを提示することはこのドキュメントの範囲外です。詳細については、MPSD の完全なドキュメント を参照してください。

プラットフォーム招待

以下は、XBOX プラットフォームの招待を PlayFab Party に組み込むフローです。
  1. PlayerA が MPSD セッションドキュメントを作成し、セッションの変更を監視し、Party ネットワークを作成します。Party ネットワークの作成が完了したら、PlayerA はネットワーク記述子と初期招待(必要な場合)を MPSD セッションドキュメントに投稿します。
  2. PlayerAPlayerB を Party ネットワークに招待したい場合、PlayerA はゲーム内またはコンソール UI 経由でプラットフォーム招待を PlayerB に開始します。
  3. PlayerB は、PlayerA の MPSD セッションドキュメントを検索するために使用できる「招待ハンドル」を含むプラットフォーム招待を受け取ります。
  4. PlayerB はセッションドキュメントに参加し、変更を監視します。
  5. PlayerAPlayerB がセッションドキュメントに参加したことを確認します。PlayerAPlayerB が使用するための新しい招待を作成し、その招待をセッションドキュメントに投稿します
  6. PlayerB はセッションドキュメントに投稿された招待を確認し、それを使用して Party ネットワークに参加します。
PartyNetwork::CreateInvitation 経由で作成された招待は、それを作成した PartyLocalUser がネットワークを離れると無効になります。したがって、新しいユーザーがセッションドキュメントに自身を追加したものの、招待したユーザーがネットワークを離れた場合は、新しいユーザーはセッションドキュメントから自身を削除し、別のユーザーから再招待されるのを待つことをお勧めします。

ジョインインプログレス

進行中のゲームセッションへの参加は、プラットフォーム招待 のシナリオと非常によく似ています。中核となる違いは、PlayerAPlayerB に「招待ハンドル」を送信する代わりに、PlayerB がプラットフォーム UI からジョインインプログレスを開始したときに「参加ハンドル」を取得することです。この「参加ハンドル」を使用して、PlayerB はセッションドキュメントに参加し、変更を監視します。PlayerA は、新しい Party 招待を作成してセッションドキュメントに投稿することでこれに応答します。PlayerB は、ネットワーク記述子と共にこの新しい招待を確認し、それを使用して Party ネットワークに参加します。
PartyNetwork::CreateInvitation 経由で作成された招待は、それを作成した PartyLocalUser がネットワークを離れると無効になります。したがって、新しいユーザーがジョインインプログレスフローから Party 招待を受け取ったものの、それを作成したユーザーが離れているために使用できない場合、新しいユーザーはセッションドキュメントから自身を削除し、後で再参加することをお勧めします。これにより、セッションの別のメンバーがフローを再開し、このユーザー用に新しい Party 招待を生成できるようになります。

切断とクリーンアップ

プレイヤーが Party ネットワークを離れる、または何らかの形で切断された場合、その Party ネットワークに関連付けられた MPSD セッションからも自身を削除する必要があります。PartyNetwork::LeaveNetwork 操作によって開始されない Party ネットワークの切断は、致命的とみなされます。致命的な切断を経験した後、プレイヤーはネットワークへの再接続と再認証を試みることができますが、MPSD セッションにも再参加する必要があります。 プレイヤーの MPSD セッションへの接続が一時的に中断された場合、そのセッションから切断される可能性があります。プレイヤーはセッションへの再参加を試みることができますが、失敗した場合は、PartyNetwork::LeaveNetwork を呼び出して自発的に Party ネットワークから離脱するべきです。
Party ネットワークと MPSD セッションの切断を検出するメカニズムとヒューリスティックは異なります。プレイヤーが Party ネットワークと MPSD セッションの両方から切断されるシナリオでも、これらの切断イベントは独立しており、時間的に近接して発生することは保証されません。タイトルは、プレイヤーが Party ネットワークまたは MPSD セッションのいずれか一方のみから切断される可能性があるシナリオを処理する必要があります。
ゲームがシャットダウンすると、プレイヤーは Party ネットワークと MPSD ドキュメントから自動的に切断され、それ以上のクリーンアップは必要ありません。
最終更新日 2026年9月1日