使用脚本模式配置匹配策略,支持5轮放宽,以1v1场景为例
字段解释
teams:配置匹配策略名称、单个队伍最多最少人数、队伍数
playerParams:配置玩家参与匹配的属性集
matchTeamRules:配置组队阶段规则,本次为1v1,不存在组队情况
matchRoomRules:配置队伍组房规则
type:类型;区间或差值方式
expression:本规则中参与匹配的玩家属性(从playerParams)中取值
value:属性数值
waitRules:放开规则
waitSeconds:放开时间。(多长时间后进入该放宽规则)
value:属性值。(该条放宽规则允许的最大值)
matchTimeOut:最大超时时间(包含组队/组房时间)
脚本示例
{
"teams": [
{
"name": "1v1",
"minPlayers": 1,
"maxPlayers": 1,
"number": 2
}
],
"playerParams": [
{
"name": "score",
"type": "number"
}
],
"matchTeamRules": null,
"matchRoomRules": [
{
"type": "variance",
"expression": "avg(teams[*].players.score)",
"value": 5,
"waitRules": [
{
"waitSeconds": 10,
"value": 10
},
{
"waitSeconds": 20,
"value": 20
},
{
"waitSeconds": 30,
"value": 30
},
{
"waitSeconds": 40,
"value": 40
},
{
"waitSeconds": 50,
"value": 50
}
]
}
],
"matchTimeOut": 60
}
复制
测试结果
两玩家属性差 | <=5 | 5<x<=10 | 10<x<=20 | 20<x<=30 | 30<x<=40 | 40<x<=50 | >50 |
匹配时间 (同时发起) | 2s | 13s | 23s | 33s | 42s | 53s | 匹配失败 |