Vergleichsszenario und Konfigurationsbeispiele

Übersicht

Das System von Warteschlangen und Regeln bietet die Flexibilität, eine große Anzahl von Szenarien zu verarbeiten. Im Folgenden finden Sie Beispiele für einige der häufigeren Anwendungsfälle für matchmaking und die zugehörigen Warteschlangen. Sie können jede dieser Konfigurationen direkt mithilfe von PlayFab-APIs übermitteln. Sie können diese Optionen auch über die Game Manager-Benutzeroberfläche festlegen.

Meine erste Warteschlange oder "Quick Match"

Jeder Titel sollte mit dieser einfachen Warteschlange beginnen, um die grundlegenden Flows zu ermitteln. Diese Warteschlange gleicht zwei Spieler zusammen und enthält eine optionale Regel, die erfordert, dass Spieler dieselbe Buildzeichenfolge übergeben müssen, um übereinstimmungen zu können. Wenn Sie keinen Build angeben, kann der Spieler unabhängig vom Build mit anderen Spielern in dieser Warteschlange übereinstimmen.

"MatchmakingQueue": {
    "Name": "MyFirstQueue",
    "MinMatchSize": 2,
    "MaxMatchSize": 2,
    "ServerAllocationEnabled": false,
    "Rules": [
        {
            "Type": "StringEqualityRule",
            "Attribute": {
                "Path": "Build",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "MatchAny",
            "Weight": 1,
            "Name": "BuildVersionRule"
        }
    ]
}

Mehrere Spielmodi

Titel haben oft unterschiedliche Möglichkeiten, Spiele zu spielen. Wenn diese Spieler niemals miteinander übereinstimmen sollten, wird die Leistung optimiert, wenn sie in separaten Warteschlangen platziert werden.

{
    "MatchmakingQueue": {
        "Name": "FreeForAllQueue",
        "MinMatchSize": 4,
        "MaxMatchSize": 4,
        "ServerAllocationEnabled": false,
        "Rules": [
        ]
    }
}
{
    "MatchmakingQueue": {
        "Name": "CaptureTheFlagQueue",
        "MinMatchSize": 4,
        "MaxMatchSize": 4,
        "ServerAllocationEnabled": false,
        "Rules": [
        ]
    }
}

Wenn Spieler in spielmodiübergreifend mit anderen spielern übereinstimmen sollen, verwenden Sie eine einzelne Warteschlange, und erstellen Sie eine Regel zum Festlegen von Schnittmengen. Spieler können mehrere Spielmodi angeben, und die Regel schränkt Spiele auf Spiele ein, bei denen alle Spieler mindestens einen gemeinsamen Spielmodus enthalten.

Notiz

Die Anzahl der Spieler, die zum Spielen erforderlich sind, muss in allen Modi gleich sein, damit diese Funktionalität ordnungsgemäß funktioniert.

{
    "MatchmakingQueue": {
        "Name": "MultiGameModeSearchQueue",
        "MinMatchSize": 4,
        "MaxMatchSize": 4,
        "ServerAllocationEnabled": false,
        "Rules": [
        {
                "Type": "SetIntersectionRule",
                "MinIntersectionSize": 1,
                "Attribute": {
                    "Path": "GameMode",
                    "Source": "User"
                },
                "AttributeNotSpecifiedBehavior": "MatchAny",
                "Weight": 1,
                "Name": "GameModeRule"
            }
        ]
    }
}

Skillbasiertes free-for-all-Spiel mit Erweiterung

Ein gängiges Szenario ist der Versuch, Spieler basierend auf Fähigkeiten zusammenzupassen. In diesem Beispiel erfordert die Warteschlange, dass die Qualifikationsattribute der Spieler innerhalb von 0,2 sein müssen, wobei diese Attribute im Laufe der Zeit auf 0,5 steigen. Bei Tickets, die länger als 30 Sekunden warten, ist jede Qualifikationsdifferenz zulässig.

Bei den Werten für dieses Beispiel wird davon ausgegangen, dass die Bereiche der verfügbaren Qualifikationen zwischen 0 und 1 liegen. Passen Sie diese Werte an den Bereich der Werte an, die Ihr Titel verwendet, um die Fähigkeiten seiner Spieler nachzuverfolgen, und wie viel Wert auf die Fähigkeit gegenüber der Geschwindigkeit eines Spiels gelegt wird.

Darüber hinaus ist die Regel, die mit 30 Sekunden optional wird, für Spiele gedacht, bei denen es besser ist, ein Spiel mit unausgewogenen Fähigkeiten zu spielen, als gar nicht zu spielen. Für Spiele, bei denen ein unausgeglichenes Spiel eine völlig negative Erfahrung ist, passen Sie an SecondsUntilOptional. Wenn sie vollständig entfernt wird, bleibt die Regel auf unbestimmte Zeit aktiv.

"MatchmakingQueue": {
    "Name": "SkillBasedFreeForAllQueue",
    "MinMatchSize": 4,
    "MaxMatchSize": 4,
    "ServerAllocationEnabled": false,
    "Rules": [
        {
            "Type": "DifferenceRule",
            "Difference": 0.2,
            "MergeFunction": "Average",
            "DefaultAttributeValue": 0.5,
            "Expansion": {
                "Delta": 0.1,
                "Limit": 0.5,
                "Type": "Linear",
                "SecondsBetweenExpansions": 5
            },
            "Attribute": {
                "Path": "Skill",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "UseDefault",
            "Weight": 1,
            "Name": "SkillRule",
            "SecondsUntilOptional": 30
        }
    ]
}

Anpassen von Erweiterungen

Sie können Erweiterungen anpassen, um beliebige Werte in jedem Zeitintervall zu verwenden. Für instance möchten Sie möglicherweise, dass der zulässige Skill langsam wächst und später im Laufe der Zeit schneller wächst.

"MatchmakingQueue": {
    "Name": "SkillBasedFreeForAllCustomExpansionQueue",
    "MinMatchSize": 4,
    "MaxMatchSize": 4,
    "ServerAllocationEnabled": false,
    "Rules": [
        {
            "Type": "DifferenceRule",
            "Difference": 0.2,
            "MergeFunction": "Average",
            "DefaultAttributeValue": 0.5,
            "Expansion": {
                "DifferenceOverrides": [
                    0.025,
                    0.05,
                    0.1,
                    0.2,
                    0.3,
                    0.5
                ],
                "Type": "Custom",
                "SecondsBetweenExpansions": 5
            },
            "Attribute": {
                "Path": "Skill",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "UseDefault",
            "Weight": 1,
            "Name": "SkillRule",
            "SecondsUntilOptional": 30
        }
    ]
}

Erweiterung der Anzahl von Spielern im Laufe der Zeit

Einige Titel bevorzugen zunächst ein vollständiges Match, sind aber im Laufe der Zeit möglicherweise mit immer weniger Personen zufrieden. Ein Beispiel hierfür ist ein Battle Royale-Spiel, das mit bis zu 50 Spielern beginnen soll, aber nach einem Matchmaking-Timeout mit weniger Spielern fortfahren kann.

Da MinMatchSize und MaxMatchSize keine Erweiterung enthalten, können Sie eine MatchTotalRule verwenden, um die Anzahl von Spielern zu ändern, die für ein Spiel erforderlich sind. Jeder Spieler legt das zugeordnete Attribut auf 1 fest. Die Regel summiert diese Werte, um dynamisch die erforderliche Anzahl von Spielern für ein Spiel zu erzwingen.

Notiz

Wenn Sie kein -Array oder MinOverrides -Array angebenMaxOverrides, wird an dessen Stelle der ursprüngliche Max Wert oder Min der Wert der Regel verwendet.

"MatchmakingQueue": {
    "Name": "PlayerExpansionOverTime",
    "MinMatchSize": 8,
    "MaxMatchSize": 50,
    "ServerAllocationEnabled": false,
    "Rules": [
        {
            "Type": "MatchTotalRule",
            "Attribute": {
                "Path": "PlayerCount",
                "Source": "User"
            },
            "Min": 8,
            "Max": 50,
            "Weight": 1,
            "Expansion": {
                "MinOverrides": [
                    50,
                    45,
                    40,
                    35,
                    25,
                    16,
                    8
                ],
                "Type": "Custom",
                "SecondsBetweenExpansions": 10
            },
            "Name": "PlayersRequiredRule",
            "SecondsUntilOptional": 60
        }
    ],
}

Standard 4-v4-Stil skillbasiert

PlayFab Matchmaking unterstützt teamorientierte Matches. Wenn Sie Teams angeben, werden die Spieler, die Sie gemeinsam im selben Ticket einreichen, einem Team zugeordnet, und sie sind nicht gezwungen, gegeneinander zu spielen.

PlayFab Matchmaking unterstützt auch verschiedene Teamregeln, um sicherzustellen, dass Teams ausgeglichen sind. Dieses Beispiel gilt für ein 4-gegen-4-Spiel und stellt sicher, dass die Fähigkeiten teamsübergreifend ausgeglichen sind.

"MatchmakingQueue": {
    "Name": "Standard4v4TeamsQueue",
    "MinMatchSize": 8,
    "MaxMatchSize": 8,
    "ServerAllocationEnabled": false,
    "Teams": [
        {
            "Name": "Red",
            "MinTeamSize": 4,
            "MaxTeamSize": 4
        },
        {
            "Name": "Blue",
            "MinTeamSize": 4,
            "MaxTeamSize": 4
        }
    ],
    "Rules": [
        {
            "Type": "TeamDifferenceRule",
            "Attribute": {
                "Path": "Skill",
                "Source": "User"
            },
            "Difference": 0.2,
            "DefaultAttributeValue": 0.5,
            "Expansion": {
                "Delta": 0.1,
                "Limit": 0.5,
                "Type": "Linear",
                "SecondsBetweenExpansions": 5
            },
            "Name": "TeamSkillRule",
            "SecondsUntilOptional": 30
        }
    ]
}

Multiplayerserver

Eine Warteschlange kann automatisch in das Multiplayer-Server-Feature von PlayFab eingespeist werden, wobei ein Server zugewiesen und eine Liste mit übereinstimmenden Spielern bereitgestellt wird. Diese Warteschlange bietet das kleinste Beispiel für eine solche Konfiguration, bei der es sich um das ServerAllocationEnabled Flag handelt, zusammen mit dem BuildId , der darstellt, welcher Build des Servers gestartet werden soll.

Wenn Sie das ServerAllocationEnabled Flag auf truefestlegen, müssen Sie auch einen RegionSelectionRule einschließen, um anzugeben, wo ein Server für jede Übereinstimmung zugeordnet werden soll.

"MatchmakingQueue": {
    "Name": "MultiplayerServersQueue",
    "MinMatchSize": 24,
    "MaxMatchSize": 24,
    "ServerAllocationEnabled": true,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Rules": [
        {
            "Type": "RegionSelectionRule",
            "MaxLatency": 200,
            "Path": "Latency",
            "Weight": 1,
            "Name": "RegionSelectionRule"
        }
    ]
}

Große Team schlacht (12 vs 12)

Größere Teamspiele haben möglicherweise zusätzliche Anforderungen. In diesem Beispiel wird die Warteschlange so konfiguriert, dass ein Multiplayerserver erstellt wird, der häufig erforderlich ist, um Spiele mit so vielen Spielern zu verwalten. Diese Konfiguration ähnelt dem vorherigen Beispiel.

Fügen Sie zusätzlich zur Qualifikation eine weitere Teamregel hinzu, um die Ähnlichkeit mit dem Team zu fördern. Nur ein großes Team ist auf jeder Seite zulässig, was verhindert, dass eine häufige Situation eines vorgefertigten Teams gegen eine große Gruppe von zufälligen Spielern abgeglichen wird.

"MatchmakingQueue": {
    "Name": "LargeTeamsQueue",
    "MinMatchSize": 24,
    "MaxMatchSize": 24,
    "ServerAllocationEnabled": true,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Teams": [
        {
            "Name": "Red",
            "MinTeamSize": 12,
            "MaxTeamSize": 12
        },
        {
            "Name": "Blue",
            "MinTeamSize": 12,
            "MaxTeamSize": 12
        }
    ],
    "Rules": [
        {
            "Type": "TeamTicketSizeSimilarityRule",
            "Name": "PreventLargePremadeVersusRandomsRule",
            "SecondsUntilOptional": 20
        },
        {
            "Type": "TeamDifferenceRule",
            "Attribute": {
                "Path": "Skill",
                "Source": "User"
            },
            "Difference": 0.1,
            "DefaultAttributeValue": 0.5,
            "Expansion": {
                "Delta": 0.1,
                "Limit": 0.5,
                "Type": "Linear",
                "SecondsBetweenExpansions": 5
            },
            "Name": "TeamSkillRule",
            "SecondsUntilOptional": 30
        },
        {
            "Type": "RegionSelectionRule",
            "MaxLatency": 200,
            "Path": "Latency",
            "Weight": 1,
            "Name": "RegionSelectionRule"
        }
    ]
}

Spiele im Battle Royale-Stil

Spiele im Battle Royale-Stil bringen viele Menschen in eine Arena. In diesem Beispiel wird das Spiel mit vier Teams eingerichtet. Derzeit ist in einem Teamszenario wie diesem ein Limit von 32 Spielern zulässig. Diese Einschränkung wird in Zukunft verbessert.

Dieses Beispiel enthält auch Informationen zum Einrichten von Multiplayerservern für dedizierte Server, die häufig für Spiele mit einer großen Anzahl von Spielern erforderlich sind. Diese Konfiguration ähnelt dem vorherigen Beispiel.

    "MatchmakingQueue": {
        "Name": "BattleRoyaleStyleQueueWithTeams",
        "MinMatchSize": 32,
        "MaxMatchSize": 32,
        "ServerAllocationEnabled": true,
        "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
        "Teams": [
            {
                "Name": "team1",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team2",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team3",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team4",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team5",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team6",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team7",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            },
            {
                "Name": "team8",
                "MinTeamSize": 4,
                "MaxTeamSize": 4
            }
        ],
        "Rules": [
            {
                "Type": "RegionSelectionRule",
                "MaxLatency": 200,
                "Path": "Latency",
                "Weight": 1,
                "Name": "RegionSelectionRule"
            }
        ]
    }

Behandeln von asymmetrischen Crossplay-Einstellungen

Da Spieler unterschiedliche Crossplay-Einstellungen auswählen können, sind die Einstellungen für die Matchmaking asymmetrisch. Spieler, die Crossplay aktivieren, sind bereit, mit jeder Plattform zu spielen, während Spieler, die Crossplay deaktivieren, nur mit Spielern auf ihrer eigenen Plattform übereinstimmen möchten.

Sie können eine Zeichenfolgengleichheitsregel oder eine festgelegte Schnittmengenregel verwenden, um eine Matchmaking-Warteschlange zu implementieren, die diese Art von Asymmetrie verarbeiten kann. In diesem speziellen Beispiel wird Zeichenfolgengleichheit verwendet.

Wenn ein Spieler cross-play deaktiviert, gibt der Client seine DeviceType an (z. B "xbox". , "playstation"), und die Regel beschränkt sie auf Übereinstimmungen auf derselben Plattform. Wenn ein Spieler Crossplay aktiviert, lässt der Client das DeviceType Attribut vollständig aus, und der AttributeNotSpecifiedBehavior von MatchAny ermöglicht es, dass er mit einer beliebigen Plattform übereinstimmt.

Notiz

Wenn eine Gruppe von Spielern zusammen ein Ticket einreicht, behandelt der Dienst die Gruppe als einzelne Einheit – er teilt die Gruppe nicht auf Spiele oder Teams auf. Ihr Spielclient sollte die Gruppenzusammensetzung vor der Ticketübermittlung überprüfen. Wenn ein Spieler z. B. Crossplay deaktiviert hat, verhindern Sie, dass er einer plattformübergreifenden Gruppe beitreten kann, bevor das Ticket erstellt wird.

Wenn die Matchmaking-Zeiten länger als erwartet sind, sollten Sie erwägen, eine separate Warteschlange pro Plattform mit einer plattformübergreifenden Warteschlange zu erstellen, je nach Bedarf, um Crossplay zu unterstützen.

"MatchmakingQueue": {
    "Name": "CrossDeviceQueue",
    "MinMatchSize": 32,
    "MaxMatchSize": 32,
    "ServerAllocationEnabled": false,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Rules": [
        {
            "Type": "StringEqualityRule",
            "Attribute": {
                "Path": "DeviceType",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "MatchAny",
            "Weight": 1,
            "Name": "CrossDeviceRule"
        }
    ]
}

Host-/Sucher- oder rollenbasierte Anforderungen

PlayFab Match verwendet ein ticketbasiertes Abgleichssystem, bei dem ein Spielhost nicht im Voraus ausgewählt wird. Es kann jedoch ein Hostsuchsystem emulieren, indem ein MatchTotalRule verwendet wird, um die Anzahl der in einer Übereinstimmung zulässigen Hosts zu begrenzen.

Tickets können dann im Voraus angeben, ob es sich um einen Host handelt, indem 1 angegeben wird. Jede Übereinstimmung muss genau einen Host enthalten.

Notiz

Wenn die Anzahl der Hosts die Sucher erheblich übertrifft oder umgekehrt, kann dieses Ungleichgewicht zu langsamen Matchmaking-Zeiten für alle Spieler führen. Berücksichtigen Sie die Auswirkungen Ihres Matchmaking-Designs, um sicherzustellen, dass genügend Spieler in einer bestimmten Teilpopulation vorhanden sind, um Ihre Matchmaking-Regeln und die gewünschte durchschnittliche Spielzeit zu erfüllen.

"MatchmakingQueue": {
    "Name": "HostSearcherQueue",
    "MinMatchSize": 8,
    "MaxMatchSize": 8,
    "ServerAllocationEnabled": false,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Rules": [
        {
            "Type": "MatchTotalRule",
            "Attribute": {
                "Path": "IsHost",
                "Source": "User"
            },
            "Min": 1,
            "Max": 1,
            "Weight": 1,
            "Name": "OneHostRule"
        }
    ]
}

Spiele haben möglicherweise Rollenanforderungen. Ein Spiel kann beispielsweise einen Schlagzeuger, zwei Gitarristen und einen Sänger erfordern. Oder ein Tank, zwei Schäden pro Sekunde (DPS) und eine Unterstützung. Spiele können verwenden MatchTotalRule , um diese Rollen zu erfordern.

"MatchmakingQueue": {
    "Name": "RoleBasedQueue",
    "MinMatchSize": 4,
    "MaxMatchSize": 4,
    "ServerAllocationEnabled": false,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Rules": [
        {
            "Type": "MatchTotalRule",
            "Attribute": {
                "Path": "TankSelected",
                "Source": "User"
            },
            "Min": 1,
            "Max": 1,
            "Weight": 1,
            "Name": "TankRule"
        },
        {
            "Type": "MatchTotalRule",
            "Attribute": {
                "Path": "DPSSelected",
                "Source": "User"
            },
            "Min": 2,
            "Max": 2,
            "Weight": 1,
            "Name": "DPSRule"
        },
        {
            "Type": "MatchTotalRule",
            "Attribute": {
                "Path": "SupportSelected",
                "Source": "User"
            },
            "Min": 1,
            "Max": 1,
            "Weight": 1,
            "Name": "SupportRule"
        }
    ]
}

Regeln mit unterschiedlicher Wichtigkeit

Regeln führen die Matchmaking durch einschränken, welche Tickets mit einem anderen übereinstimmen können, und indem die Reihenfolge ausgewählt wird, in der diese Tickets ausgewählt werden. Wenn mehrere Regeln vorhanden sind, berücksichtigt das System alle ihre Einschränkungen. Ein Titel kann jedoch die Präferenz einer Regel gegenüber den verbleibenden berechtigten Tickets priorisieren.

In diesem Beispiel muss ein Spieler innerhalb eines Skill- und Erfahrungsgrads liegen. Wenn jedoch viele Tickets innerhalb der festgelegten Qualifikations- und Erfahrungsgrenzen liegen, bevorzugt diese Warteschlange diejenigen, die sich näher an der Qualifikation befinden, anstatt diejenigen, die sich näher an der Erfahrungsebene befinden.

Qualifikationsunterschiede zählen dreimal so viele wie Erfahrungsunterschiede bei der Bewertung der Tickets, die die Einschränkungen erfüllen.

"MatchmakingQueue": {
    "Name": "WeightingQueue",
    "MinMatchSize": 4,
    "MaxMatchSize": 4,
    "ServerAllocationEnabled": false,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Rules": [
        {
            "Type": "DifferenceRule",
            "Difference": 1,
            "MergeFunction": "Average",
            "Attribute": {
                "Path": "skill",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "MatchAny",
            "Weight": 3,
            "Name": "SkillRule"
        },
        {
            "Type": "DifferenceRule",
            "Difference": 5,
            "MergeFunction": "Average",
            "Attribute": {
                "Path": "experience",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "MatchAny",
            "Weight": 1,
            "Name": "ExperienceRule"
        }
    ]
}

DLC-Pakete

Durch die Verwendung verschiedener DLC-Pakete können Spieler sich dafür entscheiden, nur andere Spieler mit einem passenden DLC SetIntersectionRulezu finden. Jeder Spieler übergibt die DLC-Pakete, die er besitzt, und ein Spiel erfordert, dass eine Gruppe mindestens ein DLC-Paket teilt.

Notiz

Nach 30 Sekunden wird die Regel optional, sodass Die Spieler spielen können, ohne DLC zu teilen.

"MatchmakingQueue": {
    "Name": "DlcQueue",
    "MinMatchSize": 4,
    "MaxMatchSize": 4,
    "ServerAllocationEnabled": false,
    "BuildId": "6a4d2760-4295-417e-b149-0a12e3570d94",
    "Rules": [
        {
            "Type": "SetIntersectionRule",
            "MinIntersectionSize": 1,
            "Attribute": {
                "Path": "DlcPacks",
                "Source": "User"
            },
            "AttributeNotSpecifiedBehavior": "MatchAny",
            "Weight": 1,
            "Name": "DlcRule",
            "SecondsUntilOptional": 30
        }
    ]
}

Aktivieren von Statistiken

Wenn Sie Statistiken aktivieren, kann Ihr Titel Informationen zu einer Warteschlange anzeigen. Diese Informationen können hilfreich sein, um die Erwartungen der Spieler festzulegen, wenn sie einen Spielmodus auswählen, den sie spielen möchten.

Umgekehrt möchten Titel diese Informationen möglicherweise ausblenden – entweder für Business Intelligence-Zwecke oder um zu vermeiden, dass Spieler in Warteschlangen mit hohem Datenverkehr gelangen.

Diese Warteschlange ermöglicht sowohl die Möglichkeit, die Anzahl der in einer Warteschlange anwesenden Spieler zu sehen, als auch die geschätzte Zeit, die ein Ticket für die Übereinstimmung benötigt.

Notiz

Ein Server kann diese Informationen immer abrufen. Die folgende Konfiguration steuert nur, ob Benutzer auch diesen Aufruf tätigen dürfen.

"MatchmakingQueue": {
    "Name": "StatisticsEnabledQueue",
    "MinMatchSize": 8,
    "MaxMatchSize": 8,
    "ServerAllocationEnabled": false,
    "Rules": [],
    "StatisticsVisibilityToPlayers": {
        "ShowNumberOfPlayersMatching": true,
        "ShowTimeToMatch": true
    }
}