匹配概述
本主题介绍 SmartMatch 匹配服务在多人游戏中如何选择兼容的玩家。
SmartMatch 简介
Xbox 服务提供了名为 SmartMatch 的匹配服务。 它基于玩家信息以及想要一起游戏的玩家的匹配请求来对玩家进行分组。 匹配基于服务器。 这意味着玩家向服务发出请求,然后当找到匹配时,他们将收到通知。
可使用以下 API 方法进行 SmartMatch 匹配。
SmartMatch 由多人游戏管理器包装。
若要使用高级 API,可调用
XblMatchmaking*
方法。
对于多人游戏管理器 (MPM) 不支持的匹配场景,请通过 Microsoft 代表向我们提供反馈。 无论使用哪种 API,本主题中的概念信息都有效。
在构建游戏时,可使用本主题中所述的 SmartMatch。 你也可以按照使用自己的配对服务中所述,使用自己的配对服务。
关于 SmartMatch
为简化匹配,SmartMatch 匹配服务与多人游戏会话目录 (MPSD) 密切配合。 SmartMatch 允许游戏在后台轻松匹配;例如,当玩家在游戏内玩单人游戏时。
想要进入匹配的个人或小组创建匹配票证会话,然后请求匹配服务查找其他要开始与其建立匹配的玩家。 这将导致创建驻留在匹配服务内一段时间的临时匹配票证。
匹配服务基于配置、为各玩家存储的数据以及在匹配请求时给定的任何其他信息选择会话以共同游戏。 然后,该服务将创建匹配目标会话,此会话包含已匹配的所有玩家,并向玩家的游戏告知匹配。
目标会话准备就绪后,游戏将执行服务质量 (QoS) 检查以确认该组是否可以一起玩游戏。 确认检查后,组即可开始游戏。 在 QoS 过程和匹配游戏期间,游戏将在 MPSD 内使会话状态保持最新。 游戏将从 MPSD 接收有关会话更改的通知。 此类更改包括用户的进出,以及对会话仲裁程序的更改。
匹配票证会话
匹配票证会话表示适用于想要进行匹配的玩家的客户端。 会话基于游戏、同时位于大厅的一组陌生人或者其他特定于游戏的玩家分组创建。 在某些情况下,票证会话可能是已在进行中并在寻找更多玩家的游戏会话。
匹配票证
向匹配提交票证会话会创建匹配票证。 它会跟踪匹配尝试。 票证中的属性(例如游戏地图或者玩家级别)以及票证会话中的玩家的属性用于确定匹配。
漏斗
漏斗是收集匹配票证的逻辑位置。 仅可匹配同一漏斗内的票证。
一个游戏可以有多个漏斗。 例如,游戏可以创建一个玩家技能是最重要的匹配项目的漏斗。 游戏可以使用另一个漏斗,在该漏斗中,只有玩家购买了相同的可下载内容时才会匹配。
漏斗规则
漏斗规则提供匹配服务用于确定要将哪些玩家分组在一起的条件的定义。
漏斗规则有两种类型。
MUST 规则:必须满足这些规则,匹配票证才会被视为兼容。
SHOULD 规则:匹配规则的匹配票证要优于不匹配规则的票证。
在每个类别中,有以下几种特定类型的规则。 有关详细信息,请参阅在合作伙伴中心配置匹配。
漏斗配置
有关详细信息,请参阅“在合作伙伴中心配置匹配”主题中的用于匹配的基本漏斗配置部分。
匹配目标会话
找到匹配的组后,该服务将创建匹配目标会话。 该服务将为票证会话中匹配在一起的所有玩家保留位置。 有关详细信息,请参阅目标会话初始化和 QoS。