Problemumgehung für Peer-to-Peer-Verbindungen
Das Endergebnis der Matchmaking ist eine Übereinstimmung – eine Sammlung von Tickets, die die Regeln für die Warteschlange erfüllen. Bei Titeln mit einem dedizierten Server ist die Match-ID eindeutig und kann verwendet werden, um Gruppen von Spielern zu identifizieren, die zusammen spielen sollen.
Im Peer-to-Peer-Fall muss der Titel jedoch Verbindungsinformationen aneinander übergeben. In diesem Tutorial wird eine Problemumgehung beschrieben, um dies auszuführen.
Notiz
Peer-to-Peer-Verbindungen beim Matchmaking werden derzeit nicht offiziell unterstützt. Erwägen Sie PlayFab Party, oder kontaktieren Sie uns für weitere Informationen.
Angeben einer IP-Adresse als Attribut
Ähnlich wie bei Angeben von Attributen mit Ihren Tickets kann ein beliebiger Wert wie eine IP-Adresse als Attribut angegeben werden. Es muss keiner Regel entsprechen.
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"
}
Abrufen aller Spieler-IPs aus einem Match
Geben Sie beim Aufrufen von GetMatch das Flag ReturnMemberAttributes
als true
an, damit die Attribute jedes Tickets zurückgegeben werden. Dies schließt die angegebenen IP-Adressen ein.
{
"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"
}
}
}
]
}
}
Notiz
Dies kann zwar zum Austauschen von IP-Adressen verwendet werden, garantiert jedoch keine Konnektivität zwischen den Clients.