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

マッチメイキングの最終的な結果として、キューのルールを満たすチケットのコレクションが検索されます。 専用サーバーがあるタイトルの場合、一致 ID は一意であり、一緒に再生するプレイヤーのグループを識別するために使うことができます。

ただし、ピアツーピアのケースでは、タイトルは互いに接続情報を渡す必要があります。 このチュートリアルでは、この操作を実行するための回避策について説明します。

注意

マッチメイキングでのピアツーピア接続は、現在公式ではサポートされていません。 Playfab パーティーを検討してください。詳細については、こちらをご覧ください。

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"
                    }
                }
            }
        ]
    }
}

注意

これは IPs を交換するために使用できますが、クライアント間の接続は保証されません。