대기열과 풀
대기열
대기열은 서로 매칭될 수 있는 상호 배타적인 티켓 집합으로 구성됩니다. 특정 대기열의 티켓은 다른 대기열에 속한 티켓과 매칭되지 않습니다. 대기열은 팀 데스매치, 개인전, 깃발 뺏기 등 서로 겹치지 않는 별개의 게임 모드로 플레이할 수 있는 게임을 만들 때 유용합니다. 등급전 모드와 일반 모드로 나뉘는 경쟁형 게임처럼 다양한 유형의 게임 모드가 존재하는 게임을 만들 때도 유용합니다.
기본 대기열
생성된 티켓에 대기열 이름이 지정되지 않은 경우 기본 대기열이 폴백(fallback) 대기열의 역할을 합니다. 이러한 폴백 방식을 사용하면 게임이 실행된 후에 게임 클라이언트를 변경하지 않고도 기본 대기열로 동적으로 전환할 수 있습니다.
이렇게 기본 대기열로 폴백할 수 있는 기능은 게임 클라이언트에서 대기열 이름을 지정하지 않는 레거시 버전의 Matchmaker도 지원합니다. 따라서 서비스를 마이그레이션할 때 대기열 이름이 포함되도록 게임 클라이언트를 업데이트하지 않아도 됩니다.
풀
풀은 대기열 내의 티켓을 동적으로 분리한 그룹을 나타냅니다. 풀에는 해당 풀이 어떤 티켓을 처리할 것인지 나타내는 필터가 포함됩니다. 티켓이 풀 필터에 부합하지 않는 경우, Matchmaker가 해당 티켓을 다음 풀에 할당합니다. 어떤 풀에도 호환되지 않는 티켓은 해당 대기열의 기본 풀을 사용합니다.
풀 내의 티켓으로 매치를 구성할 때 사용할 호스팅 정보와 매치메이킹 로직을 각 풀에 지정할 수 있습니다.
이렇게 하면 필터로 콘솔이나 Windows 같은 특정 플랫폼을 타게팅하여 플랫폼별로 풀을 나눌 수 있습니다. 풀을 사용해 북미, 유럽 연합, 아시아 등의 지역을 타게팅할 수도 있습니다.
기본 풀
대기열과 마찬가지로, 어떤 풀에도 호환되지 않는 티켓을 처리하기 위해 기본 풀이 폴백으로 사용됩니다. 지역별로 풀을 나누는 경우, 플레이어를 폴백 지역에 할당하기 위해 기본 풀이 사용됩니다.
필터
필터는 풀이 어떤 티켓을 처리할 것인지 결정하는 방법입니다. 클라이언트가 매치메이킹 티켓을 생성할 때, Attributes
섹션 아래에 커스텀 값을 추가할 수 있습니다. 이 속성 값이 풀 필터에 사용됩니다.
Matchmaker는 두 가지 유형의 값(text
, numbers
)을 지원하며, 필터는 현재 네 가지 연산(=
, !=
, <
, >
)을 지원합니다.
풀에 여러 개의 필터가 적용된 경우, 모든 필터 조건을 만족해야만 티켓이 풀에 할당될 수 있습니다.
필터 예시
다음은 Windows 플랫폼에서만 티켓을 매칭하는 풀의 예제입니다.
Field | 연산자 | 값 | 설명 |
---|---|---|---|
Platform | = | Windows | 티켓의 플랫폼 속성이 'Windows'여야 합니다. |
티켓 속성:
Unity SDK
var attributes = new Dictionary<string, object>
{
{ "platform", "Windows" }
};
JSON
"attributes":[{
"platform":"Windows"
}
]