Skip to main content

Matchmaking REST API 빠른 시작

Multiplayer SDK 사용을 강력히 권장합니다. 이 SDK는 실시간 메시지 지원을 포함하고 있어 폴링의 필요성을 줄여줍니다. 이는 매치메이킹 경험을 개선하고 지연을 줄여줍니다. 빠른 시작 - 클라이언트 SDK
이 빠른 시작 가이드는 매치메이킹 기능을 통합하는 전체 과정을 안내합니다. 이 빠른 시작의 모든 코드 예제는 Unity용이지만, 개념과 흐름은 (일반적으로) 다른 플랫폼에도 적용됩니다. 게임 디자인에 따라 단일 사용자여러 사용자 매치메이킹 섹션을 참고하세요. 이 자습서는 게임을 찾기 위해 특정 큐에 티켓을 제출하는 방법을 설명합니다. 큐는 일반적으로 하나 이상의 게임 모드(예: 같은 큐 안의 깃발 뺏기 모드와 킹 오브 더 힐 모드)에 매핑됩니다. 매치메이킹 서비스는 큐 내 티켓들 사이에서 매치를 찾는 일을 처리합니다. 매치가 발견되면 타이틀은 게임 플레이를 위해 플레이어들을 서로 연결하는 것을 처리해야 합니다.

Game Manager에서 매치메이킹 큐 구성

이 빠른 시작은 Game Manager에서 큐를 이미 구성했다고 가정합니다. 큐 설정 방법에 대한 자세한 내용은 Configuring matchmaking queues를 참조하세요.

단일 사용자 티켓 매치메이킹

게임이 1v1 게임 모드를 갖고 있거나, 한 명의 사용자가 혼자 매치메이킹에 진입하는 것을 지원한다면 단일 사용자 매치메이킹을 고려하세요. 단일 사용자 매치메이킹은 아래에 표시된 패턴을 따릅니다. Matchmaking Flow

매치메이킹 티켓 생성

사용자는 CreateMatchmakingTicket을 사용하여 매치메이킹 티켓을 만듭니다. 티켓 생성이 성공하면 서비스는 TicketId를 반환합니다. 티켓 생성 시 Creator(사용자의 ID와 특성), GiveUpAfterSeconds(서비스가 티켓 매칭을 포기하기까지의 시간(초)), 매치를 찾을 QueueName을 지정해야 합니다. Creator 필드는 QueueName과 일치하는 큐 구성이 요구하는 사용자 특성을 포함해야 합니다. GiveUpAfterSeconds 시간에 좋은 값은 120초로, 사용자가 스스로 포기하지 않도록 합니다.

매치메이킹 티켓 상태 확인

매치메이킹에서 티켓의 Status에 액세스하려면 TicketId로 서비스를 폴링해야 합니다. 이를 위해 타이틀에서 GetMatchmakingTicket을 호출하세요. 1분당 최대 10번까지 폴링할 수 있습니다. 예를 들어 6초마다 티켓 상태를 폴링합니다. 폴링은 티켓 상태를 검색할 때 지연을 증가시킬 수 있습니다. 이러한 이유로 Quickstart - Client SDK에 설명된 Multiplayer SDK 방식 사용을 강력히 권장합니다. 이 방식은 실시간 메시지 기능을 사용하여 폴링이 필요하지 않게 합니다. 티켓 상태가 Matched로 변경되면 클라이언트는 티켓 폴링을 중지할 수 있습니다. 그 시점부터 티켓에는 MatchId가 포함됩니다.

매치 가져오기

클라이언트에서 GetMatchmakingTicket의 응답으로 제공된 MatchId와 함께 GetMatch를 호출합니다. 이 매치에는 함께 매치된 사용자 목록이 포함되어 있습니다.

매치메이킹 티켓 취소

어떤 이유로든 클라이언트가 GiveUpAfterSeconds에 도달하기 전에 매치메이킹 프로세스를 취소하려는 경우, TicketId와 함께 CancelMatchmakingTicket을 호출하세요. 매치가 아직 발견되지 않았다면 티켓은 매치메이킹 프로세스에서 제외되고 상태가 Canceled로 변경됩니다.

여러 사용자 티켓 매치메이킹

게임이 플레이어 그룹이 함께 매치메이킹 큐에 들어가는 것을 허용하는 경우, 매치메이킹에 진입하기 위해 몇 가지 추가 작업을 수행해야 합니다. 불필요한 호출을 만들지 않도록 타이틀에서 그룹 리더(생성자)를 지정할 것을 권장합니다. 리더가 티켓을 만들지만, 그룹의 모든 구성원이 참가에 동의해야 합니다.

매치메이킹 티켓 생성(여러 사용자)

그룹은 타이틀에서 티켓 생성자를 선출해야 합니다. 생성자는 CreateMatchmakingTicket을 사용하여 매치메이킹 티켓을 만들며, 이는 성공 시 TicketId를 반환합니다. 티켓 생성 시 Creator(사용자의 ID와 특성), GiveUpAfterSeconds(서비스가 티켓 매칭을 포기하기까지의 시간(초)), MembersToMatchWith(다른 그룹 구성원의 ID), 매치를 찾을 QueueName을 지정해야 합니다. Creator 필드는 QueueName과 일치하는 큐 구성이 요구하는 사용자 특성을 포함해야 합니다. GiveUpAfterSeconds 시간에 좋은 값은 120초로, 사용자가 스스로 포기하지 않도록 합니다.

그룹 구성원이 매치 티켓에 참가

매치 티켓이 생성된 후에는 매치메이킹 프로세스를 진행하기 위해 그룹의 다른 구성원들이 참가해야 합니다. 이 시점에서 티켓 상태는 WaitingForPlayers입니다. 모든 MembersToMatchWith가 티켓에 참가할 때까지 다른 티켓과의 매칭이 시작되지 않습니다. 구성원들을 참가시키려면 Creator가 타이틀을 통해 TicketId를 다른 구성원들에게 공유해야 합니다. 그런 다음 각 구성원은 자신의 필수 특성을 제공하며 JoinMatchmakingTicket을 호출합니다. 모든 구성원이 티켓에 참가하면 티켓 상태가 WaitingForMatch로 변경됩니다.
나머지 프로세스는 단일 사용자 티켓 매치메이킹의 프로세스와 동일합니다.

플레이어를 서로 연결

플레이어들이 매치된 후에는 서버를 통해 또는 피어-투-피어 연결을 통해 서로 참가하도록 해야 합니다. 전용 서버를 사용하는 경우 매치 ID를 사용해 함께 있어야 하는 플레이어 그룹을 고유하게 식별할 수 있습니다. PlayFab의 멀티플레이어 서버를 사용하는 경우 GetMatch는 플레이어가 연결할 서버와 포트를 제공합니다. 자세한 내용은 Integrating with PlayFab Multiplayer Servers를 참조하세요. 이 릴리스 시점에서 매치메이킹은 피어-투-피어 연결을 공식적으로 지원하지 않습니다. 피어-투-피어가 필요한 경우 PlayFab Party 또는 임시 해결책 사용을 고려하세요. 이에 대한 추가 지원이 필요하면 문의해 주세요.

결론

이 빠른 시작을 사용하여 이제 게임에 성공적인 매치메이킹 흐름을 갖추었을 것입니다. 또한 다음 사항을 고려해야 합니다.
  • 타이틀이 그룹 형성을 처리하는 방식.
  • 사용자가 매치를 기다리는 동안 타이틀에 표시되는 내용.
  • 실패 및 재시도를 처리하는 방식.
마지막 수정일 2026년 8월 13일