sliders심층 분석

Edgegap의 코드 없는 매치메이커 개념을 자세히 알아보고 필요에 맞게 사용자화하세요.

✔️ 소개

5분 내에 시작하고 모든 기능을 무료로 테스트해보세요. 신용카드가 필요하지 않습니다.

더 강력한 전용(프라이빗) 클러스터가 필요해지면 업그레이드하세요. Edgegap과의 네이티브 통합은 배포 플레이어가 어디에 있든 최고의 핑을 제공합니다.

circle-info

무료 요금제는 재시작 후 각 실행에 대해 3시간의 런타임을 허용합니다. 귀하의 매치메이커는 제한된 리소스의 공유 인프라에서 실행되며 테스트에 적합합니다. 공개 출시 후에는 매치메이커가 24시간 365일 실행되어야 합니다.

각 매치메이커에는 세 가지 필수 개념이 있습니다:

  • 심층 분석 - Edgegap이 완전히 관리 및 운영하는 기반 서버 인프라.

  • 심층 분석 - 매치메이커의 작동 방식을 정의하는 규칙 및 설정 집합.

  • 🌐 서비스 인스턴스 - 구성(Configuration)을 사용해 플레이어를 매칭하고 배포(서버) 할당을 생성하는 클러스터에서 24/7 실행되는 실시간 매치메이킹 서비스.

circle-check

▶️ 매치메이킹 시작

매치메이킹 프로세스를 학습하여 게임 통합을 사용자화하고 문제를 해결하며 최적화하세요.

매치메이킹 순서
  1. 플레이어 인증 - 불법 복제본의 온라인 플레이를 방지합니다,

  2. 로비 생성 - 친구들과 함께하고 플레이어/매치 선호도를 공유하세요,

  3. 그룹 구성 - 로비를 매치메이킹 그룹으로 등록하세요,

  4. 매치 찾기 - 매치(새로운 매치 또는 기존 매치)를 찾기 시작할 준비를 하세요,

    1. 서버 할당 및 티켓 주입 - 서버는 몇 초 후 자동으로 할당됩니다,

  5. 연결 및 인증 - 게임 서버에 대한 보안 연결을 시도합니다,

    1. 신원 확인 - 서버는 타사 토큰을 사용하여 게임 클라이언트의 신원을 확인합니다,

    2. 플레이어 수락 또는 추방 - 서버가 플레이어의 참가 허용 여부를 결정합니다.

빠르게 시작하기 - 게임에 매치메이킹 스타터 샘플을 추가하세요:

인증

circle-check

개별 플레이어는 클라이언트와 서버에서 사용할 수 있는 티켓 ID로 식별할 수 있습니다. 선택적으로, 서버 대 서버 API를 사용해 맞춤형 프록시로 사용자 지정 인증이나 제한을 추가하세요.

그룹 구성

파티(그룹)를 생성하면 플레이어가 친구들과 같은 팀과 서버에 참가하도록 보장할 수 있습니다.

circle-check
그룹 수명 주기 활동 다이어그램

로비와 그룹

플레이어가 제어하는 매치메이킹 선호도(예: 캐릭터 선택, 난이도, 맵 등)를 설정해야 하는 게임 디자인이라면 로비 서비스를 사용하세요. 플레이어가 로비에 가입하고 떠나면, 그들은 이후 매치를 찾기 위해 매치메이킹 그룹을 업데이트합니다.

circle-check
게임 디자인 - 기능 / 요구사항
매치 전 로비
매치메이커 그룹

친구를 초대하여 함께 플레이

내 플레이어/매치 선호도 수정

다른 로비 구성원의 선호도를 확인

커스텀 키-값 데이터를 저장 및 관리

그룹 구성원에게 내가 플레이할 준비가 되었음을 알림

매치메이킹 진행 상황을 표시하고 매치를 찾기

플레이어/그룹의 팀 배정을 받기

게임 서버 연결 정보를 검색

우리의 크로스플랫폼 매치메이커는 모든 상용 및 커스텀 로비 서비스를 지원합니다:

로비 서비스(타사)
언리얼 엔진
Unity
PC
콘솔
VR/XR
모바일

커스텀 로비 (귀사)

로비 소유자(초대를 보내는 플레이어)는 매치메이킹 그룹도 생성해야 합니다.

공유 로비 데이터에 그룹 ID를 저장하세요, 타사 로비와 연결된 매치메이킹 그룹을 다른 로비 구성원이 쉽게 찾고 가입할 수 있도록 합니다. 그룹에 초대된 플레이어는 그룹 ID를 사용하여 그들의 멤버십을 생성(가입)하고, 그들의 매치메이킹 속성.

circle-exclamation

그리고 새 그룹을 생성하세요.

핑 최적화 심층 분석 만약 지연(latencies) 규칙 핑 비콘 모든 그룹 구성원은 그들의 측정값을 전송하여

"프랑크푸르트": 23.2,

"도쿄": 167.4

대기열 포기 심층 분석그룹 소유자는 그룹을 삭제할 수 있으며, 이는 모든 그룹 멤버십을 자동으로 삭제합니다. 매치메이킹이 시작된 후 그룹을 삭제하면 모든 멤버십이 취소되고 곧 삭제됩니다.

circle-info

그룹 구성원(소유자 제외)은 이전에 언제든지 멤버십을 삭제(그룹 탈퇴)할 수 있습니다 . 이후에 멤버십을 삭제하면 그룹 전체의 매치메이킹이 취소됩니다. 매치메이킹이 취소되면, 구성원들은 자동으로 매치메이킹에서 제거되고

멤버십을 통해 알림을 받습니다

상태:CANCELLED (다음 상태 폴링 응답에서.취소된 이후 그룹이 매치메이킹을 재시작하려면 그룹 소유자가 그룹을 다시 생성하고 새로운 그룹 ID를 구성원에게 공유하여 그들이 멤버십을 다시 생성해야 합니다. 매치가 찾아지면 그룹을 삭제할 수 없습니다409 충돌

매치 찾기

백필(backfill)을 생성하여 떠난 플레이어를 대체할 새 플레이어를 찾거나,

circle-check
circle-info

즉시 매치메이킹을 시작하도록 허용하려면, 멤버십 생성 시 준비로 표시하세요 . 소유자가 자신을 준비로 표시하면 모두가 준비된 것으로 간주되어 매치메이킹이 시작됩니다..

최상의 경험을 위해, 게임 내 UI를 사용하여 플레이어에게 상태 업데이트를 제공하세요

모든 플레이어는 정기적으로 자신의 멤버십을 폴링해야 합니다 (권장 3-5초) 매치메이킹이 시작될 때를 감지하고 게임 내 UI를 통해 매치메이킹 진행 상황을 전달하기 위해.플레이어는

멤버십 및 그룹 ID를 영구적으로 저장해야 합니다 플레이어 기반을 여러 프로필로 분할하면 플레이어의 대기 시간이 길어질 수 있습니다., 게임 클라이언트가 크래시할 경우 게임을 재시작하고 매치메이킹 진행 상황을 잃지 않고 복구할 수 있습니다. 동일한 팀에 배치하기에 충분한 플레이어를 찾으면,.

플레이어는 멤버십 응답에서 상태:TEAM_FOUND .

로 알림을 받게 됩니다. 이 단계에서 멤버십을 삭제하면 모든 그룹 멤버십이 취소되고 동일 팀에 배정되었던 다른 그룹들은 상태:SEARCHING 으로 돌아갑니다. 팀들은 그룹 간의 겹치는 값(또는 숫자_차이.

의 경우 평균)을 사용해 다른 팀들과 계속 매치메이킹을 진행하여 충분한 팀이 모일 때까지 진행합니다. 멤버십은 응답으로 상태:MATCH_FOUND 를 표시하며, 이는

  1. 배포가 시작되고 있음을 의미합니다

  2. 매치메이커는 매치 채우기 비율을 최대화하려고 하며, 심층 분석 MATCH_FOUND

  3. 로 진행하지 않습니다

다음 중 하나가 충족될 때까지:

circle-info

구성된 최대 팀 크기로 충분한 팀이 매칭된 경우,

또는

circle-check
circle-info

게임 백엔드에 team_id 심층 분석

match_id 를 저장하여 게임 내에서 팀 구성원 정보를 표시하세요. 모든 플레이어는 . 플레이어가 포기했다고 간주하기 전에 서버는 연결을 허용할 시간을 두어야 합니다(예: 60초). 이러한 경우 서버는 다음과 같이 할 수 있습니다:.

고유한 티켓 ID를 받으며, 이는 를 저장하여 게임 내에서 팀 구성원 정보를 표시하세요. 게임 서버와의 통신에 사용할 수 있습니다. 심층 분석.

플레이어가 매칭되어 게임 서버에 할당되면 해당 티켓은 자동으로 삭제됩니다. 상태:HOST_ASSIGNED 이후에 대기열을 포기한 플레이어는

로 대체될 수 있습니다

. 플레이어가:

Unity - 매치메이킹 OnApplicationQuit

콜백 또는 사용자 정의 게임 종료 콜백,

언리얼 엔진 -

circle-check
circle-exclamation

⚙️ 구성

매치메이커 API는 새 매치메이커를 생성할 때(또는 빠른 재시작 시) 지정한 JSON 구성에서 생성됩니다. 규칙과 확장이 다른 여러 프로필을 원하는 만큼 지정할 수 있습니다: 자세한 SDK 및 예제 시나리오는 를 참조하세요.

실행 중인 매치메이커를 편집하면 빠른 재시작을 트리거하여 모든 티켓을 삭제하고 짧은 다운타임을 발생시킵니다.

circle-check

플레이어 기반을 여러 프로필로 분할하면 플레이어의 대기 시간이 길어질 수 있습니다.

각 매치메이커 프로필은 앱 버전 을(를) 새 배포(서버)를 시작하기 위한 템플릿으로 사용합니다.

일부 게임 모드는 더 많은 vCPU/RAM을 요구할 수 있으며, 특히 더 많은 플레이어를 지원하는 경우 그러합니다. 각 매치메이커는 여러 프로필을 포함할 수 있으며 각 프로필은 조정된 리소스를 가진 앱 버전과 연결됩니다.

  • 규칙 모든 플레이어와 그룹은 매치메이킹 큐에 가입하고 초기 규칙을 사용해 먼저 매치를 찾습니다.

  • 프로필의 경로에 있는 각 항목 .rules.initial

circle-info

은(는) 규칙을 나타내며, 여기서:

는 규칙의 이름을 원하는 대로 지정할 수 있는 문자열 값입니다; 예: match_size

circle-exclamation

모든 규칙은 호스트 할당을 시작하고 배포를 시작하거나 찾기 위해 동시에 충족되어야 합니다. 연산자(규칙 유형) :

  1. player_count

  2. 는 할당을 시작하기 위해 몇 명의 플레이어가 매칭되어야 하는지를 정의하는 특별 규칙입니다. 이 규칙 은(는) 필수이며 초기 구성 규칙에서 한 번만 정의할 수 있습니다.

  3. 매치메이커는 지정된 max_team_size 까지 매치 채우기 비율을 최대화하려고 합니다. 최대 팀 크기에 도달하면 매치는 즉시 성사되고,

circle-check

(또는 만료)이 다가올 때까지 매치를 채우기 위해 대기합니다,

  • 확장(또는 만료) 직전, 부분 매치가 가능한 경우(≥ 최소 및 < 최대 팀 크기), 이 매치는 동일한 확장 단계의 모든 플레이어로 구성되어 성사됩니다(다른 규칙이 통과된다고 가정). 협동, 자유 대전(Free-for-all), 또는 비대칭 팀 크기 게임 모드의 경우, "team_count": 1

  • 으로 설정하세요. 팀 수는 경쟁 게임을 위해 여러 균형 잡힌 팀을 구성하도록 구성할 수 있습니다: 그룹 속성은 그룹의

플레이어 속성의 평균/겹침으로 계산되고,

팀 속성은 팀의
circle-info

그룹 속성의 평균/겹침으로 계산됩니다. 고정된 팀 크기 4명을 가정하면:

예시 매치 시나리오 그룹은 초과 모집 없이 팀과 매칭됩니다,

chevron-right그 팀에 전체 그룹을 수용할 충분한 용량이 있을 경우에만. string_equalityhashtag

string_equality 는 정확히 동일한 문자열 값을 가진 플레이어들을 매칭합니다.

규칙 예시:

selected_game_mode

Alice + Erin 또는 Charlie + Frank는 절대 매칭되지 않습니다.
규칙은 대소문자를 구분하여 플레이어를 매칭합니다:
Alice + Bob + Dave는 매칭될 수 있고,

"Free For All"

"Capture The Flag"

"capture the flag"

Frank

Erin

Alice

이 단계에서 멤버십을 삭제하면 모든 그룹 멤버십이 취소되고 동일 팀에 배정되었던 다른 그룹들은 Charlie

chevron-right그 팀에 전체 그룹을 수용할 충분한 용량이 있을 경우에만. Bobhashtag

Bob Dave 는 플레이어들 간의 절대 수치 차이 내에서 매칭합니다. elo_rating

위 규칙에

"max_difference": 50

를 적용하면 처음에는: Alice + Bob는 매칭될 수 있고, 또는 Bob + Charlie는 매칭될 수 있으며,

chevron-right그 팀에 전체 그룹을 수용할 충분한 용량이 있을 경우에만. Alice + Bob + Charlie는 절대 매칭되지 않습니다.hashtag

Alice + Bob + Charlie는 절대 매칭되지 않습니다. Dave intersection 은 하나 이상의 겹치는 문자열 값을 가진 플레이어를 대소문자 구분하여 매칭합니다.

selected_map

"overlap": 1

이면 다음이 매칭됩니다:

Alice + Bob + Charlie는 매칭될 수 있고, 또는 Alice + Bob + Dave는 매칭될 수 있으며, Alice + Bob + Charlie + Dave는 절대 매칭되지 않습니다. 규칙 확장 선택적으로,.

chevron-right확장hashtag

은 큐에서 일정 시간이 지난 후 규칙의 속성을 수정하여 제한을 완화하고 매칭 가능한 플레이어 풀을 확장하여 더 빠른 매치를 유발합니다

  • 예시 시나리오: 확장

  • 초기에는 정확히 4명의 플레이어로 구성된 1개 팀을 요구합니다(그룹으로 분할될 수 있음)

  • 다음과 함께:

  • 동일한(어느 하나) 비콘에 대해 최대 125ms의 지연,

  • 동일 비콘에 대해 최저/최고 값 간 지연 차이 125ms 이하,

  • 최저 및 최고 플레이어 간의 실력(스킬) 등급 차이 50포인트 이하, 정확히 동일한(대소문자 구분) 선택된 게임 모드, 플레이어들 중 적어도 하나 이상의 일치하는 맵 선택(대소문자 구분),

플레이어들 중 적어도 하나 이상의 일치하는 백필 그룹 크기 값.

4명 플레이어

  • 위 예시에서 우리는

  • 다음 이후에 속성들을 수정하여 검색 범위를 확장합니다

  • :

30초:

  • 위 예시에서 우리는

  • 150 스킬 등급 범위

  • 최대 250ms 지연

60초:

  • 200 스킬 등급 범위

  • 150 스킬 등급 범위

  • 최대 250ms 지연

chevron-right1-4명 플레이어hashtag

모든 지연 허용 심층 분석.

3분(180초):

  • 확장 미세 조정

    • 플레이어 선호도를 예측하는 것은 움직이는 목표물을 맞추는 것과 유사합니다. 출시 시에는 덜 까다로운 규칙 세트로 시작하고 이후 반복적으로

  • 를 사용해 최적화하세요. 다음 질문들은 사고 과정을 구성하는 데 도움이 될 수 있습니다: 5분 플레이 세션은 각 플레이어가 5분마다 대기열에 다시 들어가게 하며, 이는 특정 시점에 더 많은 플레이어가 대기열에 있어 간접적으로 대기 시간을 줄입니다. ?

    • 하루 중 가장 높은 동시 접속자 수

    • 최저 동시 접속자(저조기 CCU) 심층 분석 비활성 기간 동안의 동시 접속자 수

  • 저조기와 피크 사이의 변동이 크면(60% 이상), 더 많은 플레이어를 모으기 위해 저조기용 별도 프로필이 필요할 수 있습니다.

  • 벨 곡선

    • (자연 분포)을 따릅니다. 평균에서 표준편차가 커질수록 평균에서 더 멀리 떨어진 플레이어는 적어집니다. 평균 값에 가까운 플레이어는 첫 번째 확장에서 빠르게 매칭되지만 극단값은 문제입니다.

    • 우리는 각 확장마다 확장된 차이량을 늘리는 것을 권장합니다(예: 25 -> 50 -> 100), 이는 분포 곡선의 극단값에 플레이어가 적은 것을 보정하기 위함입니다.

    • 도전자 티어(프로 플레이어)가 있다면 표본이 더 작고 전체 플레이어 기반의 거시적 추세를 따르지 않는 경우가 많으므로(극단 쪽 편향, 역벨 곡선) 별도의 프로필과 맞춤형 스킬 설정을 권장합니다.

    • 플레이어 수가 적은 환경에서 매치메이킹 속도와 매치 채우기 비율을 어떻게 개선할 수 있나요?

    • 플레이어와 그들의 선호도에 대해 가능한 한 많이 파악하세요!

circle-info

초기에는 일부 규칙을 제거하거나 제한을 완화하는 것을 고려하세요. 팀 크기 또는 팀 수를 시간 경과에 따라 완화하세요 - 부분 매칭이 없는 것보다 낫습니다. 플레이어를 더 많이 모으기 위해 확장 간의 지속 시간을 늘리세요.

게임 디자인에 맞춘 추가 팁과 요령이 필요하면 문의하세요.

어떤 규칙 속성의 확장도 주입된 변수(Injected Variables).

그 속성의 이전 값을 덮어씁니다 .

circle-info

MM_GROUPS={"b2080c27-19c9-4fb0-8fe7-4bf1e5d285d1":["cusfn10msflc73beiik0"],"015d4dc8-6c79-4b5c-bbc6-f309b9787c8f":["cusfn18msflc73beiil0"]} MM_TEAMS={"cusfn1gmsflc73beiim0":["b2080c27-19c9-4fb0-8fe7-4bf1e5d285d1","015d4dc8-6c79-4b5c-bbc6-f309b9787c8f"]}MM_MATCH_ID=advanced-example_initial-2025-02-21T22:17:43.3886970Z

circle-check

환경 변수는

문자열화된 JSON으로 저장됩니다 . SDK나 커스텀 방법으로 파싱하세요. 서버는 플레이어가 서버에 티켓 ID를 전송한 후 플레이어 연결을 그룹과 속성에 매핑할 수 있습니다. 🧵 플레이어 추적 배포 플레이어가 문제를 겪고 있다면 서버 로그로의 경로를 추적하는 것이 도움이 될 수 있습니다. 각 매치메이커 배포 배포

circle-check
circle-info

OnWorldDestroyed 배포

을 찾아 문제 해결에 도움이 됩니다.

티켓 ID와 배포 ID를 클라이언트 매치 히스토리 UI에 표시하여 문제 해결 시 플레이어를 추적하세요.

배포 문제 해결에 대해 알아보려면 을 참조하세요.arrow-up-right 👀 분석

코드나 구성 없이 매치메이커 로드와 성능에 대한 인사이트를 얻으세요.

🌟

매치메이커를 엔터프라이즈 티어로 업그레이드하세요

매치메이킹 지표와 인사이트를 잠금 해제하려면:

☁️ 호스팅 클러스터 ⏩ 롤링 업데이트매치메이커는 Edgegap에 의해 24/7 편리하게 호스팅되고 관리됩니다.

목표에 가장 적합한 호스팅 옵션을 선택하세요:

  • 프라이빗 클러스터 티어 원클릭으로 프라이빗 클러스터로 업그레이드하세요. 출시 후에도 플레이어 다운타임 없이 프라이빗 클러스터 티어를 변경할 수 있으며

  • 관리형 클러스터는 공개 출시된 게임을 위해 Edgegap이 유지 관리하는 고가용성 서비스 호스팅과 24/7 라이브 지원을 제공합니다. 인스턴스의 리소스 요구사항은 다음 요소에 따라 달라집니다:

  • 플레이어 수 - 플레이어 수가 많을수록 더 많은 티켓과 API 요청이 발생합니다,

  • 플레이어당 요청 수 - 더 빠른 재시도는 서비스 부하를 증가시키고 리소스를 소비합니다,

  • 구성 복잡성 - 교차 규칙(intersection) 및 확장은 특히 요구가 큽니다,

  • 평균 매치 지속 시간 - 세션이 짧을수록 플레이어가 더 자주 매치메이킹에 재참여합니다,

circle-exclamation

성공을 대비해 출시 후 최적화하여 출시일에 플레이어를 막지 않도록 하세요.

사용하세요 매치메이킹 지수적 지터 백오프를 구현하여 높은 부하에서 복구하세요.

API 엔드포인트
무료 플랜
취미용 플랜
스튜디오 플랜
엔터프라이즈 플랜

전체 한도

100

200

750

2,000

배포 생성

5

10

30

30

비콘 목록

10

20

75

200

그룹 생성 + 티켓 생성 + 그룹 티켓 생성

10

20

75

200

멤버십 읽기 + 그룹 읽기 + 티켓 읽기

10

120

450

1,300

백필 생성

5

10

37

100

요율 제한은 다음으로 표시됩니다 지정된 API 엔드포인트 집합에 대한 초당 결합 요청.

게임 클라이언트가 응답을 수신했을 때 요청을 재시도하지 않으면 429 요청 과다 배포에 플레이어가 누락될 수 있습니다 높은 부하로 인해 할당을 더 이상 읽지 않게 되는 플레이어들.

부하 테스트

매치메이킹 및 할당에는 CPU 및 메모리 사용이 필요하므로 각 개인 매치메이커에 호스팅 비용이 발생합니다. 각 플랜과 관련된 리소스 및 가격은 요금 페이지arrow-up-right.

circle-check

부하 테스트를 설계할 때, 현실적인 플레이어 패턴을 고려해 주세요:

현실적인 시나리오
비현실적인 트래픽 패턴

✅ 플레이어들이 점진적으로 매치메이킹에 참여하여 몇 시간에 걸쳐 요청/초가 증가합니다.

❌ 모든 플레이어가 정확히 같은 초에 동기화되어 티켓을 생성합니다.

✅ 플레이어는 재시도 사이에 점점 더 긴 대기 시간을 둡니다(예: 1초-5초-10초-10초).

❌ 모든 플레이어가 응답을 받자마자 즉시 재시도합니다 429 요청 과다 응답.

✅ 대부분의 플레이어는 짧은 시간(10-60초) 이내에 할당을 받고 폴링을 중지합니다.

❌ 모든 플레이어가 할당을 받은 후에도 정해진 시간 동안 계속 폴링을 합니다.

✅ 대부분의 플레이어는 매치가 끝난 후(시간 소요) 다시 매치메이킹을 시작합니다.

❌ 모든 플레이어가 할당을 받은 직후 즉시 매치메이킹을 다시 시작합니다.

✅ 피크 트래픽은 하루에 6-8시간 지속되며 이후 일부 시간대에서 감소합니다.

❌ 피크 트래픽이 하루 24시간 지속되며 모든 플레이어가 밤낮없이 플레이합니다.

매치메이커에 높은 부하가 발생하는 경우:

  • CPU가 스로틀링되면 매치메이킹이 느려질 수 있습니다,

  • 매치메이커가 메모리를 모두 사용하면 티켓 정보를 잃지 않고 재시작할 것이며, 클라이언트가 지수 백오프를 구현하고 버스트가 더 긴 기간에 걸쳐 분산되기를 기대합니다.

⏩ 롤링 업데이트

서버와 클라이언트 버전 간 호환성을 관리하는 것은 복잡해질 수 있습니다. 신뢰할 수 있는 릴리스, 업데이트 및 다운타임 또는 호환성 문제 방지를 위한 팁을 따르세요.

재시작 후에도 매치메이커 URL 및 인증 토큰은 항상 동일하게 유지됩니다.

triangle-exclamation

⚠️ 라이브 이전에

사전에 매치메이커의 여러 복사본을 생성하는 것을 권장합니다: 그린, 블루 어떤 시나리오도 구성된 티켓 만료 전에 성공하지 못하면 그룹과 티켓은 취소됩니다. 오렌지. 업데이트를 릴리스할 때 어떤 매치메이커를 사용할지 순환할 수 있습니다 (블루/그린 전략arrow-up-right).

지역별 정전 동안 다운타임을 방지하려면 각 인스턴스에 대해 다른 지역을 선택하세요 동안.

블루/그린 DevOps 환경 예시

🔃 클라이언트 + 서버 업데이트

전제 조건: 이 섹션은 다음을 완료했다고 가정합니다 심층 분석.

하기 위해 게임 클라이언트 + 서버 업데이트를 릴리스하려면, 다음을 수행할 수 있습니다:

  1. 새 서버 앱 버전 준비 v1.2.0-rc Edgegap에서:

    1. 컨테이너 레지스트리에 새 이미지 태그 푸시 t1.2.0,

    2. 새 앱 버전 생성 v1.2.0-rc,

  2. 다음으로 개발 테스트 수행 새 앱 버전 배포arrow-up-right v1.2.0-rc:

    1. 게임 엔진의 에디터를 제공된 URL + 외부 포트에 연결,

  3. 사용하지 않는 매치메이커 업데이트 블루 새 이미지 태그로 연결하도록 t1.2.0,

    1. 새 앱 버전에 대해 캐싱 활성화 v1.2.0-rc , 이 버전에 대해 캐시를 활성화하면 동일한 태그를 참조하는 버전에 대해서도 이미지가 캐시됩니다 v-blue 같은 태그를 참조하므로,

    2. 버전의 캐싱 표시기가 도달할 때까지 기다리세요 v1.2.0-rc🟢 그린,

  4. 새 게임 클라이언트 업데이트 c2 새 버전을 사용하도록 v-blue 티켓을 생성할 때:

    1. 게임 클라이언트에서 기본 URL 및 인증 토큰을 업데이트,

  5. 새 게임 클라이언트에 대한 QA 테스트 및 최종 검증 수행 c2:

    1. 문제를 발견하고 해결하면, 처음부터 프로세스를 반복하세요,

    2. 매치메이커를 중지한 후(빠른 재시작은 DNS 업데이트나 대기 기간이 필요하지 않음) 매치메이커 DNS 변경 사항이 전 세계 ISP에 전파되도록 3-7일 대기,

  6. 새 게임 클라이언트 업데이트 릴리스 c2 게임 배포 플랫폼에,

  7. 새 게임 클라이언트가 c2 플레이어 기기로 배포되도록 시간 허용(일반적으로 3-7일 소요):

    1. 구버전 게임 클라이언트 모니터링 c1 배포를 사용하여 배포,

  8. Edgegap 계정에서 사용하지 않는 리소스 정리:

    1. 이미지 태그 삭제 t1.0.0 컨테이너 레지스트리 용량을 확보하기 위해,

    2. 이미지 태그 삭제 t1.1.0 컨테이너 레지스트리 용량을 확보하기 위해,

    3. 다음으로 끄기 그린 다음 업데이터까지 과금 일시중지를 위해 매치메이커를.

circle-check

⚡ 서버 핫픽스

전제 조건: 이 섹션은 다음을 완료했다고 가정합니다 심층 분석.

하기 위해 게임 클라이언트 업데이트 없이 서버 패치를 릴리스하려면, 다음을 수행할 수 있습니다:

  1. 새 서버 앱 버전 준비 v1.2.0-rc Edgegap에서:

    1. 컨테이너 레지스트리에 새 이미지 태그 푸시 t1.2.0,

    2. 새 앱 버전 생성 v1.2.0-rc,

  2. 다음으로 테스트 및 검증 수행 새 앱 버전 배포arrow-up-right v1.2.0-rc:

    1. 게임 엔진의 에디터를 제공된 URL + 외부 포트에 연결,

    2. 문제를 발견하고 해결하면, 처음부터 프로세스를 반복하세요,

    3. 새 앱 버전에 대해 캐싱 활성화 v1.2.0-rc , 이 버전에 대해 캐시를 활성화하면 동일한 태그를 참조하는 버전에 대해서도 이미지가 캐시됩니다 v-green 나중에 동일한 태그를 참조하므로,

    4. 버전의 캐싱 표시기가 도달할 때까지 기다리세요 v1.2.0-rc🟢 그린,

  3. 버전 업데이트 v-green 새 이미지 태그로 연결하도록 t1.2.0,

    1. 새 매치가 자동으로 업데이트된 태그로 할당을 시작합니다 t1.2.0,

    2. 구버전 게임 클라이언트 모니터링 c1 배포를 사용하여 배포,

  4. Edgegap 계정에서 사용하지 않는 리소스 정리:

    1. 이미지 태그 삭제 t1.1.0 컨테이너 레지스트리 용량을 확보하기 위해.

📗 API

클라이언트와 서버는 API를 직접 호출하거나 게임 엔진 SDK로 호출할 수 있습니다. 또한 매치메이킹.

서버 대 서버

매치메이킹 흐름에 대해 향상되거나 맞춤형 제어를 추가하려면 - 우리의 관리형 클러스터 또는 모든 클라우드 FaaS 컴퓨팅 플랫폼을 사용하여 다음을 달성할 수 있습니다:

  • 부정 행위자 플래그, 스킬 레이팅 또는 유사한 민감한 플레이어 속성 첨부,

  • 게임 내에서 팀 및 매치 문맥 제공 - 로딩 중에 내 팀원 및 상대 목록 표시,

  • 특정 예외 제한 - 예: 한 플레이어당 동시에 1개의 그룹만 허용,

  • 캐싱 또는 API 속도 제한 추가 - 요청 수 및 매치메이커에 대한 부하 감소,

  • 로비-그룹 통합 맞춤화 - 매치메이킹 전에 비대칭/역할 기반 로비 생성.

circle-check
circle-info

게임 클라이언트는 다음을 사용할 수 있습니다 ipify.orgarrow-up-right 공용 IP를 찾기 위한 무료 서비스입니다. VPN은 공용 IP 주소를 숨길 수 있습니다.

서버 대 서버 매치메이킹 활동 다이어그램

교차 출처 리소스 공유 (CORS)

itch.io와 같은 서드파티 배포 플랫폼에 호스팅된 WebGL 게임의 경우, 게임 클라이언트에서 매치메이커로의 모든 요청은 itch.ioarrow-up-right등), 게임 클라이언트에서 매치메이커로 요청을 보내면 교차 출처 리소스 공유arrow-up-right 정책 위반이 발생할 수 있습니다. 대부분의 최신 웹 브라우저는 사전 요청arrow-up-right 백엔드 서비스(매치메이커)가 게임 클라이언트의 통신을 이해하고 수락하는지 확인하기 위해

사전 요청 실패(보안상 기본값)는 여러 가지 CORS 관련 오류 중 하나로 이어질 수 있습니다arrow-up-right, 가장 일반적으로 CORS 헤더 'Access-Control-Allow-Origin' 누락 .

이 오류를 해결하려면 다음을 추가하세요 allowed_cors_origin 구성에 매개변수를 추가하여 다음 중 하나를 수행하세요:

  • 정확한 클라이언트 호스팅 도메인을 화이트리스트에 추가:

chevron-right🍀 간단한 예시 (특정 도메인 예시)hashtag
  • 또는 와일드카드 도메인(모든 서브도메인 포함)을 화이트리스트에 추가:

chevron-right🍀 간단한 예시 (와일드카드 도메인 예시)hashtag
circle-info

매치메이커 사전 요청에는 자격 증명이 필요하지 않습니다, 도메인이 올바르게 구성된 경우.

🚨 문제 해결

여러분의 성공이 우리의 최우선입니다. 맞춤 요청을 보내고 싶거나, 누락된 중요한 기능을 요청하거나, 어떤 의견이라도 전달하고 싶으면, 커뮤니티 디스코드로 연락해 주세요arrow-up-right.

chevron-right새 매치메이커를 생성하려 할 때 오류가 발생하는 이유는 무엇인가요?hashtag
chevron-right왜 제 매치메이커가 3시간 후 자동으로 꺼졌나요?hashtag
  • 무료 플랜의 매치메이커는 초기 테스트를 위한 용도로 의도되며 3시간 후 자동으로 꺼집니다. 테스트를 계속하려면 매치메이커 재시작arrow-up-right.

  • 무제한 실행을 위해 유료 플랜으로 업그레이드하는 것을 고려하세요.

chevron-right왜 계정에서 두 번째 배포를 시작할 수 없나요?hashtag
  • 무료 플랜에서는 동시 배포를 1개만 실행할 수 있습니다.

  • 무제한 배포를 위해 유료 플랜으로 업그레이드하는 것을 고려하세요.

chevron-right왜 할당/배포가 무작위 시간에 발생하나요, 무시하고 는 규칙의 이름을 원하는 대로 지정할 수 있는 문자열 값입니다; 예:?hashtag
chevron-right내 티켓이 다음 상태에 멈춰 있습니다 검색 중 (SEARCHING) .hashtag
  • 구성에 따라 충분한 매칭 티켓을 생성했는지 확인하세요.

chevron-right내 티켓이 상태 전환을 반복하며 멈춰 있습니다 상태:MATCH_FOUND 어떤 시나리오도 구성된 티켓 만료 전에 성공하지 못하면 그룹과 티켓은 취소됩니다. 팀 찾음 (TEAM_FOUND) 반복적으로.hashtag
  • 무료 플랜 계정은 한 번에 1개 배포로 제한됩니다.

  • 업그레이드를 고려하거나 새 배포를 시작하려면 현재 배포를 중지하세요.

chevron-right내 티켓이 바로 다음으로 이동합니다 취소됨 (CANCELLED).hashtag
  • 티켓이 만료되었습니다. 테스트 목적을 위해 새 티켓을 생성하거나 구성에서 만료 기간을 늘리세요.

chevron-right다음 응답을 받습니다 HTTP 404 찾을 수 없음 내 티켓을 확인할 때.hashtag
  • 티켓은 DELETE 요청으로 제거되었거나 구성에 정의된 제거 기간(티켓 만료 후 시작)에 도달했을 수 있습니다. 테스트 목적을 위해 새 티켓을 다시 생성하거나 구성에서 만료/제거 기간을 늘리세요.

chevron-right매치메이커에 오류가 표시되면 어떻게 하나요?hashtag

🔖 변경 로그

구성 파일은 사용된 매치메이커 버전에 따라 검증됩니다. 규칙이 매치메이커 버전의 기능과 일치하는지 확인하세요.

circle-info

최신 매치메이커 버전은 3.2.1. 이 페이지의 모든 예시는 최신 상태입니다. 매치메이커 버전의 지원 종료 공지를 주시하세요. 또한 참조: ⏩ 롤링 업데이트.

3.2.1 (2025년 11월 24일)

circle-check
circle-exclamation

🩹 버그 수정:

  • 사소한 배포 버그 수정, 매치메이커 시작 시 발생하던 여러 오류 해결.

3.2.0 (2025년 10월 31일)

🩹 버그 수정:

  • 다양한 소규모 사양 수정 및 문서 일관성 업데이트.

  • 매치메이커 인프라 전반의 안정성 및 자가 복구 수정.

✨ 개선 사항 및 새로운 기능:

  • 도입: 심층 분석 기능 - 그룹 관리는 이제 간편하며 제3자 없이도 가능합니다!

    • 이제 그룹 구성원 간에 복잡한 티켓 속성을 공유할 필요 없이 그룹 ID만 필요합니다.

    • 모든 플레이어가 준비 표시를 하면 그룹으로 매칭을 시작하세요.

    • 가입 시 그룹 리더의 속성과 그룹 구성원 속성을 검증하여 매치 불가 그룹을 방지합니다(그룹 플레이어의 속성이 프로필 규칙에 맞지 않을 경우).

    • 최대 팀 크기에 도달하면 멤버십을 거부하도록 그룹 크기를 검증합니다.

    • 새 사용자 흐름에 대한 업데이트된 문서를 읽어보세요. SDK 업데이트가 곧 제공됩니다!

  • 티켓(멤버십)에 이제 매치 ID가 포함됩니다 - 플레이어를 추적하고 팀 또는 상대 팀의 닉네임, 스킬 레이팅 또는 제3자에 저장된 기타 속성을 공유하는 UI 요소를 추가하세요.

  • 대형 심층 분석 내부 스트레스 테스트 기반의 개편, 짧은 버스트 처리 개선.

  • 확장 종료까지 부분 매치를 지연시켜 매치 채움률 개선.

    • 최대 팀 크기에 도달하면 즉시 매치합니다.

    • 그렇지 않으면 현재 확장이 끝날 때(최소 팀 크기에 도달한 경우) 매치됩니다.

  • 프로필별 만료 및 제거 기간을 설정하고 최적의 플레이어 경험을 위해 최적화하세요.

circle-exclamation

3.1.0 (2025년 6월 10일)

🩹 버그 수정:

  • 매치메이커가 이제 서로 다른 규칙을 포함한 여러 프로필을 가진 티켓을 올바르게 검증합니다.

✨ 개선 사항 및 새로운 기능:

  • 매치 채움률을 극대화하기 위한 추가 최적화: player_count 규칙. 부분 매치만 가능한 경우(>최소 및 <최대 팀 크기) 티켓은 이제 확장 종료(또는 만료)까지 대기합니다.

    • 완전 매치(최대 팀 크기 도달)는 즉시 이루어집니다(변경 없음).

  • 엔터프라이즈로 업그레이드 심층 분석 매치메이킹 잠금 해제 심층 분석! 코드나 구성 없이 매치메이커 로드 및 성능에 대한 인사이트를 얻으세요. 출시 시 포함된 메트릭:

    • 지정된 기간 동안 생성된 총 티켓, 백필, 할당 및 배포 수,

    • 위의 메트릭에 대한 분당 비율(지정된 기간 동안),

    • 만료된 티켓, 확장된 매치, 매치 채움률에 대한 총계 및 시계열 통계,

    • API 사용 메트릭 등.

3.0.0 (2025년 5월 20일)

⚠️ 호환성 깨지는 변경 사항:

  • - 오래된 티켓이 시간이 지나며 쌓여 리소스를 소비합니다, 효율적으로 팀을 채우기 위한 최소/최대 팀 크기 (player count 확장을 대체):

    • 구성에서 는 규칙의 이름을 원하는 대로 지정할 수 있는 문자열 값입니다; 예: 규칙, 다음을 교체하세요 team_sizemin_team_size 어떤 시나리오도 구성된 티켓 만료 전에 성공하지 못하면 그룹과 티켓은 취소됩니다. 연산자(규칙 유형) "최선의 노력" 매칭을 달성하여 매치 채움률을 최대화하려면,

    • 팀당 특정 수의 플레이어를 요구하려면 최소 및 최대를 동일한 값으로 설정하세요,

    • 백필은 규칙을 우회하고 항상 1티켓으로 매치합니다(변경 없음). 는 규칙의 이름을 원하는 대로 지정할 수 있는 문자열 값입니다; 예: 모든 레이턴시가 지정된 프로필의 가장 높은

  • max_latency 보다 높은 티켓, 그룹 티켓 및 백필은 만료되는 대신 즉시 거부되어 400 잘못된 요청 티켓 생성 요청에 대한 응답을 반환합니다: 다음이 구성된 경우에만 적용됩니다

    • 지연 규칙 구성된 경우, 이 동작을 우회하려면 다음으로 확장을 생성하세요

    • max_latency: 99999 (클라이언트 레이턴시 측정 타임아웃보다 큰 값이면 됨). 주입된 환경 변수

  • 티켓 데이터를 포함하는 항목에는 이제 필드가 포함됩니다 id (티켓 ID)로 티켓 생성 시 더 쉽게 재사용할 수 있습니다 이제 구성된 삭제 및 만료 기간을 사용합니다(티켓 및 그룹 티켓과 동일하게). 심층 분석.

🩹 버그 수정:

  • 심층 분석 이제 구성된

  • 심층 분석 규칙을 사용하여 올바르게 매칭합니다 를 적용하면 처음에는: 수정됨.

  • openAPI 사양 POST 요청에 대해 (다음이 필요함 심층 분석 public_ip ) 및 GET /tickets 응답 (선택 사항), 예시 포함.또는 구성된 티켓 만료 시간이 경과했고 구성된 최소 팀 크기로 충분한 팀이 매칭된 경우. 이제 최대 3배 더 많은 잠재적 매치가 고려되어 더 최적의 그룹을 생성하고 매치 채움률을 극대화합니다.

✨ 개선 사항 및 새로운 기능:

  • 동시성 최적화로 최대 200% 더 빠른 매칭 속도.

  • 확장 알고리즘 최적화로 최대 40% 향상된 매치 채움률.

  • 서비스 안정성 향상 및 빠른 재시작 속도 증가.

  • 벤치마크는 다음을 사용한 혼돈 생성 데이터로 생성되었습니다

circle-info

고급 예시 구성 2.1.0 (2025년 2월 24일).

게임 프로필과 확장 단계 정보를 분리함

⚠️ 호환성 깨지는 변경 사항:

  • MM_MATCH_PROFILE 심층 분석:

    • 이제 구성에 나타나는 프로필 이름만 포함합니다. 도입됨

    • MM_EXPANSION_STAGE 확장 단계(예: "initial", "15", "30")를 문자열로 포함합니다. 티켓 할당에는 이제 다음의 경우 그룹 ID가 포함됩니다

  • . 그룹 ID는 또한 심층 분석로 포함되며, 그룹 ID를 그룹의 플레이어 ID 목록에 매핑한 항목으로 제공됩니다. 심층 분석티켓 할당에는 이제 다음의 경우 팀 ID가 포함됩니다

  • . 팀 ID는 모든 티켓 데이터에 심층 분석로 포함됩니다 심층 분석.

  • 심층 분석 이제 반환합니다 다음 상태 폴링 응답에서. HTTP 코드 대신 204 콘텐츠 없음 배포가 시작 중이어서 티켓을 삭제할 수 없음을 표시합니다. 교체를 위해서는 서버가 사전 지정된 타임아웃 후에 발급한 심층 분석 를 사용하세요.

  • 심층 분석 요청 본문 매개변수 attributes.deployment_request_id 이동되었습니다 attributes.assignment.request_id.

  • 심층 분석 요청 본문은 이제 다음의 일부로 전체 할당 세부정보를 요구합니다 attributes 매개변수에 추가로 request_id.

🩹 버그 수정:

  • 해결된 교차 규칙 값은 이제 심층 분석 에 포함됩니다 MM_INTERSECTION 환경 변수.

  • 빠른 재시작 기능은 구성 변경 시 API 엔드포인트 및 openAPI 사양을 신뢰성 있게 재생성합니다.

  • 매치메이커 (재)시작 시 발생하던 여러 버그를 수정하여 긴 시작 시간 또는 매치메이커 정지 문제를 해결했습니다.

✨ 개선 사항 및 새로운 기능:

  • 모든 매치메이커 티어의 모든 API 엔드포인트에 대한 요율 제한 및 확장성을 증가시켰습니다.

  • 플레이어를 다음에 할당할 때 심층 분석새 플레이어의 티켓 ID가 백필의 태그로 추가됩니다 배포.

  • 웹 UI에서 Postman 없이도 API를 직접 테스트할 수 있는 swagger UI 인증 기능 추가.

  • 실제 요청 및 응답을 더 잘 반영하도록 openAPI 예시 개선.

  • 새로 추가됨 심층 분석 개발 및 디버깅 목적을 위한 항목.

    • 현재 플레이어 티켓을 페이지네이션된 목록으로 모두 나열할 수 있게 합니다.

    • 현재 매치를 페이지네이션된 목록으로 모두 나열할 수 있게 합니다.

1.0.0 (2024년 12월 9일)

  • 심층 분석: 요청에 따라 백필(자동 티켓 할당) 기능을 다시 추가합니다. 이는 플레이어가 세션을 떠날 때 서버 좌석을 재사용할 수 있게 합니다.

    • 매치가 시작된 후 빈 플레이어 좌석을 채우거나, 매치 도중 떠난 플레이어를 교체하는 데 이상적입니다.

  • 심층 분석: 이미 제공되는 여러 팀을 플레이어로 채우는 기능에 그룹으로 참가하는 기능을 추가합니다.

    • 친구 그룹과 함께 매치메이킹 큐에 참여하거나 공용 로비에서 오는 경우에 이상적입니다.

  • 개발자 도구 어떤 시나리오도 구성된 티켓 만료 전에 성공하지 못하면 그룹과 티켓은 취소됩니다. 개발자 도구 매치메이킹 SDK:

    • 통합을 쉽게 하기 위해 가장 인기 있는 게임 엔진용 소프트웨어 개발 키트를 제공합니다.

  • 다음 버그를 수정했습니다 심층 분석 적용되지 않았습니다.

  • 티켓은 이제 만약 할당되지 않았다면 이후에 자동으로 취소됩니다 심층 분석 지정된 기간 후에.

  • 이제 할 수 있습니다 심층 분석 매치메이킹 흐름을 향상시키기 위해.

  • 매치메이커가 만든 배포는 이제 티켓 ID로 태그됩니다.

  • 매치메이커가 실행 중일 때 구성을 편집할 수 있습니다. 이는 전체 켜기/끄기 사이클 없이 구성의 빠른 재로드를 트리거합니다. 참고: 이 기능은 현재 티켓을 모두 삭제하고 API를 일시적으로 응답하지 않게 만들기 때문에 프로덕션 환경에는 권장되지 않습니다.

  • openAPI 사양 심층 분석 배열 대신 올바른 원시 타입을 사용하도록.

  • openAPI 사양 심층 분석 이전에는 이스케이프 문자가 포함되어 있던 JSON 값.

0.2.3 (2024년 10월 8일)

  • WebGL 애플리케이션에서 요청할 때 특정 헤더가 매치메이커에 의해 수락되지 않던 버그(CORS 정책)를 수정했습니다.

0.2.2 (2024년 10월 3일)

  • 매치메이커 시작을 방해하던 TLS/SSL 인증서 검증 문제 수정.

0.2.1 (2024년 9월 30일)

  • 비콘 엔드포인트가 500 오류를 반환하던 버그를 수정했습니다.

0.2.0 (2024년 9월 25일)

  • 기본 인증이 이제 모든 엔드포인트에 대해 필수입니다.

  • 서버 할당 실패 시 재시도 횟수를 구성하는 기능 추가.

  • 팀 기반 매치메이킹이 이제 모든 매치메이킹 구성의 기본값입니다.

  • 모든 프로필에서 애플리케이션과 버전이 이제 필수 필드입니다.

  • 매치메이커 상태를 모니터링하는 새로운 엔드포인트 도입.

  • 배포에서 티켓 환경 변수 형식 업데이트.

  • 호스트가 매치메이커와 통신할 수 있도록 구성 옵션 추가.

  • 디버그 API는 이제 구성에서 명시적으로 활성화된 경우에만 사용할 수 있습니다(현재 재작업으로 비활성화되어 있음).

  • 다음 game_profile GET 티켓 응답의 키가 다음으로 대체되었습니다 profile.

마지막 업데이트

도움이 되었나요?