ピアツーピア接続の回避策

マッチメイキングの最終結果は、キューのルールを満たすチケットのコレクションであるマッチです。 専用サーバーを使用するタイトルの場合、マッチ 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 の交換に使用できますが、クライアント間の接続を保証するものではありません。