Skip to main content
Multiplayer SDK는 폴링 필요성을 줄이는 실시간 메시지 지원을 포함하고 있어 매치메이킹 환경을 개선하고 지연 시간을 줄여줍니다. Multiplayer SDK 사용을 강력히 권장합니다. 서버 백필 티켓 사용 - Multiplayer SDK
서버에서 호스트되는 게임에서는 때때로 추가 플레이어를 검색해야 합니다. 이 상황은 대부분 게임 진행 중에 하나 이상의 플레이어가 연결을 끊었을 때 발생합니다. 서버 백필 티켓을 사용하면 게임 서버가 현재 진행 중인 게임에 맞는 추가 플레이어를 검색할 수 있습니다. 서버 백필 티켓은 다음과 같은 여러 방식에서 일반 매치메이킹 티켓과 다릅니다.
  1. 매칭
    • 백필 티켓끼리는 서로 매칭될 수 없습니다.
    • 검색 중에 백필 티켓에 우선순위가 부여됩니다. 이렇게 하면 플레이어 기반의 분산화가 감소합니다.
  2. 계약
    • 백필 티켓은 ServerDetails 필드로 만들 수 있습니다. 이를 통해 서버는 매칭된 플레이어가 서버에 연결하는 방식을 나타낼 수 있습니다.
    • 백필 티켓은 팀 할당으로 만들 수 있습니다. 이를 통해 팀이 있는 게임에서 팀 정보를 유지 관리할 수 있습니다.
  3. 큐 속성
    • 백필 티켓은 Multiplayer Server 할당을 트리거하지 않습니다.
    • 백필 티켓의 플레이어는 이미 게임을 플레이하고 있어 대기 시간을 부정확하게 왜곡하므로 큐 통계에 반영되지 않습니다.
  4. 소유권
    • 백필 티켓은 사용자가 아니라 게임 서버가 소유합니다. 사용자는 어떤 방식으로든 백필 티켓을 보거나 상호 작용할 수 없습니다.

서버 백필 티켓 만들기

백필 프로세스는 일반 매치메이킹 티켓 만들기와 비슷하게 시작되지만, CreateServerMatchmakingTicket 호출이 아니라 CreateServerBackfillTicket 호출을 사용합니다. 게임 서버는 현재 호스트하고 있는 게임의 모든 멤버 정보를 제공해야 합니다. 이 작업은 이전 매치 결과에서 반환된 특성을 저장하여 가장 효율적으로 수행됩니다. 이러한 특성은 ReturnMemberAttributes 플래그를 사용하여 GetMatch를 호출하여 검색할 수 있습니다. 또는 게임 서버는 사용자에게 특성 정보를 쿼리할 수 있습니다. 멤버 외에도 게임 서버는 두 가지 추가 정보를 지정할 수 있습니다.

ServerDetails

이 구조체는 GetMatch 호출에서 반환된 구조체와 동일하며, 서버가 연결에 필요한 모든 정보를 지정할 수 있게 합니다. 백필 티켓이 매칭되면 결과 매치에서 GetMatch를 호출하는 모든 플레이어에게 해당 ServerDetails 구조체가 반환됩니다. 이 구조체의 모든 필드는 선택 사항입니다. 타이틀은 클라이언트가 게임 서버에 연결하는 데 필요한 정보를 제공하는 데 이 중 일부만 필요할 수도 있습니다.
IPV4Address 필드는 유효성이 검증되지 않으며 클라이언트에 임의의 연결 문자열 정보를 제공하는 데 사용될 수 있습니다.

팀 할당

백필 티켓이 팀이 있는 큐로 제출되는 경우 각 멤버는 현재 소속된 팀을 나타내는 TeamId도 지정할 수 있습니다. 이 멤버십은 매치가 반환될 때 보존됩니다. 사용자에 대해 TeamId가 지정되지 않은 경우 어떤 팀에도 배치될 수 있습니다.

백필 티켓과 상호 작용

만들어진 후 백필 티켓은 규칙 조건을 충족하는 일반 매치메이킹 티켓 검색을 시작합니다. 백필 티켓의 흐름은 유사한 API를 사용한다는 점을 제외하면 일반 매치메이킹 티켓 작동 방식과 동일합니다. 게임 서버는 GetServerBackfillTicket을 호출하여 티켓 상태를 확인할 수 있습니다. 또한 CancelServerBackfillTicket을 호출하여 티켓을 취소할 수도 있습니다.
클라이언트는 자신이 포함된 백필 티켓을 취소할 수 없습니다. 클라이언트가 4대4 매치에 참여하던 중 상대 팀 플레이어가 나갔다고 가정해 봅시다. 이 클라이언트는 자신이 포함된 모든 백필 티켓을 지속적으로 취소하여 유리한 상황을 유지할 수 있습니다. 이를 방지하기 위해 백필 티켓은 게임 서버만 취소할 수 있습니다.

멤버십 한도 및 손실된 백필 티켓에서 복구

일반 매치메이킹 티켓과 유사하게 사용자는 언제든지 큐당 하나의 백필 티켓에만 포함될 수 있습니다. 이 한도는 클라이언트가 제어하는 일반 티켓과 별도로 추적됩니다. 게임 서버가 백필 티켓을 만든 후 크래시되는 경우, 손실된 백필 티켓에 있는 사용자는 멤버십 한도로 인해 다른 백필 티켓에 제출될 수 없습니다. 게임 서버는 MatchmakingTicketMembershipLimitExceeded 오류와 함께 어떤 사용자가 처리되지 않은 백필 티켓을 가지고 있는지를 나타내는 사용자 목록을 errorDetails 본문에서 수신하여 이를 발견합니다.
게임 서버는 CancelAllServerBackfillTicketsForPlayer를 호출하여 사용자가 포함된 모든 백필 티켓을 제거함으로써 이 상황에서 사용자를 복구할 수 있습니다. 또한 ListServerBackfillTicketsForPlayer가 플레이어가 포함될 수 있는 백필 티켓을 검색하는 방법으로 제공됩니다.

지역 선택 규칙과의 상호 작용

지역 선택 규칙은 일반적으로 티켓이 그 특성으로 대기 시간 측정값 배열을 지정해야 합니다. 그러나 백필 티켓은 특정 데이터 센터에서 이미 진행 중인 게임을 나타냅니다. 대기 시간 측정값 배열 대신, 만들어진 요청은 ServerDetails 구조체에서 Region을 지정해야 합니다. 티켓이 백필 티켓과 매칭되려면 백필 티켓에서 지정한 지역에 대한 허용 가능한 핑 시간이 있어야 합니다.

팀 티켓 크기 유사성 규칙과의 상호 작용

팀 티켓 크기 유사성 규칙은 대규모 플레이어 그룹이 다른 대규모 플레이어 그룹과 매칭되도록 적용합니다. 그러나 백필 티켓에는 어떤 플레이어가 그룹으로 게임에 참여했는지에 대한 정보가 포함되지 않습니다. 따라서 백필 티켓을 매칭할 때 티켓 크기 유사성 규칙은 무시됩니다.
마지막 수정일 2026년 8월 13일