> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 匹配

> PlayFab Matchmaking 概览:基于 SmartMatch 的服务,通过规则、属性、团队和区域队列将玩家匹配到平衡的对局中。

## 概览

PlayFab Matchmaking 功能提供了一种将匹配集成到游戏中的绝佳方式。它提供了一个简单但功能强大的系统,可帮助你的用户找到彼此。该功能升级了 PlayFab 已弃用的匹配器,并使用 XBOX 网络上久经考验的 SmartMatch 能力。

这标志着 XBOX 网络 SmartMatch 匹配技术首次通过 PlayFab 在 XBOX 生态系统之外提供使用。

当个人或群组希望加入一场对局时,你的游戏会向匹配服务提交请求。请求提交后,服务会保留该请求,并尝试将其与其他请求进行匹配。然后,服务会创建包含最兼容玩家的对局。

## 术语

匹配系统使用了一些需要理解的常见术语。这些术语包括:

* **工单 (Ticket)**:工单是匹配过程的核心资源。一个工单包含一名玩家或希望一起游戏的玩家列表,以及他们的属性(例如游戏内等级、喜爱的地图或技能)。
* **队列 (Queue)**:队列是一组待匹配的工单集合,以及一组控制工单如何匹配的规则。
* **规则 (Rule)**:规则是限制哪些工单有资格匹配的约束条件。匹配算法会搜索满足队列所定义的所有规则的一组工单,以创建对局。
* **属性 (Attribute)**:属性是与玩家关联的值,可以对其应用规则。你可以在工单或玩家的[实体对象](/services/playfab/live-service-management/game-configuration/entities/entity-objects)中指定属性。
* **对局 (Match)**:对局是匹配过程的输出。它是一组满足所提交队列的所有规则的工单集合。

## 基础知识

当一名玩家或一组玩家希望一起游戏时,由一名玩家为自己或整个群组创建一个工单,并通过你的游戏将其提交给匹配服务。加入流程会确保该群组中的所有玩家都同意一起匹配。玩家加入后,匹配过程会自动开始。当匹配服务找到合适的对局时,游戏会将匹配的玩家分组到同一场游戏中。

你会将工单提交到匹配队列。一个游戏可以拥有多个队列。例如,游戏可以为排位模式创建一个队列,为休闲模式创建另一个队列。工单只能与同一队列中的其他工单匹配。一名玩家一次只能位于一个工单中。

若要定义队列,必须先创建队列配置。最简单的配置由队列名称和对局规模(最小和最大玩家数)组成。匹配服务会尽量将对局填满至指定的最大规模。如果工单不足,它可以按最小规模创建对局。

如果你有具有不同对局规模需求的不同游戏模式,请创建多个队列配置。对于更高级的匹配场景,请配置队列规则。

匹配服务目前支持以下规则类型:

* **字符串相等规则**:确保字符串属性在对局的所有工单中相同。
* **差异规则**:确保对局中任意两个工单之间某个数值属性的绝对差小于配置的最大差值。
* **集合交集规则**:确保对于给定的字符串列表属性,对局中的所有工单至少共享所配置数量的值。
* **匹配总和规则**:确保对局中所有玩家某个数值属性的总和在配置的范围内。
* **区域选择规则**:确保对局中所有用户到某个公共数据中心的延迟低于配置的最大值。
* **团队规模平衡规则**:确保对局中的团队包含相似数量的成员。
* **团队差异规则**:确保对局中的团队在某个特定属性(例如技能)上处于配置的差值范围内。
* **团队工单规模相似性规则**:强制大型队伍的数量等于团队数量,或者为零。

定义规则可强制基本功能,例如将处于同一张地图、同一游戏模式或同一游戏版本的玩家进行匹配。更高级的用法允许约束随时间放宽,或在一段时间后被禁用。此类规则对基于技能的匹配非常有用。有关这些选项的更深入文档,请参见 [Game Manager](/services/playfab/live-service-management/gamemanager)。

有关来自游戏客户端或服务的具体流程的更多信息,请参见以下文档。

### 快速入门指南

* [快速入门 - 客户端 SDK](/services/playfab/multiplayer/matchmaking/quickstart-client-sdk)
* [快速入门 - REST API](/services/playfab/multiplayer/matchmaking/quickstart)

### 配置

* [匹配的工作原理](/services/playfab/multiplayer/matchmaking/how-matchmaking-works)
* [配置匹配队列](/services/playfab/multiplayer/matchmaking/config-queues)
* [匹配场景和配置示例](/services/playfab/multiplayer/matchmaking/config-examples)

### 教程

* [为工单指定属性](/services/playfab/multiplayer/matchmaking/ticket-attributes)
* [在游戏中显示队列统计信息](/services/playfab/multiplayer/matchmaking/display-statistics)
* [与 PlayFab Multiplayer Servers 集成](/services/playfab/multiplayer/matchmaking/multiplayer-servers)
* [处理常见错误情况](/services/playfab/multiplayer/matchmaking/error-cases)
* [对等连接的解决方法](/services/playfab/multiplayer/matchmaking/peer-to-peer)
* [使用服务器补位工单](/services/playfab/multiplayer/matchmaking/backfill-tickets)
* [分析匹配队列使用情况](/services/playfab/multiplayer/matchmaking/usage)

### SDK 与工具

* [匹配 API 参考](xref:titleid.playfabapi.com.multiplayer.matchmaking)

- [PlayStream 事件](/services/playfab/api-references/events)
  * [matchmaking\_match\_found](/services/playfab/api-references/events/Matchmaking/match-found)
  * [matchmaking\_ticket\_completed](/services/playfab/api-references/events/Matchmaking/ticket-completed)


## Related topics

- [匹配](/zh-CN/services/xbox-services/multiplayer/matchmaking/index.md)
- [匹配概述](/zh-CN/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview.md)
- [匹配概念](/zh-CN/services/xbox-services/multiplayer/matchmaking/concepts/live-matchmaking-concepts-nav.md)
- [匹配扩容](/zh-CN/services/playfab/multiplayer/matchmaking/matchmaking-partition.md)
- [SmartMatch 匹配](/zh-CN/services/xbox-services/multiplayer/matchmaking/live-matchmaking-nav.md)
