Konfigurieren von Matchmaking-Warteschlangen
Übersicht
Die Übereinstimmungskonfiguration konzentriert sich auf Warteschlangen, die einen Ort darstellen, an dem Tickets darauf warten, miteinander abgeglichen zu werden. Jede Warteschlange verfügt über eine allgemeine Konfiguration darüber, was für eine Übereinstimmung erforderlich ist. Darüber hinaus kann sie eine Reihe von Regeln enthalten, die weitere Einschränkungen hinsichtlich der Übereinstimmung von Tickets enthalten.
Warteschlangenkonfiguration
Auf Warteschlangenebene beschreibt die Konfiguration grundlegende Anforderungen, wie Tickets innerhalb einer Warteschlange abgeglichen werden und wie Sie Statistikinformationen über die Warteschlange erhalten.
Warteschlangename
Der Name für eine bestimmte Warteschlange. Es ist zwischen 1 und 64 Zeichen lang (einschließlich) und es wird die Groß-/Kleinschreibung beachtet. Es ist alphanumerisch, plus Unterstriche und Bindestriche und beginnt mit einem Buchstaben oder einer Zahl. Im Allgemeinen stellt ein Warteschlangenname eine Möglichkeit dar, ein Spiel zu spielen, z. B. "4v4CaptureTheFlag" oder "UnrankedRace". Beim Erstellen eines Matchmaking-Tickets muss der Warteschlangenname angegeben werden, um zu identifizieren, welche Warteschlange sie betreten soll.
Spielgröße
Die Anzahl der in einem Spiel zulässigen Spieler. Die minimale Übereinstimmungsgröße muss größer oder gleich 2 sein, und die maximale Übereinstimmungsgröße muss kleiner oder gleich 100 sein (dieser Grenzwert ist 32, wenn Teams verwendet werden).
Auch wenn ein Ticket allein bereits die Mindestanforderungen für ein Spiel erfüllt, wird eine gefundene Übereinstimmung erst zurückgegeben, wenn es mindestens einem anderen Ticket entspricht. Wenn ein Ticket jedoch bereits die maximale Anforderung für eine Übereinstimmung erfüllt, wird es abgelehnt.
Für Spieler verfügbare Statistiken
Dadurch wird bestimmt, welche Warteschlangenstatistiken für Spieler über die GetQueueStatistics-API verfügbar gemacht werden. Server haben immer Zugriff auf alle Statistiken. Weitere Informationen finden Sie im Tutorial Anzeigen von Warteschlangenstatistiken in Ihrem Titel .
Es gibt zwei Optionen, die Sie in diesem Bereich steuern können:
- Anzahl der Spieler anzeigen, die übereinstimmen : Gibt an, ob die Anzahl der Spieler, die auf ein Spiel warten, für Spieler verfügbar gemacht wird. Titel können dies verwenden, um die relative Popularität des Modus zu verbergen oder um die Spieleranzahl aus geschäftlichen Gründen verborgen zu halten.
- Anzeigen der Zeit bis zur Übereinstimmungsstatistik : Gibt an, ob die Zeit für die Übereinstimmungsstatistik (Durchschnitt und Perzentil) für Spieler verfügbar ist.
Teams
Eine Warteschlange kann eine Teamkonfiguration enthalten, damit der Match-Dienst Teams Spieler zuweisen kann. Zusätzliche teamspezifische Regeln können verwendet werden, um zu steuern, wie die Teamzuweisung erfolgt. Darüber hinaus stellt der Spieldienst sicher, dass Spieler, die im selben Ticket übereinstimmen, nicht unterschiedlichen Teams zugewiesen werden.
Sie können 2 oder mehr Teams in einer Warteschlange definieren.
- Teamname : Der name, der für dieses Team verwendet wird. Teamnamen sind zwischen 1 und 64 Zeichen lang (einschließlich) und beachten die Groß-/Kleinschreibung. Sie sind alphanumerisch, plus Unterstriche und Bindestriche und beginnen mit einem Buchstaben oder einer Zahl. Außerdem müssen sie innerhalb einer Warteschlange eindeutig sein.
- Teamgröße : Minimale und maximale Anzahl von Spielern, die im Team sein können. Das Matchmaking wird versuchen, Teams mit so vielen Spielern wie möglich bis zum Maximum zu bilden.
Neben der Definition der Teams und ihrer Größe können zusätzliche Regeln aktiviert werden, um den Umgang mit Teams beim Matchmaking zu unterstützen. Informationen zu teamspezifischen Regeln finden Sie weiter unten .
Regelkonfiguration
Regeln können optional für eine Warteschlange definiert werden. Wenn sie konfiguriert sind, helfen sie dem Matchmaking-Algorithmus zu bestimmen, welche Tickets zusammenpassen sollen. Jede Regel gilt für ein einzelnes Attribut in den Playermetadaten. Für eine einzelne Warteschlange können maximal 20 Regeln definiert werden.
Es gibt viele Arten von Regeln. Jede enthält einige allgemeine konfigurierbare Elemente sowie Elemente, die für diesen bestimmten Regeltyp spezifisch sind. Darüber hinaus ermöglichen viele Regeln eine Erweiterung, bei der die Regeln im Laufe der Zeit weniger restriktiv werden.
Allgemeine Regelelemente
Die folgenden Elemente werden häufig von allen Regeln verwendet.
Regelname : Der Name muss zwischen 1 und 255 Zeichen lang sein (einschließlich), alphanumerisch plus Unterstriche und Bindestriche sein und muss mit einem Buchstaben oder einer Zahl beginnen. Regelnamen müssen innerhalb einer Warteschlange eindeutig sein.
Gewichtung : Eine Möglichkeit, die Wichtigkeit einer Regel zu ändern. Regeln im Allgemeinen bieten sowohl eine Einschränkung als auch eine Möglichkeit, die verbleibenden Tickets zu sortieren, die berechtigt sind. Die Gewichtung ist ein Multiplikator, der ändert, wie wichtig die Regel für Sortierzwecke ist.
Attributquelle : Regeln handeln häufig auf Informationen, die ihnen bereitgestellt werden. In diesem Feld werden zwei Optionen für die Quelle dieser Informationen beschrieben:
- Benutzer : Attribute werden zusammen mit Spielern in der Anforderung zum Erstellen oder Beitreten eines Tickets übermittelt.
- Spielerentität : Attribute werden aus der zugeordneten Playerentität des Spielers abgerufen. Diese können über die SetObjects-API festgelegt werden.
Attributpfad : Der Pfad zum Erreichen des Attributs. Bei Verwendung einer Benutzerattributequelle ist dies einfach der Name des Attributs. Wenn Sie eine Player-Entitätsattributquelle verwenden, ist es ein JSONPath , der ein bestimmtes Element aus der Entität abruft, z
$.playerSkill.Mean
. B. .Verhalten, wenn das Attribut nicht angegeben ist : Wenn eine Regel ein Attribut erfordert, aber keines angegeben ist, kann die Regel mit einem von zwei Verhaltensweisen konfiguriert werden:
- Möglicherweise wird ein Standardwert für das Attribut bereitgestellt.
- Dies kann als Signal verwendet werden, um anzugeben, dass das Ticket einer von der Regel vorgegebenen Einschränkung entspricht. Dies kann nützlich sein, wenn für instance einige Spieler eine Präferenz ausdrücken und ein anderer Spieler bereit ist, mit jemandem zu übereinstimmen. Der Spieler ohne Präferenz kann es vernachlässigen, ein Attribut anzugeben und mit anderen Spielern zu übereinstimmen.
Standardregeltypen
Jeder der Regeltypen ist unten aufgeführt, zusammen mit seinem Zweck, einigen allgemeinen Verwendungen und allen spezifischen Konfigurationen, die die Regel möglicherweise erfordert.
Regeltyp | Beschreibung | Häufige Verwendungen | Regelspezifische Felder |
---|---|---|---|
Zeichenfolgengleichheit | Stellt sicher, dass ein Zeichenfolgen-Attribut für alle Tickets in einer Übereinstimmung identisch ist. | Erfordert Buildversionen oder andere spezifische Elemente, die übereinstimmen | keine |
Unterschied | Stellt sicher, dass die absolute Differenz für ein Zahlensattribut zwischen zwei beliebigen Tickets in einer Übereinstimmung kleiner als eine konfigurierte maximale Differenz ist. | Gruppiert Spieler nach Fähigkeiten, Erfahrungen oder anderen numerischen Vergleichen | Merge-Funktion: Wählen Sie aus, wie mehrere Playerwerte zu einem Wert zusammengeführt werden, der das Ticket darstellt. Die Auswahlmöglichkeiten sind "min", "max" und "average". Der Standardwert ist "Average". |
Schnittmenge festlegen | Stellt sicher, dass für ein bestimmtes Attribut, das eine Liste von Zeichenfolgen ist, alle Tickets in einer Übereinstimmung mindestens so viele Werte gemeinsam verwenden, wie konfiguriert ist. | DLC oder Kartenauswahl | Minimale Schnittmengengröße: Mindestanzahl von freigegebenen Elementen für eine Übereinstimmung. |
Gesamtergebnis übereinstimmen | Stellt sicher, dass die Summe eines Zahlenattributes für alle Spieler in einem Spiel innerhalb eines konfigurierten Bereichs liegt. | Rollenauswahl, Emulieren der Host-/Server-Matchmaking, Anpassen von Einschränkungen für die Spieleranzahl im Laufe der Zeit | Min/Max gesamt: Die Summe des Attributs muss innerhalb dieser inklusiven Grenzen liegen. |
Regionsauswahl | Stellt sicher, dass die Latenz zu einem gemeinsamen Rechenzentrum für alle Benutzer der Übereinstimmung kleiner als ein konfigurierter maximaler Wert ist. | Erforderlich für die Integration des Multiplayerservers | Maximale Latenz: Nur Rechenzentren innerhalb dieser maximalen Latenz sind für eine Übereinstimmung berechtigt. |
Teamregeltypen
Teamregeln können nur festgelegt werden, wenn Teams in der Warteschlangenkonfiguration vorhanden sind. Sie bieten zusätzliche Möglichkeiten, ein Gleichgewicht zwischen den Teams zu erfordern. Die folgenden Teamregeln sind verfügbar:
Regeltyp | Beschreibung | Häufige Verwendungen | Regelspezifische Felder |
---|---|---|---|
Teamunterschied | Stellt sicher, dass teams, die in einer Übereinstimmung enthalten sind, innerhalb einer konfigurierten Differenz für ein bestimmtes Attribut (z. B. Skills) liegen. Dies ist einer Standarddifferenzregel sehr ähnlich, mit der Ausnahme, dass die verglichenen Werte der Durchschnittswert jedes Teams sind. | Teamsübergreifendes Ausbalancieren von Fähigkeiten | keine |
Teamgrößenausgleich | Stellt sicher, dass die Differenz in der Spieleranzahl zwischen dem größten und dem kleinsten Team einen Schwellenwert nicht überschreitet. Für instance könnte diese Regel verwendet werden, um eine Warteschlange zu erstellen, in der 3v3- und 4v4-Übereinstimmungen zulässig sind, eine 3v4 jedoch nicht. | Teamsübergreifendes Spieleranzahlsaldo | Zulässiger Unterschied zur Teamgröße: Wie ungleich die Teams sein können, gemessen an der Differenz in der Anzahl der Spieler, die jedem zugewiesen sind. |
Ähnlichkeit der Teamticketgröße | Stellt sicher, dass alle Teams entweder eine große Partei oder keine große Partei haben. Eine große Partei wird als mindestens die Hälfte der maximalen Teamgröße definiert. | Verhindert, dass Parteien (vorgefertigte Teams) mit einer Gruppe von Solospielern übereinstimmen. | keine |
Erweiterungen und werden optional
Regeln können im Laufe der Zeit optional oder weniger restriktiv werden, sodass Tickets, die einige Zeit gewartet haben, breiter nach einer potenziellen Übereinstimmung suchen können. Es gibt zwei Methoden zum Steuern dieses Verhaltens:
Sekunden bis optional : Gibt einfach den Zeitraum an, für den die Regel aktiv ist. Die Regel schränkt Übereinstimmungen zwischen Tickets, die dieses Mal gewartet haben, nicht mehr ein.
Erweiterungsprozess : Regeln passen ihre konfigurierten Schwellenwerte im Laufe der Zeit schrittweise an. Für instance kann eine Differenzregel Übereinstimmungen innerhalb einer bestimmten maximalen Differenz erfordern. Wenn ein Ticket wartet, kann die Regel die maximale Differenz erweitern, erlaubt eine Erweiterung auf eine größere und größere Reichweite für das Ticket und ermöglicht es, es auch dann zu finden, wenn perfekte Gegner nicht verfügbar sind.
Erweiterungen können entweder linear oder benutzerdefiniert sein. Bei einer linearen Erweiterung wächst ein Wert im Laufe der Zeit, wobei nach jedem Zeitintervall eine feste Änderung verwendet wird. Die in einer linearen Erweiterung angepassten Elemente sind:
- Sekunden zwischen Erweiterungen: Gibt an, wie lange zwischen den einzelnen instance der Regel, die ihre Einschränkungen ändert.
- Delta : Die Änderung des Werts.
- Limit : Der Endwert. Die Regel wird nie über diesen Punkt hinaus erweitert.
In einer benutzerdefinierten Erweiterung kann die Regel jedes Mal einen beliebigen Wert verwenden, wenn die Regel ihre Einschränkungen ändert. Die folgenden Felder werden verwendet:
- Sekunden zwischen Erweiterungen: Wie lange zwischen den einzelnen instance der Regel, die ihre Einschränkungen ändert
- Mindestens ein benutzerdefiniertes Feld , das eine Regel während der Erweiterung ändert. Jedes Feld ist durch ein Semikolon getrennt, um einen anderen Wert darzustellen, der in jedem Erweiterungsintervall verwendet wird. Das Wort "null" kann anstelle eines Werts verwendet werden, um anzugeben, dass die Regel während dieses Intervalls nicht aktiv ist.
Das genaue geänderte Feld hängt von der Regel ab. Im folgenden Diagramm wird beschrieben, welche Regeln welche Arten von Erweiterungen aufweisen und welche Felder durch die Erweiterung geändert werden.
Regeltyp | Lineare Erweiterung zulässig? | Benutzerdefinierte Erweiterung zulässig? | Während der Erweiterung geändertes Attribut |
---|---|---|---|
Zeichenfolgengleichheit | nein | ja | Ob die Regel aktiv ist oder nicht |
Unterschied | ja | ja | Maximal zulässige Differenz |
Schnittmenge festlegen | ja | ja | Erforderliche Mindestmenge |
Gesamtergebnis übereinstimmen | nein | ja | Minimale und maximal erforderliche Summen |
Regionsauswahl | ja | ja | Maximal zulässige Latenz |
Teamunterschied | ja | ja | Zulässiger Unterschied in Teamwerten |
Teamgrößenausgleich | ja | ja | Zulässiger Unterschied in der Anzahl der Spieler pro Team |
Ähnlichkeit der Teamticketgröße | nein | nein | n/z |
Weitere Informationen zu Konfigurationsanwendungsfällen und -beispielen finden Sie unter Vergleichsszenario und Konfigurationsbeispiele.