

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 範例：建立多團隊大型配對
<a name="match-examples-8"></a>

此範例說明如何為有多個可以超過 40 名玩家的隊伍配對設定規則集。此範例說明如何使用一個定義建立多個相同隊伍，以及在建立配對期間會如何填滿大小不對稱的隊伍。

範例規則集使用以下指示來建立配對：
+ 建立十個有多達 15 名玩家的相同「獵人」隊伍，以及一個有正好 5 名玩家的「怪物」隊伍。
+ 平衡條件：根據擊殺怪物的數量來選取玩家。如果玩家未回報擊殺數量，則使用預設值 (5 個)。
+ 批次處理偏好設定：根據回報的玩家延遲最快的區域來將玩家群組在一起。
+ 延遲規則：將可接受的玩家延遲上限設定為 200 毫秒。
+ 如果未能快速填滿配對，則放寬要求以在合理的時間內完成配對。
  + 在 15 秒後，接受有 10 名玩家的隊伍。
  + 在 20 秒後，接受有 8 名玩家的隊伍。

使用此規則集的注意事項：
+ 此規則集定義了可以容納最多 155 名玩家的隊伍，這使其成為大型配對。(10 x 15 獵人 \$1 5 怪物 = 155)
+ 由於演算法會使用「最快區域」批次處理偏好設定，系統可能會將玩家放到回報的延遲最快的區域，而非回報的延遲較高 (但可接受) 的區域。同時，配對可能會有較少的玩家，且平衡條件 (怪物技能數字) 可能會有更大的變化。
+ 如果多隊伍定義 (數量 > 1) 已定義了擴展，擴展便會適用於使用該定義所建立的所有隊伍。因此，透過放寬獵人隊伍玩家人數下限設定，這十個獵人隊伍全部會受到同樣的影響。
+ 由於此規則集已經過優化而能盡量減少玩家延遲，因此延遲規則可以一網打盡地排除連線選項未達接受標準的玩家。我們不需要放寬此要求。
+ 以下是 FlexMatch 在擴展生效前針對此規則集填滿配對的方式：
  + 還沒有任何隊伍達到 minPlayers 人數。獵人隊伍有 15 個空位，怪物隊伍則有 5 個空位。
    + 前 100 名玩家會指派給十個獵人隊伍 (每個隊伍各 10 名)。
    + 接下來的 22 名玩家則會循序指派給獵人隊伍和怪物隊伍 (每個隊伍各 2 名)。
  + 獵人隊伍已達到 minPlayers 人數，也就是每個隊伍皆有 12 名玩家。怪物隊伍有 2 名玩家，且尚未達到 minPlayers 人數。
    + 接下來的三名玩家會指派給怪物隊伍。
  + 所有隊伍皆已達到 minPlayers 人數。獵人隊伍各有三個空位。怪物隊伍人數已滿。
    + 最後 30 名玩家會循序指派給獵人隊伍，以確保所有獵人隊伍的大小幾乎相同 (多一名玩家或少一名玩家)。
+ 如果您已針對使用此規則集所建立的配對啟用回填，則請勿太快放寬玩家人數要求，否則最終可能會有太多部份填滿的遊戲工作階段。請至 [放寬大型比對需求](match-design-rulesets-large-relax.md) 進一步了解。

```
{
    "name": "monster-hunters",
    "ruleLanguageVersion": "1.0",
    "playerAttributes": [{
        "name": "monster-kills",
        "type": "number",
        "default": 5
    }],
    "algorithm": {
        "balancedAttribute": "monster-kills",
        "strategy": "balanced",
        "batchingPreference": "fastestRegion"
    },
    "teams": [{
        "name": "Monsters",
        "maxPlayers": 5,
        "minPlayers": 5
    }, {
        "name": "Hunters",
        "maxPlayers": 15,
        "minPlayers": 12,
        "quantity": 10
    }],
    "rules": [{
        "name": "latency-catchall",
        "description": "Sets maximum acceptable latency",
        "type": "latency",
        "maxLatency": 150
    }],
    "expansions": [{
        "target": "teams[Hunters].minPlayers",
        "steps": [{
            "waitTimeSeconds": 15,
            "value": 10
        }, {
            "waitTimeSeconds": 20,
            "value": 8
        }]
    }]
}
```