ピアツーピア接続の回避策
マッチメイキングの最終結果は、キューのルールを満たすチケットのコレクションであるマッチです。 専用サーバーを使用するタイトルの場合、マッチ ID は一意であり、一緒にプレーする必要があるプレイヤーのグループを識別するために使用できます。
ピアツーピアの場合、タイトルはお互いに接続情報を渡す必要があります。 このチュートリアルでは、これを実行するための回避策について説明します。
注意
マッチメイキングにおけるピアツーピア接続は現在正式にはサポートされていません。 PlayFab Partyを考慮するか、詳細情報についてはご連絡ください。
IP アドレスを属性として指定する
チケットで属性を指定すると同様に、属性として IP アドレスなどの任意の値を指定できます。 ルールに対応する必要はありません。
POST https://{{TitleId}}.playfabapi.com/Match/CreateMatchmakingTicket
{
"Creator": {
"Entity": {
"Id": "A8140AB9109712B",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"Attributes": {
"DataObject": {
"IP": "123.234.123.12"
}
}
},
"MembersToMatchWith": [],
"GiveUpAfterSeconds": 2,
"QueueName": "IPExampleQueue"
}
マッチからすべてのプレイヤー IP を取得する
Getmatch を呼び出すときは、各チケットの属性を返すように、ReturnMemberAttributes
フラグを true
として指定します。 これには、指定した IP アドレスが含まれます。
{
"code": 200,
"status": "OK",
"data": {
"MatchId": "3d58dc0f-2eb6-4162-a2e0-1ed6ac5ea551",
"Members": [
{
"TeamId": "",
"Entity": {
"Id": "A8140AB9109712B",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"Attributes": {
"DataObject": {
"IP": "123.234.123.12"
}
}
},
{
"TeamId": "",
"Entity": {
"Id": "562D72A5B184F612",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"Attributes": {
"DataObject": {
"IP": "123.234.123.12"
}
}
}
]
}
}
注意
これは IP の交換に使用できますが、クライアント間の接続を保証するものではありません。