Workaround for peer-to-peer connection
The end result of matchmaking is a Match - a collection of tickets that satisfy the rules for the queue. For titles with a dedicated server, the match ID is unique, and can be used to identify groups of players that should play together.
In the peer-to-peer case however, the title needs to pass connection information to each other. This tutorial describes a workaround to perform this.
Note
Peer-to-peer connection in matchmaking is currently not officially supported. Consider PlayFab Party, or contact us for more information.
Specify an IP address as an attribute
Similar to Specifying attributes with your tickets, an arbitrary value such as an IP address can be specified as an attribute. It does not need to correspond to a rule.
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"
}
Retrieving all player IPs from a Match
When calling
GetMatch, specify the flag ReturnMemberAttributes
as true
to have the attributes of each ticket returned. This will include the specified IP addresses.
{
"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"
}
}
}
]
}
}
Note
While this can be used to exchange IPs, it does not guarantee connectivity between the clients.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour