심층 분석
Edgegap의 노코드 매치메이커 개념을 심도 있게 알아보고 필요에 맞게 커스터마이즈하세요.
✔️ 소개
매치 기반 게임에서 매치메이킹의 일반적인 목적은 다음과 같습니다:
다른 플레이어를 찾기 지역, 지연 시간, 실력 또는 게임 매개변수와 같은 기준에 따라;
서버를 검색 사용 가능한 용량[또는 핑, 지역, 실력, 맵, 모드]에 따라 참가할;
새 서버 시작 기존 서버가 가득 차 있거나 플레이어 기준을 만족하지 못하는 경우.
플레이어 경험을 최우선으로 하며, 우리의 핵심 목표를 정의합니다:
높은 매치 채움률 및 소셜 기능 통합(친구와 그룹으로 플레이),
제어된 매치 품질(낮은 지연, 공유된 선호도)로 빠른 매치,
글로벌 가용성을 갖춘 신뢰할 수 있고 예측 가능한 매치메이킹 프로세스.
또는 플레이어가 지속적(항상 온라인)인 서버를 선택하게 하세요 목록에서 서버 브라우저.
5분 안에 시작하고 모든 기능을 무료로 테스트하세요. 신용카드는 필요 없습니다.
더 강력하고 프라이빗(전용) 클러스터가 필요할 때 업그레이드하세요. Edgegap과 네이티브 통합 배포 은 플레이어가 어디에 있든 최고 수준의 핑을 제공합니다.
각 매치메이커에는 세 가지 핵심 개념이 있습니다:
심층 분석 - 기본 서버 인프라는 Edgegap이 완전히 관리하고 운영합니다.
⚙️ 설정(Configuration) - 매치메이커의 동작 방식을 정의하는 규칙과 설정 집합.
🌐 서비스 인스턴스 - 클러스터에서 24/7 실행되는 라이브 매치메이킹 서비스로, 설정(Configuration)을 사용해 플레이어를 매칭하고 배포(서버) 할당을 생성합니다.
매치메이커 버전을 자주 업데이트하여 새로운 기능과 버그 수정 을 활용하세요.
▶️ 매치메이킹 시작
게임 통합을 커스터마이즈, 트러블슈팅, 최적화할 수 있도록 매치메이킹 프로세스를 알아보세요.

플레이어 인증 - 불법 복제본의 온라인 플레이를 방지,
로비 생성 - 친구들과 함께 합류하고 플레이어/매치 선호도를 공유,
그룹 구성 - 로비를 매치메이킹 그룹으로 등록,
매치 찾기 - 준비를 마치고 매치(새로운 또는 기존) 탐색 시작,
서버 할당 및 티켓 주입 - 몇 초 후 서버가 자동으로 할당,
연결 및 인증 - 게임 서버로의 보안 연결 시도,
신원 확인 - 서버가 서드파티 토큰으로 게임 클라이언트의 신원을 검증,
플레이어 수락 또는 강퇴 - 서버가 플레이어의 참가 허용 여부를 결정합니다.
빠르게 시작하기 - 매치메이킹 스타터 샘플을 게임에 추가하세요:
언리얼 엔진 개발자 도구:
Fab 마켓플레이스에서 설치 (개인 사용은 무료),
간단한 예제 블루프린트 가져오기 그리고 필요에 맞게 커스터마이즈하세요.
Unity 개발자 도구 Edgegap에서:
간단한 예제 스크립트를 가져오기 그리고 필요에 맞게 사용자화하세요,
인증
게임 백엔드를 사용한 기존 게임 클라이언트 인증 외에도, 매치메이커에 대한 모든 요청은 다음을 전송해야 합니다 권한 부여 HTTP 헤더와 함께 비밀 인증 토큰:
권한 부여: xxxxxxxx-e458-4592-b607-c2c28afd8b62토큰은 비밀로 안전하게 보관하세요! Edgegap 직원은 절대 토큰을 요청하지 않습니다.
이 토큰은 Edgegap API에 대한 접근 권한을 부여하지 않으므로 게임 클라이언트에 안전하게 포함할 수 있습니다.
개별 플레이어는 클라이언트와 서버에서 사용 가능한 티켓 ID로 식별할 수 있습니다. 선택적으로 다음을 사용하는 커스텀 프록시로 사용자 지정 인증 또는 제한을 추가하세요 서버 간 통신 API.
그룹 구성
그룹(파티)을 생성하면 플레이어가 친구들과 같은 팀과 서버에 참가하도록 보장합니다.
준비 완료로 표시된 그룹을 생성하여 심층 분석 빠르게 그룹원이 없는 솔로 플레이어로서.

로비와 그룹
게임 디자인이 플레이어가 제어하는 매치메이킹 선호(예: 캐릭터 선택, 난이도, 맵 등) 설정을 요구한다면 로비 서비스를 사용하세요. 플레이어가 로비에 입장하거나 떠날 때, 이후 매치 탐색에 대비해 매치메이킹 그룹도 업데이트합니다.
로비 서비스를 사용할 시간이 없나요? 플레이어에게 Discord나 DM으로 그룹 ID를 공유하도록 안내하세요.
친구를 초대해 함께 플레이
✅
✅
내 플레이어/매치 선호 수정
✅
❌
다른 로비 멤버의 선호 보기
✅
❌
사용자 지정 키-값 데이터 저장 및 관리
✅
❌
그룹 멤버에게 플레이 준비 완료 알림
❌
✅
매치메이킹 진행 표시 및 매치 찾기
❌
✅
플레이어/그룹의 팀 배정 받기
❌
✅
게임 서버 연결 정보 가져오기
❌
✅
당사 크로스플랫폼 매치메이커는 모든 상용 및 커스텀 로비 서비스를 지원합니다:
Epic Online Services 로비 (Epic Games)
Steamworks 로비 (Valve Corporation)
Nakama 그룹 (Heroic Labs)
Playfab 로비 (Microsoft)
brainCloud 로비 (bitHeads)
Gamekit Friends (Apple)
커스텀 로비 (귀사)
로비 소유자(초대를 보내는 플레이어)가 매치메이킹 그룹도 생성해야 합니다.
공유 로비 데이터에 그룹의 ID를 저장하세요, 그러면 다른 로비 멤버들이 서드파티 로비와 연계된 매치메이킹 그룹을 쉽게 찾고 참가할 수 있습니다. 그룹에 초대된 플레이어는 그룹 ID를 사용해 멤버십을 생성(참가)하고, 자신의 매치메이킹 속성.
을 안전하게 저장합니다. 심층 분석 그리고 새 그룹을 생성하세요.
핑 최적화
만약 ⚙️ 설정(Configuration) 이(가) 지연 시간 규칙을 포함한다면 모든 그룹 멤버는 자신의 핑 비콘 측정값을 에 보내어 먼 지역의 플레이어 매칭을 방지하고 혹은 훨씬 더 높거나 낮은 핑(지연)을 피합니다.
대기열 포기
그룹 소유자는 그룹을 삭제할 수 있으며, 이때 모든 그룹 멤버십이 자동으로 삭제됩니다. 매치메이킹 시작 후 그룹을 삭제하면 모든 멤버십이 취소되고 곧 삭제됩니다.
그룹 멤버(소유자 제외)는 심층 분석전에 언제든 멤버십을 삭제(그룹 떠나기)할 수 있습니다. 이후 멤버십 삭제는 전체 그룹의 매치메이킹을 취소합니다.
한번 취소되면, 그룹이 매치메이킹을 재시작하려면 그룹 소유자가 그룹을 다시 만들고 새 그룹 ID를 멤버에게 공유한 후, 멤버들이 자신의 멤버십을 다시 생성해야 합니다.
매치가 발견되면, 그룹은 삭제할 수 없습니다 (409 Conflict)가 발생하며, 자동으로 제거됩니다. 서버는 플레이어가 포기했다고 판단하기 전에 플레이어가 연결할 시간을 약간(예: 60초) 허용해야 합니다. 이 경우 서버는 다음을 수행할 수 있습니다:
즉시 매치를 시작하기 위해 이탈자를 AI 캐릭터로 대체,
또는 백필 을 생성해 이탈자를 대체할 새 플레이어를 찾기,
혹은 게임 디자인이 가변 플레이어 수를 허용한다면 이탈자를 대체하지 않고 진행하기.
매치 찾기
매치 탐색을 시작하려면, 모든 멤버와 소유자가 자신을 준비 완료로 표시해야 합니다.
그룹 소유자가 즉시 매치메이킹을 시작하게 하려면, 생성 시 멤버십을 준비 완료로 표시하세요. 소유자가 자신을 준비 완료로 표시하면 모두가 준비 완료이므로 매치메이킹이 시작됩니다.
모든 플레이어는 정기적인 간격으로 자신의 멤버십을 폴링해야 합니다 (권장 5초) 매치메이킹 시작을 감지하고, 인게임 UI를 통해 진행 상황을 전달하기 위해서입니다.
플레이어는 멤버십 및 그룹 ID를 지속적으로 저장해야 하며, 게임 클라이언트가 크래시할 경우 재시작 후 매치메이킹 진행을 재개할 수 있습니다.
동일 팀에 넣기에 충분한 플레이어를 찾고 귀하의 규칙을(를) 준수하면, 멤버십 응답에서 status:TEAM_FOUND.
로 통지됩니다. 이 단계에서 멤버십을 삭제하면 모든 그룹 멤버십이 취소되고 동일 팀에 배정된 다른 그룹들은 status:SEARCHING .
으로 돌아갑니다. 팀은 그룹 간의 겹치는 값(또는 number_difference )의 평균을 사용하여 다른 팀과 계속 매치메이킹을 진행하며, 충분한 팀이 모일 때까지 계속됩니다. 멤버십 응답에는 status:MATCH_FOUND 가 표시되며, 이는 귀하의 배포가 시작되고 있음을 의미합니다.
저장: team_id 및 match_id 를 게임 백엔드에 저장하여 인게임에서 팀 멤버 정보를 표시하세요.
플레이어가 status:MATCH_FOUND 를 수신하면, 다음 단계로 진행합니다 심층 분석.
통신할 수 있습니다. 문제가 발생하거나 대기열 시간이 길면, 매치가 발견되기 전에 현재 티켓을 삭제하고 새 티켓을 생성해 프로세스를 재시작할 수 있습니다.
플레이어가 매치되어 게임 서버에 할당되면, 티켓은 자동으로 삭제됩니다. 다음 이후에 대기열을 포기한 플레이어는 status:HOST_ASSIGNED 으로 대체될 수 있습니다 심층 분석.
서버에 연결
일치가 발견된 지 몇 초 후에, 멤버십은 계속 진행하여 status:HOST_ASSIGNED 를 나타냅니다 배포가 이제 준비되었고 게임 서버가 초기화되고 있습니다.
각 플레이어는 자신의 ticket_id 및 할당 를 읽고 다음을 사용해 연결을 시도합니다 FQDN (배포 URL) 과 외부 포트. 이 시점에 게임 서버가 아직 초기화 중일 수 있으므로 플레이어는 여러 번 연결을 재시도해야 합니다보통 서버 초기화 시간을 초과할 때까지:
하기 위해 PIE(에디터)에서 연결하기 개발 및 테스트 중에는 물결표(틸드) 키를 누르고 ~ 입력하세요 open {URL}:{port} 그리고 에디터가 맵을 로드할 때까지 기다리세요.
하기 위해 게임 클라이언트 빌드에서 연결하기 (라이브 프로덕션 환경에서도) 다음을 시도해 보세요
언리얼 엔진 ⚡ 통합 키트:
Fab 마켓플레이스에서 설치 (개인 사용은 무료),
간단한 예제 블루프린트 가져오기 그리고 필요에 맞게 커스터마이즈하세요.
연결 실패나 검은 화면 문제가 발생하면 우리의 문제 해결 가이드를 참조하세요.
하기 위해 Unity 에디터를 연결하세요 또는 게임 클라이언트 를 클라우드 배포에 연결하려면 다음을 입력하세요:
배포 URL 서버의 IP를 가리키며, 일반적으로
을(를) 선택하고컴포넌트에서 확인할 수 있습니다.외부 포트 가 서버의 내부 수신 포트에 매핑됩니다. 보통 Transport 컴포넌트에 있습니다.
연결 시간 초과나 다른 문제가 발생하면 우리의 문제 해결 가이드를 참조하세요.
플레이어는 게임 재시작 간에 할당 ID를 영구적으로 저장하세요그래서 게임 클라이언트가 크래시된 경우 연결 정보를 회수하고 재접속을 시도할 수 있습니다.
참고 매치메이킹 및 자동 재접속 기능 등과 함께 제공되는 우리의 SDK들.
백필 매치
선택적으로, 일부 게임은 다음과 같은 특별한 매치메이킹 요구사항이 있을 수 있습니다:
진행 중인 게임에 신규 플레이어가 합류하도록 허용(친구 또는 "랜덤")
서버가 시작된 후 포기한 플레이어(탈주자)를 교체하여 매치를 재시작하지 않도록 함
관전자들이 토너먼트나 친구 매치를 관전할 수 있도록 허용(이스포츠)
플레이어들을 더 큰 서버에 중앙집중화하여 더 많은 사회적 상호작용을 제공(MMO)
백필(Backfill)은 서버가 소유한 티켓으로 현재 서버에 연결된 플레이어를 나타냅니다. 이는 새로 추가된 플레이어가 현재 플레이어와 매치될 때 귀하의 매치메이킹 규칙을 준수하도록 보장합니다.
심층 분석 Seat/Match 세션을 대체합니다. 매치메이커는 Default 세션만 지원합니다.

백필은 다음을 무시합니다 player_count 규칙이며 항상 정확히 하나의 그룹과 매치합니다. backfill_group_size 라운드로빈 전략으로 팀 수용인원을 제어하여 팀을 균등하게 채웁니다.
성공적인 백필을 완료하는 단계는:
게임 클라이언트는 새로운 심층 분석 다음과 함께:
backfill_group_size배열을 생성하며 값은:"1"플레이어가 단독으로 매칭 중인 경우."2"플레이어가 총 2명의 멤버로 구성된 매치메이킹 그룹의 일부인 경우."new"플레이어가 진행 중인 게임에 합류하는 것 외에 새 게임 시작을 허용한 경우.
게임 클라이언트는 계속하여 심층 분석 를 수행하고 플레이어를 해당 백필과 페어링합니다.
백필된 그룹이 팀을 완전히 채우지 못한 경우, 서버는 새로 백필된 플레이어들의 티켓으로 이 과정을 반복하여 더 많은 플레이어를 추가하고 원하는 팀 크기에 도달할 수 있습니다.
게임 서버 초기화가 끝나면, 서버는:
각 신규 플레이어에 대한 포기 타이머를 시작해야 합니다. 풀 3D 씬, 로비형 소셜 UI, 혹은 진행 바가 있는 로딩 화면 등으로 연결된 플레이어에게 로딩 진행 상황을 표시하는 것을 권장합니다.
시간이 지나며 새 플레이어 연결 또는 기존 플레이어 이탈을 추적하세요:
새 플레이어는 인증 및 연결을 매치메이커에 매핑하기 위해 서버에 티켓 ID를 알리고, 심층 분석 또는
assigned_ticket(백필된 경우)을 전달해야 합니다.서버 수명 동안 사용되지 않은 플레이어 수용량(이탈자)에 대해 새로운 백필을 생성하세요.
만료된 백필을 갱신하세요. 백필은 다음 이후 삭제됩니다
ticket_expiration_period.
남은 백필은 정리(삭제)하세요 다음 시점에 배포:
Unity -
OnApplicationQuit콜백 또는 커스텀 게임 종료 콜백,Unreal Engine -
OnWorldDestroyed,PreExit또는 커스텀 게임 종료 콜백.
유효한 서버 할당과 최소 하나의 티켓이 제공된다면 어떤 프로필이든 백필에 사용할 수 있습니다. 최소 예시는 매치메이킹 를 참조하세요.
⚙️ 설정(Configuration)
모든 매치메이커는 JSON 설정을 기반으로 하며, 재시작 시 자동으로 검증됩니다.
자세한 SDK와 예제 시나리오는 매치메이킹 를 참조하세요.
실행 중인 매치메이커를 편집하면 빠른 리로드가 트리거되어모든 티켓이 삭제되고 짧은 다운타임이 발생합니다.
프로필(대기열)
프로필은 동일한 매치메이커 버전을 공유하지만 완전히 분리된 매치메이킹 대기열을 나타냅니다. 각 매치메이커에 대해 원하는 수의 프로필을 설정할 수 있습니다. 플레이어 기반을 여러 프로필로 분할하면 플레이어의 대기열 시간이 길어질 수 있습니다.
각 매치메이커 프로필은 앱 버전 을(를) 템플릿으로 사용하여 새로운 배포(서버)를 시작합니다.
일부 게임 모드는 더 많은 vCPU / RAM이 필요할 수 있으며, 특히 더 많은 플레이어 수를 지원하는 경우 그렇습니다. 각 매치메이커에는 여러 프로필이 포함될 수 있으며각 프로필은 리소스가 조정된 앱 버전에 연결됩니다.
규칙
모든 플레이어와 그룹은 다음을 사용하여 매치메이킹 대기열에 참가하고 매치를 찾습니다 초기 규칙을 우선 적용합니다.
프로필의 다음 경로의 각 항목 .rules.initial 은(는) 규칙을 나타내며, 여기서:
key 는 규칙의 이름을 자유롭게 지정하는 문자열 값입니다. 예:
match_size, 그리고value 는 표준 규칙 세트를 준수하는 규칙의 유형과 속성을 정의하는 객체입니다.
연산자(규칙 유형)
player_count 는 할당을 시작하기 위해 필요한 플레이어 수를 정의하는 특수 규칙입니다.
규칙 player_count 은(는) 필수이며 초기 구성 규칙에서 단 한 번만 정의할 수 있습니다 초기 구성 규칙에서.
매치메이커는 지정된 max_team_size :
까지 매치 충원률을 극대화하려고 노력합니다. 최대 팀 크기에 도달하면 즉시 매치를 성사시키고,
그렇지 않으면 플레이어는 대기열에서 매치를 채울 때까지 기다리며, expansion (또는 만료)이 임박하면,
바로 전에 확장 (또는 만료) 시, 부분 매치가 가능(≥ 최소 그리고 < 최대 팀 크기)하다면, 같은 확장 단계의 모든 플레이어로 매치를 성사시킵니다(다른 규칙 통과 가정).
협동, 전원 자유 난전(FFA), 또는 비대칭 팀 크기 게임 모드의 경우, "team_count": 1 .
을(를) 설정하세요. 경쟁 게임을 위해 여러 균형 잡힌 팀을 구성하도록 팀 수를 설정할 수 있습니다:
그룹 속성은 평균/겹침 을(를) 기준으로 그룹의 플레이어 속성에서 계산되며,
팀 속성은 평균/겹침 을(를) 기준으로 팀의 그룹 속성에서 계산됩니다.
고정 팀 크기가 4명인 경우를 가정:

string_equality 는 동일한 문자열 값을 가진 플레이어를 매칭합니다.
number_difference 는 서로 간의 절대 수치 차이 범위 내 플레이어를 매칭합니다.
지연 시간 플레이어 매치의 핑을 최적화하는 특수 규칙입니다:
임계값보다 높은 지역을 제거하여 클라이언트-서버 지연 시간을 줄입니다,
유사한 지연 시간을 가진 플레이어들끼리 그룹화하여 매치의 공정성을 향상시킵니다 (차이 이하).
규칙 지연 시간 입니다 선택사항이며 초기 구성에서 한 번만 정의할 수 있습니다 규칙들.
모든 비콘으로의 핑이 높은 일부 플레이어는 다음으로 인해 인터넷 서비스 제공업체(ISP) 문제나 느린 연결(예: 무선/모바일)로 인해 지연이 발생하고 다른 사람들의 게임 경험이 저하될 수 있습니다. 이 문제를 완화하려면:
허용되는 최대 지연 및 차이를 점진적으로 확장하세요(참조 고급 예시 구성),
핑이 높은 플레이어는 매치를 찾는 데 평소보다 더 오래 기다려야 할 수 있습니다.
또는 플레이어가 수동으로 지역을 선택하여 측정을 무시하도록 허용하고, 플레이어가 선택한 지역에 대해서만 가짜 핑 값을 전송할 수 있습니다(예: 빠른 매치는 25ms),
이는 해당 플레이어의 팀원과 상대방의 플레이어 경험에 부정적인 영향을 미칠 수 있습니다.
참고 매치메이킹 에서 당사 SDK를 사용한 자동 핑 측정.
비콘은 실시간으로 자동 재조정되어 기존 비콘을 추가/삭제/교체합니다. 귀하의 클라이언트와 백엔드는 이를 고려해야 하며 매치메이킹 라운드마다 비콘 목록을 다시 불러오십시오.
intersection 은 하나 이상의 겹치는 문자열 값을 가진 플레이어를 대소문자 구분으로 매칭합니다.
규칙 확장
선택적으로, 확장(Expansions) 은 대기열에서 일정 시간이 경과한 후 규칙의 속성을 수정해 제한을 완화하고 매칭 가능한 플레이어 풀을 확대하여, 더 빠른 매치를 달성합니다.
📌 주입 변수
서버는 플레이어에 대한 세부 정보를 알아야 할 수 있습니다. 플레이어 속성, 해결된 매치 값 및 기타 값은 일반적인 앱 및 버전.
서식 미적용 미리보기 🏁 고급 예시 변수:
서버는 플레이어가 티켓 ID를 서버로 전송한 이후 플레이어 연결을 그룹 및 속성에 매핑할 수 있습니다.
🧵 플레이어 추적
플레이어에게 문제가 발생하면 서버 로그까지의 경로를 추적하는 데 도움이 됩니다. 각 매치메이커 배포 에는 할당된 플레이어 티켓 ID가 태그로 지정되어 쉽게 배포 하고 찾을 수 있어 배포 문제 해결에 도움이 됩니다.
클라이언트 매치 기록 UI에 티켓 ID와 배포 ID를 표시하여 문제 해결 시 플레이어를 추적하세요.
👀 분석
코드나 설정 없이 매치메이커의 부하와 성능에 대한 인사이트를 얻으세요.
🌟 매치메이커를 엔터프라이즈 티어로 업그레이드 하여 매치메이킹 지표와 인사이트를 잠금 해제하세요:


☁️ 호스팅 클러스터
매치메이커는 Edgegap이 24/7 상시로 편리하게 호스팅 및 관리합니다.
목표에 가장 적합한 호스팅 옵션을 선택하세요:
무료 클러스터(공유) 모든 기능을 테스트하고 디자인과의 시너지를 탐색하려면,
3시간 후 자동으로 종료되며 계속 테스트하려면 재시작이 필요합니다.
프라이빗 클러스터 (전용) 프로덕션 요구에 안정적인 환경을 보장하려면,
지역을 선택하고 라이브 게임에 대해 24/7 지원을 받아 안심하고 출시하세요.
프라이빗 클러스터 티어
현재 저희는 3가지 사설 클러스터 등급을 모든 사람의 요구를 충족시키기 위해 제공하고 있습니다:
적합한 사례
열정 있는 사용자, 개인 개발자
상업적 출시
고트래픽 출시
리소스
1 vCPU + 2GB RAM
6 vCPU + 12GB RAM
18 vCPU + 48GB RAM
중복성
1x 가상 노드
3x 가상 노드
3x 가상 노드
요청 한도 (req/s)
200
750
2,000
가격(시간당)
$0.0312
$0.146
$0.548
가격(30일) (연속 사용)
$22.464
$105.12
$394.56
원클릭으로 프라이빗 클러스터로 업그레이드하세요. 출시 후에도 플레이어 다운타임 없이 프라이빗 클러스터 티어 변경이 가능하며, 이는 ⏩ 롤링 업데이트로 가능합니다. 관리형 클러스터는 Edgegap이 유지 관리하는 고가용성 서비스 호스팅을 제공하며 공개 출시된 게임에 24/7 라이브 지원을 제공합니다.
인스턴스의 리소스 요구사항은 다음 요인에 따라 달라집니다:
플레이어 수 - 플레이어가 많을수록 티켓과 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와 메모리를 사용하므로 각 프라이빗 매치메이커마다 호스팅 비용이 필요합니다. 각 티어에 해당하는 리소스와 가격은 요금제 페이지에서 확인하세요.
항상 사용하세요 프라이빗 클러스터 로 스트레스 테스트를 수행하세요. 무료 매치메이커는 개발 테스트 용도로만 엄격히 제한됩니다.
부하 테스트를 설계할 때, 현실적인 플레이어 패턴을 고려해주세요:
✅ 플레이어는 몇 시간에 걸쳐 점진적으로 매치메이킹에 참여하여 초당 요청 수가 증가합니다.
❌ 모든 플레이어가 정확히 같은 초에 티켓을 만들도록 조율합니다.
✅ 플레이어는 재시도 사이에 대기 시간을 점차 늘립니다(예: 1초-5초-10초-10초).
❌ 모든 플레이어가 다음을 받자마자 즉시 재시도합니다 429 요청이 너무 많음 응답.
✅ 대부분의 플레이어는 짧은 시간(10~60초) 내에 할당을 받고 폴링을 중단합니다.
❌ 모든 플레이어가 할당을 받은 후에도 설정된 시간 동안 계속 폴링합니다.
✅ 대부분의 플레이어는 게임을 끝낸 후(시간 소요) 다시 매치메이킹을 시작합니다.
❌ 모든 플레이어가 할당을 받자마자 즉시 다시 매치메이킹을 시작합니다.
✅ 피크 트래픽은 하루 6~8시간 유지되며, 이후 일부 시간대는 트래픽이 감소합니다.
❌ 피크 트래픽이 하루 24시간 지속되어 모든 플레이어가 밤낮으로 플레이합니다.
매치메이커에 높은 부하가 발생하는 경우:
CPU가 스로틀링되면 매치메이킹 속도가 느려질 수 있습니다,
매치메이커의 메모리가 부족하면 티켓 정보를 잃지 않고 재시작되며, 클라이언트가 지수적 백오프를 구현하여 버스트가 더 긴 시간에 걸쳐 분산되기를 기대합니다.
⏩ 롤링 업데이트
서버와 클라이언트 버전 간 호환성을 추적하는 일은 복잡해질 수 있습니다. 신뢰할 수 있는 릴리스, 업데이트, 다운타임 또는 호환성 문제 방지를 위한 팁을 따르세요.
매치메이커 URL과 인증 토큰은 재시작 후에도 항상 동일하게 유지됩니다.
개발 및 프로덕션용 매치메이커를 분리하여 생성하세요 안전하게 실험할 수 있도록 환경을 구분하세요.
⚠️ 라이브 전 확인 사항
미리 여러 개의 매치메이커 복제본을 만들어 두는 것을 권장합니다: 그린, 블루 및 오렌지. 업데이트를 출시할 때 사용 중인 매치메이커를 회전시킬 수 있습니다 (블루/그린 전략).
각 인스턴스에 서로 다른 리전을 선택하여 다운타임을 방지하세요 지역적 장애 동안.

🔃 클라이언트 + 서버 업데이트
사전 요구 사항: 이 섹션은 다음을 완료했다고 가정합니다 심층 분석.
다음을 위해 게임 클라이언트 + 서버 업데이트를 릴리스하기 위해, 다음을 수행할 수 있습니다:
새 서버 앱 버전 준비
v1.2.0-rcEdgegap에서:컨테이너 레지스트리에 새 이미지 태그 푸시
t1.2.0,새 앱 버전 생성
v1.2.0-rc,
다음으로 어떤 개발 테스트든 수행: 새 앱 버전을 배포하고
v1.2.0-rc:게임 엔진의 에디터를 제공된 URL + 외부 포트에 연결,
미사용 매치메이커 업데이트
블루새 이미지 태그로 연결t1.2.0,새 앱 버전에 대한 캐싱 활성화
v1.2.0-rc, 이 버전에 대한 캐시를 활성화하면 해당 이미지는 버전v-blue에서도 동일한 태그를 참조하므로 캐시됩니다,버전에서 캐싱 지표가
v1.2.0-rc에 도달할 때까지 대기 🟢 그린,
새 게임 클라이언트 업데이트
c2가 새 버전을 사용하도록v-blue티켓을 생성할 때:게임 클라이언트의 기본 URL과 Authorization 토큰 업데이트,
새 게임 클라이언트에 대한 QA 테스트 및 최종 검증 수행
c2:문제를 발견하고 해결한 경우, 처음부터 과정을 반복,
매치메이커가 중지된 후(빠른 재시작은 DNS 업데이트나 대기 기간 불필요) 전 세계 ISP에 매치메이커 DNS 변경 사항이 전파되도록 3~7일 대기,
새 게임 클라이언트 업데이트를 릴리스
c2게임 배포 플랫폼에서,새 게임 클라이언트가
c2플레이어 기기로 배포될 시간을 허용하세요(일반적으로 최대 3~7일):구버전 게임 클라이언트 모니터링
c1배포를 사용하여 배포,
Edgegap 계정에서 사용하지 않는 리소스 정리:
이미지 태그 삭제
t1.0.0로 컨테이너 레지스트리 용량 확보,이미지 태그 삭제
t1.1.0로 컨테이너 레지스트리 용량 확보,다음 항목을 끄세요
그린매치메이커를 꺼서 다음 업데이트까지 요금 청구를 일시 중지합니다.
다음 업데이트의 경우, 버전 번호를 올리고 가이드의 그린 및 블루 키워드를 교체하세요.
⚡ 서버 핫픽스
사전 요구 사항: 이 섹션은 다음을 완료했다고 가정합니다 심층 분석.
다음을 위해 게임 클라이언트 업데이트 없이 서버 패치를 릴리스하려면 위해, 다음을 수행할 수 있습니다:
새 서버 앱 버전 준비
v1.2.0-rcEdgegap에서:컨테이너 레지스트리에 새 이미지 태그 푸시
t1.2.0,새 앱 버전 생성
v1.2.0-rc,
다음으로 테스트 및 검증 수행 새 앱 버전을 배포하고
v1.2.0-rc:게임 엔진의 에디터를 제공된 URL + 외부 포트에 연결,
문제를 발견하고 해결한 경우, 처음부터 과정을 반복,
새 앱 버전에 대한 캐싱 활성화
v1.2.0-rc, 이 버전에 대한 캐시를 활성화하면 해당 이미지는 버전v-green나중에 동일한 태그를 참조하게 될 것이므로,버전에서 캐싱 지표가
v1.2.0-rc에 도달할 때까지 대기 🟢 그린,
버전 업데이트
v-green새 이미지 태그로 연결t1.2.0,새 매치는 업데이트된 태그로 자동으로 할당을 시작합니다
t1.2.0,구버전 게임 클라이언트 모니터링
c1배포를 사용하여 배포,
Edgegap 계정에서 사용하지 않는 리소스 정리:
이미지 태그 삭제
t1.1.0로 컨테이너 레지스트리 용량을 확보합니다.
📗 API
클라이언트와 서버는 API를 직접 호출하거나 게임 엔진 SDK로 호출할 수 있습니다. 또한 다음을 참조하세요 매치메이킹.
Swagger 웹 UI: 서비스를 배포하면 OpenAPI 사양과 편리한 웹 UI가 생성됩니다. 브라우저에서 URL을 열어 모든 API 엔드포인트를 보고 테스트하며 페이로드 예제를 검토하세요.
API 명세를 가져오기 Scalar API 웹 클라이언트 또는 Swagger 에디터 세부 정보를 확인하려면.
서버 간 통신
매치메이킹 흐름에 대한 향상되거나 맞춤화된 제어를 추가하세요 - 다음을 사용하여 사용자 지정 프록시를 구현하세요 관리형 클러스터 또는 임의의 클라우드 FaaS 컴퓨팅 플랫폼으로, 다음을 달성하기 위해:
치터 플래그, 실력 등급 등과 같은 민감한 플레이어 속성 첨부,
게임 내 팀과 매치 컨텍스트 제공 - 로딩 중 내 팀원과 상대 목록 표시,
특정 엣지 케이스 제한 - 예: 한 번에 플레이어당 1개의 그룹만 허용,
캐싱 또는 API 속도 제한 추가 - 요청 수와 매치메이커 부하 감소,
로비-그룹 통합 사용자화 - 매치메이킹 전 비대칭/역할 기반 로비 생성.
파라미터 포함 player_ip 로 멤버의 공인 IP 주소를 전달 하여 가능한 최저의 플레이어 지연 시간을 보장하고 다음을 활용하세요 배포.

교차 출처 리소스 공유(CORS)
서드파티 배포 플랫폼(예: itch.io)에 호스팅된 webGL 게임의 경우, 게임 클라이언트에서 매치메이커로 요청을 보내면 교차 출처 리소스 공유 정책 위반이 발생할 수 있습니다. 대부분의 최신 웹 브라우저는 프리플라이트 요청 을 보내 백엔드 서비스(매치메이커)가 게임 클라이언트의 통신을 이해하고 허용하는지 확인합니다.
프리플라이트 검사 실패(보안상의 기본값)는 다음을 초래할 수 있습니다 여러 가지 가능한 CORS 관련 오류 중 하나, 가장 흔한 것은 CORS 헤더 'Access-Control-Allow-Origin' 누락 .
이 오류를 해결하려면 다음을 추가하세요 allowed_cors_origin 파라미터를 구성에 추가하여 다음 중 하나를 수행합니다:
정확한 클라이언트 호스팅 도메인을 화이트리스트에 추가:
또는 와일드카드 도메인(모든 서브도메인 포함)을 화이트리스트에 추가:
🚨 문제 해결
여러분의 성공이 우리의 최우선입니다. 사용자 지정 요청을 보내거나, 누락된 중요 기능을 요청하거나, 어떤 의견이든 표현하고 싶다면, 우리 커뮤니티 디스코드로 문의해 주세요.
🔖 변경 로그
시맨틱 버전 관리
저희 매치메이커는 공식 시맨틱 버전 관리 지침을 사용합니다. 각 구성 JSON은 서비스의 특정 버전에 연결되어 있습니다. 서비스 버전은 구성 및 API에서 사용할 수 있는 규칙과 설정을 결정합니다. 일단 버전이 출시되면 절대 변경되지 않습니다.
구성 파일은 사용 중인 매치메이커 버전에 따라 검증되므로, 규칙이 매치메이커 버전의 기능과 일치하는지 확인하세요.
3.2.1 (2025년 11월 24일)
이는 최신 매치메이커 서비스 버전으로, 프로덕션 사용을 권장합니다.
매치메이커 버전을 업그레이드하려면 - 중지, 편집, 재시작을 수행하세요. 빠른 재시작은 버전 변경을 적용하지 않습니다.
🩹 버그 수정:
경미한 배포 버그 수정, 매치메이커 시작 시 발생하던 여러 오류를 해결했습니다.
3.2.0 (2025년 10월 31일)
🩹 버그 수정:
사양의 소규모 수정과 문서 일관성 업데이트를 다수 적용했습니다.
매치메이커 인프라 전반의 안정성과 자기 복구 기능을 개선했습니다.
✨ 개선 및 신규 기능:
다음 소개 심층 분석 기능 - 이제 그룹 관리는 쉬우며 서드파티가 필요하지 않습니다!
이제 더 이상 그룹 구성원 간에 복잡한 티켓 속성을 공유할 필요가 없고, 그룹 ID만 있으면 됩니다.
모든 플레이어가 준비 완료로 표시하면 그룹으로 매칭을 시작하세요.
합류 시 그룹 리더에 대해 그룹 멤버 속성을 검증하여 매칭 불가 그룹을 방지합니다(그룹 플레이어 속성이 프로파일 규칙에 부합하지 않는 경우).
그룹 크기를 검증하고 최대 팀 크기에 도달하면 새 멤버십을 거부합니다.
새 사용자 흐름으로 업데이트된 문서를 읽어보세요. SDK 업데이트가 곧 제공됩니다!
티켓(멤버십)에 이제 매치 ID가 포함됩니다 - 플레이어를 추적하고 팀/상대 팀의 닉네임, 실력 등급 또는 서드파티에 저장된 기타 속성을 공유하는 UI 요소를 추가하세요.
대규모 심층 분석 내부 스트레스 테스트를 기반으로 한 오버홀, 짧은 버스트 처리 향상.
확장 종료까지 부분 매치 크기를 지연하여 매치 충원율이 개선되었습니다.
최대 팀 크기에 도달하면 즉시 매칭합니다.
그렇지 않으면 최소 팀 크기에 도달한 경우 현재 확장 종료 시 매칭합니다.
프로파일별로 만료 및 제거 기간을 설정하여 최적의 플레이어 경험을 제공합니다.
구성을 업데이트하려면 버전을 올리고 만료 및 제거 필드를 각 프로파일에 복사하세요.
3.1.0 (2025년 6월 10일)
🩹 버그 수정:
이제 서로 다른 규칙을 포함하는 여러 프로파일의 티켓을 올바르게 검증합니다.
✨ 개선 및 신규 기능:
다음과 함께 매치 충원율을 극대화하기 위한 추가 최적화 player_count 규칙을 적용했습니다. 부분 매치만 가능한 경우(최소 초과, 최대 미만) 티켓은 확장 종료(또는 만료)까지 대기합니다.
완전한 매치(최대 팀 크기 도달)는 즉시 이루어집니다(변경 없음).
개선된 규칙 문서로 더 나은 예시와 시각 자료를 제공합니다.
3.0.0 (2025년 5월 20일)
⚠️ 호환성 파괴 변경:
다음을 사용하여 팀을 효율적으로 채우기 위한 최소/최대 팀 크기 (플레이어 수 확장을 대체):
구성의
player_count규칙에서,team_size를min_team_size및max_team_size로 교체하여 매치 충원율 극대화를 시도하는 "최선의 노력" 매칭을 달성,팀당 특정 인원수를 요구하려면 최소와 최대를 동일한 값으로 설정,
백필은
player_count규칙을 우회하며 항상 1개의 티켓으로 매칭(변경 없음).
모든 지연 시간이 가장 높은
max_latency를 초과하는 티켓, 그룹 티켓, 백필은 만료 대신 즉시 다음과 함께 거부됩니다400 잘못된 요청티켓 생성 요청에 대한 응답으로:다음의 경우에만 적용됩니다 지연 시간 규칙 이 구성된 경우,
이 동작을 우회하려면 다음으로 확장을 생성하세요
max_latency: 99999(클라이언트 지연 측정 타임아웃보다 큰 아무 값이나).
주입되는 환경 변수는 티켓 데이터를 포함하며 이제 필드
id(티켓 ID)를 포함하므로 다음을 생성할 때 더 쉽게 재사용할 수 있습니다 심층 분석.
🩹 버그 수정:
심층 분석 이제 구성된 삭제 및 만료 기간을 사용합니다(티켓 및 그룹 티켓과 동일).
수정: openAPI 사양 POST 심층 분석 요청(요구:
public_ip) 및 GET /tickets 응답(team_id은 선택 사항)과 예시 포함.
✨ 개선 및 신규 기능:
이제 최대 3배 더 많은 잠재적 매치를 고려하여 더 최적의 그룹을 생성하고 매치 충원율을 극대화합니다.
동시성 최적화로 매칭 속도가 최대 200% 빨라졌습니다.
확장 알고리즘 최적화로 매치 충원율이 최대 40% 증가했습니다.
서비스 안정성이 향상되고 빠른 재시작 속도가 증가했습니다.
2.1.0 (2025년 2월 24일)
⚠️ 호환성 파괴 변경:
다음에서 게임 프로파일과 확장 단계 정보를 분리했습니다 심층 분석:
MM_MATCH_PROFILE은 이제 구성에 나타나는 대로 프로파일 이름만 포함합니다.다음 도입
MM_EXPANSION_STAGE로, 확장 단계를 문자열(예: "initial", "15", "30")로 포함합니다.
심층 분석 요청 본문 파라미터
attributes.deployment_request_id가 다음으로 이동했습니다attributes.assignment.request_id.심층 분석 요청 본문은 이제의 일부로 전체 할당 세부 정보를 요구합니다
attributes파라미터에, 추가로request_id.
🩹 버그 수정:
해결된 교집합 규칙 값은 이제 심층 분석 에서
MM_INTERSECTION환경 변수로 제공됩니다.빠른 재시작 기능이 이제 구성 변경 시 API 엔드포인트와 openAPI 사양을 안정적으로 재생성합니다.
매치메이커 (재)시작 중 시작 시간이 길어지거나 매치메이커가 멈추게 하던 여러 버그를 수정했습니다.
✨ 개선 및 신규 기능:
모든 매치메이커 티어 전반에 걸쳐 모든 API 엔드포인트의 속도 제한과 확장성을 높였습니다.
웹 UI에서 포스트맨 없이 직접 API를 테스트할 수 있도록 스웨거 UI 인증 기능을 추가했습니다.
현실적인 요청과 응답을 더 가깝게 반영하도록 openAPI 예시를 개선했습니다.
새로운 심층 분석 를 추가했으며, 개발 및 디버깅 목적을 위한 것입니다.
현재 플레이어 티켓을 페이지네이션 목록으로 나열할 수 있습니다.
현재 매치를 페이지네이션 목록으로 나열할 수 있습니다.
1.0.0 (2024년 12월 9일)
심층 분석: (많은) 요청에 따라, 플레이어가 세션을 떠날 때 서버 좌석을 재사용할 수 있도록 자동 티켓 할당이 포함된 백필을 추가합니다.
매치가 시작된 후 빈 플레이어 좌석을 채우거나, 매치 중에 떠난 플레이어를 교체하는 데 이상적입니다.
심층 분석: 여러 팀을 플레이어로 채우는 기존 기능에 더해 그룹으로 참가하는 기능을 추가합니다.
친구들과 그룹으로 매치메이킹 대기열에 참여하거나 공통 로비에서 합류할 때 이상적입니다.
다음에서 버그를 수정했습니다 심층 분석 가 올바르게 적용되지 않던 문제.
이제 다음 이후 티켓이 자동으로 취소됩니다 심층 분석 배포에 할당되지 않은 경우.
이제 다음을 수행할 수 있습니다 심층 분석 로 매치메이킹 프로세스의 흐름을 향상시킬 수 있습니다.
매치메이커가 수행한 배포에는 이제 티켓 ID가 태그로 지정됩니다.
매치메이커가 실행 중일 때도 구성을 편집할 수 있습니다. 이는 매치메이커의 완전한 온/오프 사이클 없이 구성의 빠른 리로드를 트리거합니다. 참고: 이 기능은 현재 티켓을 모두 삭제하고 일시적으로 API가 응답하지 않게 만들기 때문에 프로덕션 환경에서는 권장되지 않습니다.
수정: 심층 분석 올바른 프리미티브 타입을 배열 대신 사용하도록
수정: 심층 분석 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.
Last updated
Was this helpful?



