

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Entwerfen Sie einen FlexMatch Regelsatz mit großen Übereinstimmungen
<a name="match-design-rulesets-large"></a>

Wenn Ihr Regelsatz Spiele vorsieht, die 41 bis 200 Spieler zulassen, müssen Sie einige Anpassungen an Ihrer Regelsatzkonfiguration vornehmen. Diese Anpassungen optimieren den Match-Algorithmus, sodass er tragfähige große Matches erstellen kann und gleichzeitig die Wartezeiten der Spieler kurz halten können. Infolgedessen ersetzen umfangreiche Spielregelsätze zeitaufwändige benutzerdefinierte Regeln durch Standardlösungen, die für gemeinsame Matchmaking-Prioritäten optimiert sind. 

So können Sie feststellen, ob Sie Ihren Regelsatz für große Matches optimieren müssen:

1. Ermitteln Sie für jedes Team, das in Ihrem Regelsatz definiert ist, den Wert von *MaxPlayer*,

1. Addieren Sie alle *MaxPlayer-Werte*. Wenn die Summe 40 übersteigt, haben Sie einen großen Satz an Vergleichsregeln. 

Um Ihren Regelsatz für große Treffer zu optimieren, nehmen Sie die im Folgenden beschriebenen Anpassungen vor. Das Schema für einen Regelsatz mit großen Übereinstimmungen finden Sie unter [Regelsatzschema für große Spiele](match-ruleset-schema-large.md) und Beispiele für Regelsätze finden Sie unter[Beispiel: Erstelle ein großes Spiel](match-examples-7.md).

# Passen Sie den Match-Algorithmus für große Treffer an
<a name="match-design-rulesets-large-algorithm"></a>

Fügen Sie dem Regelsatz eine Algorithmuskomponente hinzu, falls noch keine vorhanden ist. Legen Sie die folgenden Eigenschaften fest. 
+ `strategy`(erforderlich) — Stellen Sie die `strategy` Eigenschaft auf „ausgewogen“ ein. Diese Einstellung löst ausFlexMatch, dass nach dem Spiel zusätzliche Überprüfungen durchgeführt werden, um die optimale Teambalance auf der Grundlage eines bestimmten Spielerattributs zu ermitteln, das in der `balancedAttribute` Eigenschaft definiert ist. Die ausgewogene Strategie ersetzt die Notwendigkeit benutzerdefinierter Regeln, um gleichmäßig zusammengestellte Teams zusammenzustellen.
+ `balancedAttribute`(erforderlich) — Identifiziere ein Spielerattribut, das beim Ausbalancieren der Teams in einem Spiel verwendet werden soll. Dieses Attribut muss einen numerischen Datentyp haben (doppelt oder ganzzahlig). Wenn Sie sich beispielsweise für ein ausgewogenes Verhältnis nach den Fähigkeiten der Spieler entscheiden, wird FlexMatch versucht, Spieler so zuzuweisen, dass alle Teams über ein möglichst einheitliches Qualifikationsniveau verfügen. Das Balancing-Attribut muss in den Spielerattributen des Regelsatzes deklariert werden. 
+ `batchingPreference`(optional) — Wählen Sie aus, wie viel Wert Sie darauf legen möchten, Spiele mit der geringstmöglichen Latenz für Ihre Spieler zu veranstalten. Diese Einstellung wirkt sich darauf aus, wie Spieltickets vor dem Aufbau von Matches sortiert werden. Zu den Optionen gehören: 
  + Größte Bevölkerung. FlexMatchermöglicht Matches, bei denen alle Tickets im Pool verwendet werden, die akzeptable Latenzwerte an mindestens einem Ort gemeinsam haben. Infolgedessen ist der potenzielle Ticketpool in der Regel groß, was es einfacher macht, Treffer schneller zu füllen. Spieler werden möglicherweise in Spiele mit akzeptabler, aber nicht immer optimaler Latenz eingeteilt. Wenn die `batchingPreference` Eigenschaft nicht gesetzt ist, ist dies das Standardverhalten, wenn sie auf „ausgewogen“ gesetzt `strategy` ist.
  + Schnellster Standort. FlexMatchSortiert alle Tickets im Pool vorab danach, wo sie die niedrigsten Latenzwerte melden. Aus diesem Grund werden Spiele in der Regel mit Spielern gebildet, die eine geringe Latenz angeben, an denselben Orten. Gleichzeitig ist der potenzielle Ticketpool für jedes Spiel kleiner, was die Zeit erhöhen kann, die benötigt wird, um ein Spiel zu füllen. Da der Latenz eine höhere Priorität eingeräumt wird, können die Spieler in Spielen zudem in Bezug auf das Balancing stärker variieren.

Im folgenden Beispiel wird der Match-Algorithmus so konfiguriert, dass er sich wie folgt verhält: (1) Sortieren Sie den Ticketpool vorab, um Tickets nach Orten zu gruppieren, an denen sie akzeptable Latenzwerte haben; (2) Bilden Sie Stapel sortierter Tickets für den Abgleich; (3) Erstellen Sie Spiele mit Tickets in einem Stapel und gleichen Sie die Teams aus, um die durchschnittlichen Fähigkeiten der Spieler auszugleichen.

```
"algorithm": {
    "strategy": "balanced",
    "balancedAttribute": "player_skill",
    "batchingPreference": "largestPopulation"
},
```

# Deklarieren Sie Spielerattribute
<a name="match-design-rulesets-large-attributes"></a>

Stellen Sie sicher, dass Sie das Spielerattribut deklarieren, das im Regelsatzalgorithmus als Balancing-Attribut verwendet wird. Dieses Attribut sollte für jeden Spieler in einer Matchmaking-Anfrage enthalten sein. Sie können einen Standardwert für das Spielerattribut angeben, aber der Attributausgleich funktioniert am besten, wenn spielerspezifische Werte angegeben werden.

# Definieren Sie Teams
<a name="match-design-rulesets-large-teams"></a>

Der Prozess zum Definieren der Teamgröße und -struktur gestaltet sich genauso wie bei kleinen Matches, außer dass FlexMatch Teams auf unterschiedliche Weise füllt. Dies wirkt sich darauf aus, wie Spiele wahrscheinlich aussehen werden, wenn sie nur teilweise besetzt sind. Möglicherweise möchten Sie als Reaktion darauf Ihre Mindestgröße für Teams anpassen.

FlexMatch weist einen Spieler nach folgenden Regeln einem Team zu. Erstens: Suchen Sie nach Teams, die die minimal erforderliche Spieler-Anzahl noch nicht erreicht haben. Zweitens: Suchen Sie unter diesen Teams nach dem Team mit den meisten noch nicht gefüllten Spielerplätzen. 

Bei Matches, die mehrere Teams gleicher Größe definieren, werden Spieler jedem Team sequenziell hinzugefügt, bis sie voll sind. Das hat zur Folge, dass die Teams in einem Spiel immer fast die gleiche Anzahl von Spielern haben, auch wenn das Spiel nicht voll ist. Derzeit gibt es keine Möglichkeit, bei großen Matches Teams gleicher Größe zu erzwingen. Bei Matches mit asymmetrisch großen Teams ist der Prozess etwas komplexer. In diesem Szenario werden die Spieler zunächst den größten Teams zugewiesen, die die meisten freien Plätze haben. Da die Anzahl der offenen Plätze immer gleichmäßiger auf alle Teams verteilt wird, werden die Spieler in die kleineren Teams aufgeteilt.

Nehmen wir zum Beispiel an, Sie haben einen Regelsatz mit drei Teams. Die Teams Rot und Blau sind beide auf `maxPlayers` =10, `minPlayers` =5 gesetzt. Das grüne Team ist auf `maxPlayers` =3, =2 gesetzt. `minPlayers` Hier ist die Füllsequenz: 

1. Kein Team hat es erreicht`minPlayers`. Das rote und das blaue Team besitzen 10 verfügbare Spielerplätze und das grüne Team hat 3. Die ersten 10 Spieler (jeweils 5) werden dem roten und dem blauen Team zugewiesen. Beide Teams haben es jetzt erreicht`minPlayers`.

1. Das grüne Team hat es noch nicht erreicht`minPlayers`. Die nächsten 2 Spieler werden dem grünen Team zugewiesen. Das grüne Team hat es jetzt erreicht`minPlayers`.

1. Wenn alle Teams aktiviert sind`minPlayers`, werden nun weitere Spieler basierend auf der Anzahl der offenen Plätze zugewiesen. Das rote und das blaue Team haben jeweils 5 offene Plätze, während das grüne Team 1 hat. Die nächsten 8 Spieler (jeweils 4) werden den Teams Rot und Blau zugewiesen. Alle Teams haben jetzt 1 freien Platz.

1. Die verbleibenden 3 Spielerplätze werden den Teams in keiner bestimmten Reihenfolge zugewiesen (jeweils 1).

# Lege Regeln für große Spiele fest
<a name="match-design-rulesets-large-rule"></a>

Das Matchmaking für große Spiele hängt hauptsächlich von der Balancingstrategie und den Batching-Optimierungen für die Latenz ab. Die meisten benutzerdefinierten Regeln sind nicht verfügbar. Sie können jedoch die folgenden Arten von Regeln integrieren: 
+ Regel, die ein festes Limit für die Spielerlatenz festlegt. Verwenden Sie den `latency` Regeltyp mit der Eigenschaft`maxLatency`. Siehe [Latenz-Regel](match-rules-reference-ruletype.md#match-rules-reference-ruletype-latency) Referenz. Im folgenden Beispiel wird die maximale Spieler-Latenzwert auf 200 Millisekunden eingestellt:

  ```
  "rules": [{
          "name": "player-latency",
          "type": "latency",
          "maxLatency": 200
      }],
  ```
+ Regel zur Gruppierung von Spielern auf der Grundlage der Nähe zu einem bestimmten Spielerattribut. Dies unterscheidet sich von der Definition eines Balancing-Attributs als Teil des Algorithmus für große Spiele, der sich darauf konzentriert, gleichmäßig zusammengestellte Teams zusammenzustellen. Bei dieser Regel werden Matchmaking-Tickets auf der Grundlage der Ähnlichkeit der angegebenen Attributwerte, z. B. der Fähigkeiten eines Anfängers oder eines Experten, gebündelt. Dies führt in der Regel zu Matches mit Spielern, die sich in Bezug auf das angegebene Attribut sehr ähnlich sind. Verwenden Sie den `batchDistance` Regeltyp, identifizieren Sie ein numerisches Attribut und geben Sie den breitesten zulässigen Bereich an. Siehe Referenz. [Regel zur Entfernung von Batch](match-rules-reference-ruletype.md#match-rules-reference-ruletype-batchdistance) Hier ist ein Beispiel, bei dem die Spieler eines Spiels mindestens eine Fähigkeitsstufe voneinander entfernt sein müssen:

  ```
  "rules": [{
          "name": "batch-skill",
          "type": "batchDistance",
          "batchAttribute": "skill",
          "maxDistance": 1
  ```

# Lockern Sie die Anforderungen an große Spiele
<a name="match-design-rulesets-large-relax"></a>

Sie können genauso wie bei kleinen Matches Match-Anforderungen mithilfe von Erweiterungen mit der Zeit lockern, wenn andernfalls keine gültigen Matches möglich sind. Bei großen Spielen haben Sie die Möglichkeit, entweder die Latenzregeln oder die Anzahl der Teamspieler zu lockern. 

Wenn Sie für große Matches automatisches Backfill verwenden, vermeiden Sie, Ihre Team-Player-Anzahl zu schnell zu lockern. FlexMatch beginnt mit dem Generieren von Backfill-Anforderungen erst, nachdem die Spielsitzung gestartet wurde. Dies geschieht möglicherweise erst mehrere Sekunden nach dem Erstellen eines Match. Während dieser Zeit kann FlexMatch mehrere teilweise gefüllte neue Spielsitzungen erstellen, insbesondere wenn die Regeln bezüglich der Spieleranzahl gelockert werden. Dies kann letztendlich in mehr Spielsitzungen resultieren, als Sie benötigen, mit zu wenigen Spielern pro Spiel. Es ist eine bewährte Methode, dem ersten Schritt in der Erweiterung der Spieleranzahl eine längere Wartezeit zuzuweisen, während der Ihre Spielsitzung gestartet werden kann. Da Backfill-Anforderungen bei größeren Matches eine höhere Priorität zukommt, werden eingehende Spieler in bestehende Spielen platziert, bevor ein neues Spiel gestartet wird. Möglicherweise müssen Sie experimentieren, um die ideale Wartezeit für Ihr Spiel zu finden.

Es folgt ein Beispiel, in dem die Spieleranzahl des gelben Teams mit einer längeren anfänglichen Wartezeit graduell verringert wird. Denken Sie daran, dass Wartezeiten in Regelsatz-Erweiterungen absolut sind und nicht summiert werden. Die erste Erweiterung tritt bei fünf Sekunden auf und die zweite Erweiterung fünf Sekunden später, also bei zehn Sekunden.

```
"expansions": [{
        "target": "teams[Yellow].minPlayers",
        "steps": [{
            "waitTimeSeconds": 5,
            "value": 8
        }, {
            "waitTimeSeconds": 10,
            "value": 5
        }]
    }]
```