> ## 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.

# 設定配對佇列

> 在 Game Manager 中使用規則、隊伍、屬性和擴充原則設定 PlayFab Matchmaking 佇列，以決定玩家如何配對在一起。

## 概觀

比賽設定以佇列為中心，佇列代表票證等候彼此配對的地方。每個佇列都有一些關於比賽需求的一般設定。此外，佇列可以包含一組規則，進一步限制票證如何配對在一起。

## 佇列設定

在佇列層級，設定會描述佇列內票證如何配對的基本需求，以及如何取得佇列的統計資料資訊。

### 佇列名稱

特定佇列的名稱。長度介於 1 到 64 個字元之間 (含)，且區分大小寫。名稱由英數字元加上底線和連字號組成，並以字母或數字開頭。佇列名稱通常代表一種遊戲玩法，例如 "4v4CaptureTheFlag" 或 "UnrankedRace"。建立配對票證時，您必須指定佇列名稱，以識別票證應進入哪個佇列。

### 比賽人數

比賽中允許的玩家人數範圍。最小比賽人數必須大於或等於 2。最大比賽人數必須小於或等於 100。使用隊伍時，此上限為 32。

此外，即使單一票證已符合比賽的最低需求，在與至少一張其他票證配對之前，也不會傳回已找到比賽。不過，如果票證已達到比賽的最大需求，就會遭到拒絕。

### 玩家可用的統計資料

此功能決定哪些佇列統計資料會透過 [GetQueueStatistics API](xref:titleid.playfabapi.com.multiplayer.matchmaking.getqueuestatistics) 公開給玩家。伺服器一律可以存取所有統計資料。如需詳細資訊，請參閱[在遊戲中顯示佇列統計資料](/zh-TW/services/playfab/multiplayer/matchmaking/display-statistics)。

您可以在此設定中控制兩個選項：

1. **顯示正在配對的玩家人數** - 是否向玩家公開等候比賽的玩家人數。遊戲可以使用此選項隱藏模式的相對熱門程度，或基於商業原因隱藏玩家人數。
2. **顯示配對時間統計資料** - 是否向玩家公開配對時間統計資料 (平均值和百分位數)。

### 隊伍

佇列可以包含隊伍設定，讓配對服務將玩家指派到隊伍。可以使用更多隊伍專屬規則來控制隊伍指派的方式。此外，配對服務會確保在同一張票證中一起配對的玩家不會被指派到不同的隊伍。

您可以在一個佇列中定義兩個或更多隊伍。

* **隊伍名稱** - 此隊伍使用的名稱。隊伍名稱長度介於 1 到 64 個字元之間 (含)，且區分大小寫。名稱由英數字元加上底線和連字號組成，並以字母或數字開頭。此外，名稱在佇列內必須是唯一的。
* **隊伍人數** - 隊伍中可以有的最少和最多玩家人數。配對會嘗試以盡可能多的玩家組成隊伍，最多達到上限。

除了定義隊伍及其人數之外，還可以啟用其他規則來協助處理配對中的隊伍。如需隊伍專屬規則的資訊，請參閱[隊伍規則類型](#team-rule-types)。

## 規則設定

您可以選擇性地為佇列定義規則。設定規則後，它們會協助配對演算法判斷哪些票證應配對在一起。每個規則都會套用至玩家中繼資料中的單一屬性。單一佇列最多可以定義 20 個規則。

規則有許多類型。每種規則都包含一些通用的可設定元素，以及該特定規則類型專屬的元素。此外，許多規則允許擴充，也就是規則會隨著時間變得較不嚴格。

### 通用規則元素

下列元素通常由所有規則使用。

* **規則名稱** - 名稱長度必須介於 1 到 255 個字元之間 (含)，由英數字元加上底線和連字號組成，且必須以字母或數字開頭。規則名稱在佇列內必須是唯一的。
* **權數** - 修改規則重要性的方式。規則一般會同時提供限制，以及排序其餘符合資格之票證的方式。權數是乘數，可修改規則在排序方面的重要性。如需詳細資訊，請參閱[了解配對中的規則權數](/zh-TW/services/playfab/multiplayer/matchmaking/rule-weights)。
* **屬性來源** - 規則通常會根據提供給它們的資訊運作。此欄位描述此資訊來源的兩個選項：

  1. **使用者** - 屬性會在建立或加入票證要求中隨玩家一起提交。
  2. **玩家實體** - 屬性會從玩家相關聯的玩家實體中擷取。您可以透過 [SetObjects API](xref:titleid.playfabapi.com.data.object.setobjects) 設定這些屬性。使用外部實體類型時，請勿使用此來源。
* **屬性路徑** - 取得屬性的路徑。使用「使用者」屬性來源時，就只是屬性的名稱。使用「玩家實體」屬性來源時，則是從實體擷取特定項目的 [JSONPath](https://github.com/json-path/JsonPath)，例如 `$.playerSkill.Mean`。
* **未指定屬性時的行為** - 如果規則需要屬性，但未指定任何屬性，則可以將規則設定為下列兩種行為之一：

  1. 為屬性提供預設值。
  2. 將此訊號用作表示票證符合規則所提供之任何限制的方式。例如，當某些玩家表達偏好，而另一位玩家願意與任何人配對時，此行為可能很有用。沒有偏好的玩家可以不提供屬性，並與任何其他玩家配對。

### 標準規則類型

下列每種規則類型都會列出其用途、一些常見用法，以及規則可能需要的任何特定設定。

| 規則類型 | 描述 | 常見用法 | 規則專屬欄位 |
| - | - | - | - |
| 字串相等 (String Equality) | 確保比賽中所有票證的字串屬性都相同。 | 要求組建版本或其他特定項目相符 | 無 |
| 差異 (Difference) | 確保比賽中任兩張票證之間數值屬性的絕對差異小於設定的最大差異。 | 依技能、經驗或其他數值比較將玩家分組 | 合併函式 - 選取如何將多位玩家的值合併為代表票證的單一值。選項有 min、max 和 average。預設為 average。 |
| 集合交集 (Set Intersection) | 對於屬於字串清單的指定屬性，確保比賽中所有票證共用的值至少達到設定的數目。 | 可下載內容 (DLC) 或地圖選取 | 最小交集大小 - 比賽所需的最少共用項目數。 |
| 比賽總計 (Match Total) | 確保比賽中所有玩家的數值屬性總和在設定的範圍內。 | 角色選取、模擬主機/伺服器配對、隨時間調整玩家人數限制 | 最小/最大總計 - 屬性總和必須在這些界限內 (含)。 |
| 區域選取 (Region Selection) | 確保比賽所有使用者到共同資料中心的延遲小於設定的最大值。 | 多人遊戲伺服器整合的必要項目 | 最大延遲 - 只有在此最大延遲內的資料中心才有資格進行比賽。 |

<a id="team-rule-types" />

### 隊伍規則類型

只有在佇列設定中有隊伍時，才能設定隊伍規則。隊伍規則提供更多方式來要求隊伍之間的平衡。可用的隊伍規則如下：

| 規則類型 | 描述 | 常見用法 | 規則專屬欄位 |
| - | - | - | - |
| 隊伍差異 (Team Difference) | 確保比賽中的隊伍在特定屬性 (例如技能) 上的差異在設定範圍內。這類似於標準差異規則，只是比較的值是每個隊伍的平均值。 | 平衡各隊伍之間的技能 | 無 |
| 隊伍人數平衡 (Team Size Balance) | 確保最大與最小隊伍之間的玩家人數差異不超過閾值。例如，此規則可用來建立允許 3 對 3 和 4 對 4 比賽，但不允許 3 對 4 比賽的佇列。 | 各隊伍之間的玩家人數平衡 | 允許的隊伍人數差異 - 隊伍可以不平均的程度，以指派給每個隊伍的玩家人數差異來衡量。 |
| 隊伍票證大小相似度 (Team Ticket Size Similarity) | 確保所有隊伍都有大型隊伍群組，或都沒有大型隊伍群組。大型隊伍群組的定義是至少為隊伍上限人數的一半。 | 防止隊伍群組 (預組隊伍) 與一群單人玩家配對。 | 無 |

### 擴充與變成選用

規則可以隨時間變成選用或較不嚴格，讓已等候一段時間的票證能更廣泛地搜尋可能的比賽。有兩種方法可控制此行為：

1. **變成選用前的秒數** - 單純指出規則作用中的時間長度。對於已等候這段時間的票證，規則不再限制其比賽。

2. **擴充程序** - 規則會隨時間逐步調整其設定的閾值。例如，差異規則可能要求比賽在特定的最大差異內。隨著票證等候，規則可能會擴大最大差異。此擴充可為票證允許越來越大的範圍。即使沒有完美的對手，也能讓票證配對成功。

擴充可以是**線性**或**自訂**。在線性擴充中，值會隨時間增加，在每個時間間隔後使用固定的變化量。線性擴充中可自訂的項目包括：

* **擴充之間的秒數** - 規則每次變更其限制之間的時間長度。
* **差異量** - 值的變化量。
* **上限** - 結束值。規則永遠不會擴充超過此點。

在自訂擴充中，規則每次變更其限制時都可以使用任意值。會使用下列欄位：

* **擴充之間的秒數** - 規則每次變更其限制之間的時間長度
* **一或多個自訂欄位**，在擴充期間修改規則。每個欄位都以分號分隔，代表在每個擴充間隔中使用的不同值。可以使用 "null" 一字取代值，表示規則在此間隔期間不作用。

實際修改的欄位取決於規則。下表說明哪些規則具有哪種擴充，以及擴充會修改哪些欄位。

| 規則類型 | 允許線性擴充？ | 允許自訂擴充？ | 擴充期間修改的屬性 |
| - | - | - | - |
| 字串相等 | 否 | 是 | 規則是否作用中 |
| 差異 | 是 | 是 | 允許的最大差異 |
| 集合交集 | 是 | 是 | 所需的最小交集 |
| 比賽總計 | 否 | 是 | 所需的最小和最大總計 |
| 區域選取 | 是 | 是 | 允許的最大延遲 |
| 隊伍差異 | 是 | 是 | 允許的隊伍值差異 |
| 隊伍人數平衡 | 是 | 是 | 允許的每隊玩家人數差異 |
| 隊伍票證大小相似度 | 否 | 否 | 不適用 |

如需設定使用案例和範例的詳細資訊，請參閱[配對案例與設定範例](/zh-TW/services/playfab/multiplayer/matchmaking/config-examples)。


## Related topics

- [設定配對佇列](/zh-TW/services/playfab/api-references/rest/multiplayer/matchmaking-admin/set-matchmaking-queue.md)
- [配對](/zh-TW/services/playfab/multiplayer/matchmaking/index.md)
- [配對快速入門](/zh-TW/services/playfab/multiplayer/matchmaking/quickstart.md)
- [Matchmaking SDK 快速入門](/zh-TW/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [配對的運作方式](/zh-TW/services/playfab/multiplayer/matchmaking/how-matchmaking-works.md)
