队列和池
Control how matchmaking tickets are grouped, filtered, and matched in your game with queues and pools.
阅读时间2 分钟最后更新于 15 天前
队列
队列包含一系列可以匹配到一起的互斥工单。不同队列中的工单不能匹配到一起。此功能适用于为游戏构建多种不同的模式,例如团队死斗模式、混战模式或夺旗模式。此外,它也适用于拥有不同游戏类型的游戏,例如拥有排位和非排位模式的竞技游戏。默认队列
默认队列用作备用队列,如果创建的工单未指定队列名称,则使用默认队列。利用这种方式,您可以在游戏上线后无需更换游戏客户端即可动态切换到默认队列。 这种切换回默认队列的功能还支持游戏客户端未指定队列名称的旧版 Matchmaker。因此,在迁移服务时,您无需更新游戏客户端来指定队列名称。池
池是一种对队列中的工单进行动态分隔的形式。池中包含过滤器,用于指示池即将处理的工单。如果工单与某个池的过滤器不匹配,则 Matchmaker 将为相应工单指定后续池。如果工单不兼容任何池,该工单将使用该队列中的默认池。 每个池都可以指定托管信息以及凭借工单在池中构建匹配时要使用的匹配逻辑。 这样,您就可以使用过滤器来查找特定平台(如游戏主机或 Windows),从而按平台将池分隔开来。您还可以使用池来查找地区,例如北美地区、欧盟地区或亚洲地区。默认池
默认池与队列类似,也是用作备用池,确保在工单不兼容其他池的情况下仍可得到处理。同样地,每个地区也都会使用默认池将玩家安排到备用地区。过滤器
过滤器是池用于确定待处理工单的方式。当客户端创建匹配工单时,可在Attributestextnumbers=!=<>过滤器示例
仅匹配 Windows 平台工单的池示例如下:字段 | 运算符 | 值 | 描述 |
|---|---|---|---|
| 平台 | = | Windows | 工单中的平台属性必须为 |
Ticket attributes(工单属性):
Unity SDK
var attributes = new Dictionary<string, object>{ { "platform", "Windows" }};
JSON
"attributes":[{ "platform":"Windows" }]