

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为大型对战自定义匹配算法
<a name="match-design-rulesets-large-algorithm"></a>

向规则集添加算法组件（如果尚不存在）。设置以下属性：
+ `strategy`（必填）– 将 `strategy` 属性设置为“平衡”。此设置会触发 FlexMatch 进行额外的赛后检查，以根据 `balancedAttribute` 属性中定义的指定玩家属性找到最佳的团队平衡。平衡的策略取代了使用自定义规则来组建势均力敌的团队。
+ `balancedAttribute`（必填）– 确定在对战中平衡团队时要使用的玩家属性。此属性必须具有数字数据类型（双精度或整数）。例如，如果您选择平衡玩家技能，FlexMatch 会尝试分配玩家，以便所有团队的总技能水平尽可能平衡。请务必在规则集的玩家属性中声明平衡属性。
+ `batchingPreference`（可选）– 选择您想在多大程度上强调为玩家打造尽可能低的延迟对战。此设置会影响在建立对战之前对对战票证的排序方式。选项包括：
  + 最大群体。FlexMatch 允许使用池中所有在至少一个共同位置具有可接受延迟值的票证进行匹配。因此，潜在的票证池往往很大，这使得更容易更快地填补对战。玩家可能被放置在延迟可接受但并不总是最佳延迟的游戏中。如果未设置 `batchingPreference` 属性，则这是 `strategy` 设置为“平衡”时的默认行为。
  + 最快的位置。FlexMatch 会根据池中报告最低延迟值的位置，对所有票证进行预排序。因此，往往会与报告相同位置低延迟的玩家进行对战。同时，每场对战的潜在票证池较小，这可能会增加填补对战所需的时间。此外，由于对延迟的优先级更高，因此对战中的玩家在平衡属性方面的差异可能更大。

以下示例将匹配算法配置为如下行为：(1) 对票池进行预排序，按票证具有可接受的延迟值的位置对票证进行分组；(2) 形成批量排序的票证进行匹配；(3) 批量创建带有票证的匹配并平衡队伍以平衡普通玩家技能。

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