> ## 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 매치메이킹 큐를 구성하여 플레이어가 함께 매치되는 방식을 조정하세요.

## 개요

매치 구성은 티켓이 서로 매치되기를 기다리는 장소를 나타내는 큐를 중심으로 이루어집니다. 각 큐에는 매치에 필요한 것에 관한 일반적인 구성이 있습니다. 또한 티켓이 매치되는 방식에 대한 추가 제한을 제공하는 규칙 세트를 포함할 수 있습니다.

## 큐 구성

큐 수준에서 구성은 큐 내에서 티켓이 매치되는 방식과 큐에 대한 통계 정보를 얻는 방법에 대한 기본 요구 사항을 설명합니다.

### 큐 이름

특정 큐의 이름입니다. 길이는 1자 이상 64자 이하(경계 포함)이며 대/소문자를 구분합니다. 영숫자와 밑줄 및 하이픈으로 구성되며 문자 또는 숫자로 시작합니다. 일반적으로 큐 이름은 "4v4CaptureTheFlag" 또는 "UnrankedRace"와 같이 게임 플레이 방식을 나타냅니다. 매치메이킹 티켓을 만들 때 어떤 큐에 들어가야 하는지 식별하려면 큐 이름을 지정해야 합니다.

### 매치 크기

매치에서 허용되는 플레이어 범위입니다. 최소 매치 크기는 2 이상이어야 합니다. 최대 매치 크기는 100 이하여야 합니다. 팀을 사용할 경우 이 제한은 32입니다.

또한 티켓 하나만으로 이미 매치의 최소 요구 사항을 충족하더라도, 다른 하나 이상의 티켓과 매치될 때까지 매치를 발견한 것으로 반환하지 않습니다. 그러나 티켓이 이미 매치의 최대 요구 사항을 충족하는 경우에는 거부됩니다.

### 플레이어에게 사용 가능한 통계

이 기능은 [GetQueueStatistics API](xref:titleid.playfabapi.com.multiplayer.matchmaking.getqueuestatistics)를 통해 어떤 큐 통계가 플레이어에게 노출되는지 결정합니다. 서버는 항상 모든 통계에 액세스할 수 있습니다. 자세한 내용은 [타이틀에 큐 통계 표시](/services/playfab/multiplayer/matchmaking/display-statistics)를 참조하세요.

이 구성 내에서 제어할 수 있는 옵션은 두 가지가 있습니다.

1. **매치를 기다리는 플레이어 수 표시** - 매치를 기다리는 플레이어 수를 플레이어에게 노출할지 여부입니다. 타이틀은 모드의 상대적 인기를 숨기거나 비즈니스 사유로 플레이어 수를 숨기기 위해 이 옵션을 사용할 수 있습니다.
2. **매치 시간 통계 표시** - 매치 시간 통계(평균 및 백분위수)를 플레이어에게 노출할지 여부입니다.

### 팀

큐에는 매치 서비스가 플레이어를 팀에 할당하도록 팀 구성을 포함할 수 있습니다. 팀 할당이 수행되는 방식을 제어하기 위해 더 많은 팀 관련 규칙을 사용할 수 있습니다. 또한 매치 서비스는 동일한 티켓으로 매치되는 플레이어가 서로 다른 팀에 할당되지 않도록 합니다.

큐에 팀을 두 개 이상 정의할 수 있습니다.

* **팀 이름** - 이 팀에 사용되는 이름입니다. 팀 이름의 길이는 1자 이상 64자 이하(경계 포함)이며 대/소문자를 구분합니다. 영숫자와 밑줄 및 하이픈으로 구성되며 문자 또는 숫자로 시작합니다. 또한 큐 내에서 고유해야 합니다.
* **팀 크기** - 팀에 있을 수 있는 최소 및 최대 플레이어 수입니다. 매치메이킹은 최대치까지 가능한 한 많은 플레이어로 팀을 형성하려고 합니다.

팀과 그 크기를 정의하는 것 외에도 매치메이킹에서 팀을 처리하는 방법을 지원하기 위해 다른 규칙을 사용 설정할 수 있습니다. 팀 관련 규칙에 대한 자세한 내용은 [팀 규칙 유형](#team-rule-types)을 참조하세요.

## 규칙 구성

큐에 대해 선택적으로 규칙을 정의할 수 있습니다. 구성된 규칙은 어떤 티켓이 서로 매치되어야 하는지 매치메이킹 알고리즘이 결정하는 데 도움이 됩니다. 각 규칙은 플레이어 메타데이터의 단일 특성에 적용됩니다. 단일 큐에 대해 최대 20개의 규칙을 정의할 수 있습니다.

규칙에는 여러 유형이 있습니다. 각 규칙에는 일부 공통으로 구성 가능한 요소와 해당 특정 규칙 유형에 고유한 요소가 포함됩니다. 또한 많은 규칙에서 시간이 지남에 따라 규칙이 덜 제한적으로 되는 확장을 허용합니다.

### 공통 규칙 요소

다음 요소는 모든 규칙에서 자주 사용됩니다.

* **규칙 이름** - 이름의 길이는 1자 이상 255자 이하(경계 포함)이며 영숫자와 밑줄 및 하이픈으로 구성되고 문자 또는 숫자로 시작해야 합니다. 규칙 이름은 큐 내에서 고유해야 합니다.
* **가중치** - 규칙의 중요도를 수정하는 방법입니다. 규칙은 일반적으로 제한과 자격이 있는 나머지 티켓을 정렬하는 방법을 모두 제공합니다. 가중치는 정렬 목적으로 규칙이 얼마나 중요한지 수정하는 승수입니다. 자세한 내용은 [매치메이킹의 규칙 가중치 이해](/services/playfab/multiplayer/matchmaking/rule-weights)를 참조하세요.
* **특성 원본** - 규칙은 종종 자신에게 제공되는 정보에 대해 작동합니다. 이 필드는 이 정보의 원본에 대한 두 가지 옵션을 설명합니다.

  1. **User** - 특성이 티켓 만들기 또는 참여 요청에서 플레이어와 함께 제출됩니다.
  2. **Player Entity** - 특성이 플레이어의 관련 Player Entity에서 검색됩니다. [SetObjects API](xref:titleid.playfabapi.com.data.object.setobjects)를 통해 이러한 특성을 설정할 수 있습니다. 외부 엔터티 유형을 사용할 때는 이 원본을 사용하지 마세요.
* **특성 경로** - 특성에 도달하기 위한 경로입니다. User 특성 원본을 사용할 때는 단순히 특성의 이름입니다. Player Entity 특성 원본을 사용할 때는 `$.playerSkill.Mean`과 같이 엔터티에서 특정 항목을 검색하는 [JSONPath](https://github.com/json-path/JsonPath)입니다.
* **특성이 지정되지 않은 경우 동작** - 규칙에 특성이 필요하지만 지정되지 않은 경우, 규칙은 다음 두 가지 동작 중 하나로 구성될 수 있습니다.

  1. 특성에 대한 기본값을 제공할 수 있습니다.
  2. 티켓이 규칙에서 제공하는 모든 제한을 충족한다는 신호로 이 신호를 사용할 수 있습니다. 이 동작은 예를 들어 일부 플레이어가 선호도를 표현하고 다른 플레이어는 누구와도 매치할 의사가 있는 경우에 유용할 수 있습니다. 선호도가 없는 플레이어는 특성을 제공하지 않고 다른 어떤 플레이어와도 매치할 수 있습니다.

### 표준 규칙 유형

다음 각 규칙 유형은 그 용도, 몇 가지 일반적인 사용 사례, 규칙에 필요한 특정 구성과 함께 나열됩니다.

| 규칙 유형            | 설명                                                   | 일반적인 사용 사례                                        | 규칙별 필드                                                                                                     |
| ---------------- | ---------------------------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| String Equality  | 매치의 모든 티켓에서 문자열 특성이 동일하도록 합니다.                       | 빌드 버전 또는 기타 특정 항목이 매치되도록 요구합니다.                   | 없음                                                                                                         |
| Difference       | 매치의 두 티켓 간에 숫자 특성의 절대 차이가 구성된 최대 차이보다 작도록 합니다.       | 기술, 경험 또는 기타 숫자 비교로 플레이어를 그룹화합니다.                 | Merge function - 여러 플레이어 값이 티켓을 나타내는 하나의 값으로 병합되는 방식을 선택합니다. 선택 항목은 min, max, average입니다. 기본값은 average입니다. |
| Set Intersection | 문자열 목록인 지정된 특성에 대해 매치의 모든 티켓이 구성된 만큼의 값을 공유하도록 합니다.  | 다운로드 가능한 콘텐츠(DLC) 또는 맵 선택                         | Min intersection size - 매치를 위한 최소 공유 항목 수입니다.                                                              |
| Match Total      | 매치에 있는 모든 플레이어의 숫자 특성 합계가 구성된 범위 내에 있도록 합니다.         | 역할 선택, 호스트/서버 매치메이킹 에뮬레이션, 시간 경과에 따라 플레이어 수 제한 조정 | Min/Max total - 특성 합계는 이러한 경계 포함 범위 내에 있어야 합니다.                                                            |
| Region Selection | 매치의 모든 사용자에게 공통 데이터 센터에 대한 대기 시간이 구성된 최댓값보다 작도록 합니다. | 멀티플레이어 서버 통합에 필요합니다.                              | Max Latency - 이 최대 대기 시간 내의 데이터 센터만 매치에 자격이 있습니다.                                                          |

### 팀 규칙 유형

팀 규칙은 큐 구성에 팀이 있는 경우에만 설정할 수 있습니다. 이 규칙은 팀 간의 균형을 요구하는 더 많은 방법을 제공합니다. 다음 팀 규칙을 사용할 수 있습니다.

| 규칙 유형                       | 설명                                                                                                                 | 일반적인 사용 사례                               | 규칙별 필드                                                                         |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------ |
| Team Difference             | 매치에 포함된 팀이 특정 특성(예: 기술)에 대해 구성된 차이 이내에 있도록 합니다. 이는 비교되는 값이 각 팀의 평균 값이라는 점을 제외하면 표준 Difference 규칙과 유사합니다.           | 팀 간 기술 균형 유지                             | 없음                                                                             |
| Team Size Balance           | 가장 큰 팀과 가장 작은 팀 간의 플레이어 수 차이가 임계값을 초과하지 않도록 합니다. 예를 들어 이 규칙은 3대3 및 4대4 매치가 허용되지만 3대4는 허용되지 않는 큐를 만드는 데 사용할 수 있습니다. | 팀 간 플레이어 수 균형                            | Allowed Team Size Difference - 각 팀에 할당된 플레이어 수의 차이로 측정하여 팀이 얼마나 불균일할 수 있는지입니다. |
| Team Ticket Size Similarity | 모든 팀이 큰 파티를 가지거나 모두 큰 파티를 가지지 않도록 합니다. 큰 파티는 최대 팀 크기의 절반 이상으로 정의됩니다.                                               | 파티(미리 편성된 팀)가 개별 플레이어 그룹과 매치되는 것을 방지합니다. | 없음                                                                             |

### 확장 및 선택 사항이 되기

규칙은 시간이 지남에 따라 선택 사항이 되거나 덜 제한적으로 될 수 있어 잠시 기다린 티켓이 잠재적인 매치를 더 넓게 검색할 수 있습니다. 이 동작을 제어하는 방법에는 두 가지가 있습니다.

1. **선택 사항이 될 때까지의 시간(초)** - 단순히 규칙이 활성 상태인 시간 길이를 나타냅니다. 이 시간을 기다리는 티켓 간의 매치를 규칙이 더 이상 제한하지 않습니다.

2. **확장 프로세스** - 규칙이 시간이 지남에 따라 구성된 임계값을 점진적으로 조정합니다. 예를 들어 Difference 규칙은 특정 최대 차이 내의 매치를 요구할 수 있습니다. 티켓이 기다리면 규칙이 최대 차이를 확장할 수 있습니다. 이 확장은 티켓에 대해 점점 더 넓은 범위를 허용합니다. 완벽한 상대가 없더라도 티켓이 매치될 수 있게 해줍니다.

확장은 **선형** 또는 **사용자 지정**일 수 있습니다. 선형 확장에서는 값이 시간 간격 후 고정된 변경을 사용하여 시간이 지남에 따라 증가합니다. 선형 확장에서 사용자 지정되는 항목은 다음과 같습니다.

* **확장 사이의 시간(초)** - 규칙이 제한을 변경하는 각 인스턴스 사이의 시간 길이입니다.
* **Delta** - 값의 변경입니다.
* **Limit** - 최종 값입니다. 규칙은 이 지점을 넘어 확장되지 않습니다.

사용자 지정 확장에서는 규칙이 제한을 변경할 때마다 임의의 값을 사용할 수 있습니다. 다음 필드가 사용됩니다.

* **확장 사이의 시간(초)** - 규칙이 제한을 변경하는 각 인스턴스 사이의 시간 길이입니다.
* 확장 중에 규칙을 수정하는 **하나 이상의 사용자 지정 필드**입니다. 각 필드는 각 확장 간격에서 사용되는 다른 값을 나타내기 위해 세미콜론으로 구분됩니다. 이 간격 동안 규칙이 활성 상태가 아님을 나타내기 위해 값 대신 "null"이라는 단어를 사용할 수 있습니다.

수정되는 정확한 필드는 규칙에 따라 다릅니다. 다음 차트에서는 어떤 규칙이 어떤 종류의 확장을 사용하는지, 그리고 확장이 어떤 필드를 수정하는지 설명합니다.

| 규칙 유형                       | 선형 확장 허용? | 사용자 지정 확장 허용? | 확장 중에 수정되는 특성      |
| --------------------------- | --------- | ------------- | ------------------ |
| String Equality             | 아니요       | 예             | 규칙 활성 여부           |
| Difference                  | 예         | 예             | 허용되는 최대 차이         |
| Set Intersection            | 예         | 예             | 필요한 최소 교집합         |
| Match Total                 | 아니요       | 예             | 필요한 최소 및 최대 합계     |
| Region Selection            | 예         | 예             | 허용되는 최대 대기 시간      |
| Team Difference             | 예         | 예             | 팀 값의 허용되는 차이       |
| Team Size Balance           | 예         | 예             | 팀당 플레이어 수의 허용되는 차이 |
| Team Ticket Size Similarity | 아니요       | 아니요           | 해당 없음              |

구성 사용 사례 및 예시에 대한 자세한 내용은 [매치메이킹 시나리오 및 구성 예시](/services/playfab/multiplayer/matchmaking/config-examples)를 참조하세요.


## Related topics

- [매치메이킹 작동 방식](/ko/services/playfab/multiplayer/matchmaking/how-matchmaking-works.md)
- [로비와 매치메이킹을 함께 사용](/ko/services/playfab/multiplayer/lobby/lobby-and-matchmaking.md)
- [Matchmaking quickstart](/ko/services/playfab/multiplayer/matchmaking/quickstart.md)
- [Matchmaking SDK quickstart](/ko/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [매치메이킹 확장](/ko/services/playfab/multiplayer/matchmaking/matchmaking-partition.md)
