# gamematch.createMatchRule

本接口应在服务器端调用,详细说明参见服务端API

小游戏创建对局匹配规则,并返回一个matchid。

每个小游戏可以创建多个matchid对应不同的匹配规则。小游戏持有的matchid数量上限为20。

# 请求地址

POST https://api.weixin.qq.com/wxa/business/gamematch/creatematchrule?access_token=ACCESS_TOKEN

# 请求参数

属性 类型 默认值 必填 说明
team_count number 匹配结果中的队伍数量
team_member_count number 匹配结果每个队伍对应的成员数量
need_room_service_info number 是否需要在下发匹配结果时同步创建帧同步房间。0:不需要,1:需要。如果填1,则会在下发对局匹配结果时携带accessInfo,用于加入帧同步房间。 要求team_count * team_member_count 不超过10人才可以使用该项。
game_room_info Object 创建帧同步房间时的房间信息。在need_room_service_info为1时有效。

game_room_info 的结构

属性 类型 默认值 必填 说明
game_tick number 后台下发游戏逻辑帧的周期,单位ms,最小不得小于33ms
start_percent number 不填或者填0代表微信后台只要收到一次“开始游戏”指令就会开始游戏,否则微信后台会统计发送“开始游戏”指令的玩家数达到规定的百分比后才能启动游戏,填50表征50%
udp_reliability_strategy number 使用的UDP可靠性策略,N:固定冗余N帧。建议值:3
need_user_info bool 房间是否需要用户的头像昵称——如果填True,微信后台会去校验用户是否授权该应用获取其头像昵称的权限。如果房间需要头像昵称但是用户未授权,则用户后续加入房间的请求会返回失败;如果need_user_info为False,后续用户的加入房间操作会成功,但微信后台不会在房间信息中下发用户的头像昵称。
game_last_time number 游戏对局时长,单位s,不得超过微信后台最大限制1个小时,如果不填或填0则默认为20分钟
need_game_seed bool 是否需要在创建房间时同时生成一个随机的游戏种子

# 返回值

# Object

返回的 JSON 数据包

属性 类型 说明
errcode number 错误码
errmsg string 错误提示信息
match_id string 匹配池对应的id,加入匹配时需要携带matchid以加入对应的匹配池

errcode 的合法值

说明 最低版本
0 请求成功
-1 系统繁忙,此时请开发者稍候再试
200000 无效的请求数据
500008 每个对局需要的玩家数量超过房间服务人数上限
500014 小程序拥有的matchid数量超过上限

# 调用示例

curl -X POST -d '{"team_count": 2,"team_member_count": 1,"need_room_service_info":1, "game_room_info":{"game_tick": 30, "udp_reliability_strategy": 3,"start_percent": 100, "need_user_info": true, "game_last_time": 1800, "need_game_seed": true}}' https://api.weixin.qq.com/wxa/business/gamematch/creatematchrule?access_token=ACCESS_TOKEN

# 返回结果示例

{
    "errcode": 0,
    "errmsg":"ok",
    "match_id":"FD0PT4rKguEdK-L83RaJgdbchUCW8wjhSwgCku4CLQk"
}

点击咨询小助手