For the complete documentation index, see llms.txt. This page is also available as Markdown.

심층 살펴보기

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

✔️ 소개

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

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

무료 티어는 각 재시작 후 3시간의 실행 시간을 허용합니다. 매치메이커는 제한된 리소스의 공유 인프라에서 실행되며, 테스트에 적합합니다. 공개 출시 후에는 매치메이커가 24/7 실행되어야 합니다.

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

  • 심층 살펴보기 - Edgegap이 완전히 관리하고 운영하는 기본 서버 인프라.

  • 심층 살펴보기 - 매치메이커의 작동 방식을 정의하는 규칙과 설정의 집합.

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

▶️ 매치메이킹 시작

빠르게 시작하세요 - 게임에 SDK 스타터 샘플을 추가하세요:

매치메이킹 프로세스를 학습해 게임 통합을 사용자 지정, 문제 해결, 최적화하세요:

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

  2. 로비 생성 - 친구와 함께 참여하고 플레이어/매치 선호 사항을 공유합니다,

  3. 그룹 구성 - 로비를 매치메이킹 그룹으로 등록합니다,

  4. 매치 찾기 - 준비를 마치고 매치를 찾기 시작합니다(신규 또는 기존),

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

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

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

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

인증

개별 플레이어는 클라이언트와 서버에서 사용할 수 있는 티켓 ID로 식별할 수 있습니다. 필요하다면 다음을 사용해 사용자 지정 프록시로 사용자 지정 인증 또는 제한을 추가하세요 서버 간 API.

그룹 구성

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

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

로비 및 그룹

게임 설계상 플레이어가 제어하는 매치메이킹 선호 사항(예: 캐릭터 선택, 난이도, 맵 등)을 설정해야 한다면 로비 서비스를 사용하세요. 플레이어가 로비에 참여하고 나가면서, 나중에 매치를 찾을 준비를 하도록 매치메이킹 그룹도 업데이트합니다.

게임 설계 - 기능 / 요구 사항
매치 전 로비
매치메이커 그룹

친구를 초대해 함께 플레이

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

다른 로비 멤버의 선호 사항 보기

사용자 지정 키-값 데이터 저장 및 관리

내가 플레이 준비가 되었음을 그룹 멤버에게 알림

매치메이킹 진행 상황 표시 및 매치 찾기

플레이어/그룹의 팀 배정 가져오기

게임 서버 연결 세부 정보 가져오기

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

로비 서비스(타사)
Unreal Engine
Unity
PC
콘솔
VR/XR
모바일

Steamworks 로비 (Valve Corporation)

Nakama 그룹 (Heroic Labs)

Playfab 로비 (Microsoft)

사용자 지정 로비 (귀사)

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

그룹 ID를 공유 로비 데이터에 저장하세요, 그러면 다른 로비 멤버가 타사 로비와 연결된 매치메이킹 그룹을 쉽게 찾고 참여할 수 있습니다. 그룹에 초대된 플레이어는 그룹 ID를 사용하여 멤버십을 생성(참여)하고, 그리고 안전하게 저장하기 위해 매치메이킹 속성을.

핑 최적화

만약 심층 살펴보기 포함한다면 지연 시간 규칙 모든 그룹 멤버가 Ping Beacons 측정값을 먼 지역의 플레이어가 서로 매칭되는 것을 방지하기 위해 또는 훨씬 더 높거나 낮은 핑(지연 시간).

큐 이탈

그룹 소유자는 그룹을 삭제할 수 있으며, 그러면 모든 그룹 멤버십이 자동으로 삭제됩니다. 매치메이킹이 시작된 후 그룹을 삭제하면 모든 멤버십이 취소되고, 잠시 후 삭제됩니다.

소유자 외의 그룹 멤버는 언제든지 심층 살펴보기. 이후에 멤버십을 삭제하면 전체 그룹의 매치메이킹이 취소됩니다.

매치메이킹이 취소되면, 멤버들은 매치메이킹에서 자동으로 제거되고 멤버십 status:CANCELLED 의 다음 상태 폴링 응답에서 알림을 받습니다.

취소된 후 그룹이 매치메이킹을 다시 시작하려면, 그룹 소유자가 그룹을 다시 생성하고 새 그룹 ID를 멤버에게 공유한 다음, 멤버들이 멤버십을 다시 생성해야 합니다.

매치가 찾아지면 그룹은 삭제할 수 없습니다 (409 Conflict), 그리고 자동으로 제거됩니다. 서버는 플레이어가 연결할 수 있도록 어느 정도 시간(예: 60초)을 허용한 뒤 플레이어 이탈로 간주해야 합니다.

서버가 플레이어를 이탈로 표시하면, 다음을 할 수 있습니다:

  • 이탈한 플레이어를 AI 캐릭터로 교체하여 즉시 매치를 시작하거나,

  • 또는 백필 을 생성하여 이탈한 플레이어를 대체할 새 플레이어를 찾거나,

  • 혹은 게임 설계상 가변 플레이어 수를 허용한다면 이탈한 플레이어를 대체하지 않고 진행할 수 있습니다.

매치 찾기

매치를 찾기 시작하려면 모든 멤버와 소유자가 자신을 준비 완료로 표시해야 합니다.

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

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

플레이어는 멤버십과 그룹 ID를 영구적으로 저장해야 합니다, 이를 통해 게임 클라이언트 충돌 시에도 게임을 재시작하고 매치메이킹 진행 상황을 잃지 않고 재개할 수 있습니다.

충분한 플레이어를 찾아 귀하의 규칙, 플레이어는 멤버십 응답에서 다음과 같이 알림을 받습니다 status:TEAM_FOUND.

이 단계에서 멤버십을 삭제하면 모든 그룹 멤버십이 취소되고, 같은 팀에 배정된 다른 모든 그룹은 status:SEARCHING .

팀은 그룹 간 겹치는 값(또는 다음의 경우 평균)을 사용해 다른 팀과 계속 매치메이킹합니다 수치 차이 ) 충분한 팀이 구성될 때까지. 멤버십은 응답 status:MATCH_FOUND , 이는 귀하의 배포가 시작되고 있음을 의미합니다.

매치메이커는 매치 충원율을 최대화하는 것을 목표로 하며, 다음 전에는 MATCH_FOUND 로 진행하지 않습니다. 다음 중 하나가 될 때까지:

  1. 구성된 최대 팀 크기로 충분한 팀이 매칭되었거나,

  2. 또는 심층 살펴보기 정의되었고 확장 시간이 도달했으며, 구성된 최소 팀 크기로 충분한 팀이 매칭되었거나,

  3. 또는 구성된 티켓 만료 시간이 경과했고 구성된 최소 팀 크기로 충분한 팀이 매칭되었을 때.

구성된 티켓 만료 전에 두 시나리오 중 어느 것도 성공하지 못하면, 그룹과 티켓은 취소됩니다.

테스트 중 또는 인기가 낮은 지역의 플레이어로 인해 대기열 시간이 길어지나요? 더 짧은 티켓 만료 기간(예: 30초)을 설정하고 만료 시 클라이언트 측에서 그룹(또는 티켓)을 다시 생성하세요.

티켓 만료는 그룹(또는 플레이어)이 팀에 매칭될 때마다 자동으로 재설정됩니다.

모든 플레이어는 고유한 티켓 ID를 받으며, 이를 사용해 심층 살펴보기 게임 서버와 연결할 수 있습니다.

플레이어가 매칭되어 게임 서버에 할당되면 해당 티켓은 자동으로 삭제됩니다. 이후 큐를 이탈한 플레이어는 status:HOST_ASSIGNED 로 대체될 수 있습니다 백필.

플레이어가 status:HOST_ASSIGNED 을 받으면, 다음으로 진행합니다 심층 살펴보기.

서버에 연결

백필 매치

게임 서버 초기화가 완료되면, 서버는:

  • 각 새 플레이어에 대해 이탈 타이머를 시작해야 합니다. 연결된 플레이어에게 로딩 장면/레벨로 로딩 진행 상황을 표시하는 것을 권장합니다. 완전한 3D 장면, 로비와 유사한 소셜 UI, 또는 진행 바가 있는 로딩 화면 중 하나를 사용할 수 있습니다.

  • 시간 경과에 따른 새 플레이어 연결 또는 기존 플레이어 이탈을 추적하세요:

    1. 새 플레이어는 인증 및 연결을 매치메이커에 매핑하기 위해 서버에 티켓 ID를 알려야 합니다 심층 살펴보기 또는 assigned_ticket (백필된 경우).

    2. 서버 수명 기간 동안 사용되지 않은 플레이어 용량(이탈자)에 대해 새 백필을 생성하세요.

    3. 만료된 백필을 갱신하세요. 이는 다음 후 삭제됩니다 ticket_expiration_period.

  • 남은 백필을 정리(삭제)하세요 일단 배포:

유효한 서버 할당과 최소 하나의 티켓이 제공되는 한 어떤 프로필이든 백필에 사용할 수 있습니다. 다음을 참조하세요 매치메이킹 최소 예시를 위해.

⚙️ 구성

매치메이커 API는 새 매치메이커(또는 빠른 재시작)를 생성할 때 지정한 JSON 구성에서 생성됩니다. 다양한 규칙과 확장을 가진 임의의 수의 프로필을 지정할 수 있습니다:

프로필(큐)

프로필은 동일한 매치메이커 버전을 공유하면서 완전히 분리된 매치메이킹 큐를 나타냅니다. 각 매치메이커에 대해 임의의 수의 프로필을 구성할 수 있습니다. 플레이어 기반을 여러 프로필로 분할하면 플레이어의 큐 대기 시간이 길어질 수 있습니다.

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

규칙

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

경로 .rules.initial 의 각 항목은 하나의 규칙을 나타내며, 여기서:

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

  • value 는 규칙의 유형과 속성을 정의하는 객체이며, 우리의 표준 규칙 세트를 따릅니다.

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

연산자(규칙 유형)

플레이어 수 는 할당을 시작하기 위해 몇 명의 플레이어가 매칭되어야 하는지 정의하는 특수 규칙입니다.

매치메이커는 항상 지정된 max_team_size :

  1. 까지 매치 충원율을 최대화하려고 하며, 최대 팀 크기에 도달하면 매치는 즉시 만들어집니다,

  2. 그렇지 않으면 플레이어는 확장 (또는 만료)가 임박할 때까지 매치를 채우기 위해 큐에서 기다립니다,

팀 수는 경쟁 게임을 위한 여러 개의 균형 잡힌 팀을 구성하도록 설정할 수 있습니다:

  • 그룹 속성은 평균/중첩으로 계산됩니다 그룹의 플레이어 속성의

  • 팀 속성은 평균/중첩으로 계산됩니다 팀의 그룹 속성의.

고정된 4인 팀 크기를 가정하면:

예시 매치 시나리오

그룹은 과충원 없이 팀으로 매칭되며, 팀이 전체 그룹을 수용할 충분한 용량이 있는 경우에만 그렇습니다.

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

규칙 예시: selected_game_mode

selected_game_mode 규칙은 대소문자를 구분하여 플레이어를 매칭합니다:

Alice + Bob + Dave는 매칭될 수 있고,

Alice + Erin, 또는 Charlie + Frank는 절대 매칭되지 않습니다.

"Free For All"
"Capture The Flag"
"capture the flag"

Alice

Erin

Frank

Bob

Charlie

Dave

수치 차이 서로의 절대 수치 차이 내에 있는 플레이어를 매칭합니다.

규칙 예시: elo_rating

elo_rating 위 규칙에 "max_difference": 50 처음에는:

Alice + Bob는 매칭될 수 있고, 또는 Bob + Charlie는 매칭될 수 있고,

Alice + Bob + Charlie는 절대 매칭되지 않습니다.

교집합 대소문자를 구분하여, 하나 이상의 겹치는 문자열 값을 가진 플레이어를 매칭합니다.

규칙 예시: selected_map

selected_map 위 규칙에 "overlap": 1 는 다음과 매칭됩니다:

Alice + Bob + Charlie는 매칭될 수 있고, 또는 Alice + Bob + Dave는 매칭될 수 있고,

Alice + Bob + Charlie + Dave는 절대 매칭되지 않습니다.

규칙 확장

선택적으로, 확장은 대기열에서 일정 시간 보낸 후 규칙 속성을 수정하여 제한을 완화하고 매칭될 수 있는 플레이어 풀을 확장하며, 더 빠른 매치를 실현합니다.

예시 시나리오: 확장

처음에는 정확히 4명으로 구성된 1개 팀이 필요합니다(그룹으로 분할될 수 있음) 다음 조건으로:

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

  • 동일한 비콘에서 최저/최고 값 사이의 지연 시간 차이가 125ms 이하,

  • 최저 순위 플레이어와 최고 순위 플레이어 사이의 실력 평점 차이가 50점 이하,

  • 정확히 동일한(대소문자 구분) 선택된 게임 모드,

  • 플레이어들 사이에 최소 하나의 일치하는 맵 선택(대소문자 구분),

  • 최소 하나의 일치하는 백필 그룹 크기 값을 플레이어들 사이에서.

위 예시에서, 우리는 속성을 수정하여 검색 범위를 확장합니다 다음 이후:

30초:

  • 4명 플레이어

  • 150점 실력 평점 범위

  • 최대 250ms 지연 시간

60초:

  • 4명 플레이어

  • 200 스킬 레이팅 범위

  • 최대 250ms 지연

3분(180초):

  • 1~4명 플레이어

  • 200 스킬 레이팅 범위

  • 지연 시간 무관

어떤 규칙의 속성 확장도 이전 값을 덮어씁니다 해당 속성의.

📌 주입된 변수

서버가 플레이어에 대한 세부 정보를 알아야 할 수도 있습니다. 플레이어 속성, 확정된 매치 값 및 기타 값은 일반적인 항목과 함께 배포에 주입됩니다 앱 및 버전.

서식 없는 미리보기 🏁 고급 예시 변수:

환경 변수는 문자열화된 JSON으로 저장됩니다, SDK 또는 사용자 지정 방법을 사용해 파싱하세요.

🧵 플레이어 추적

플레이어에게 문제가 발생하면 서버 로그로 경로를 추적하는 것이 도움이 될 수 있습니다. 각 Matchmaker 배포 는 할당된 플레이어 티켓 ID로 태그됩니다 그래서 쉽게 배포 하고 찾을 수 있습니다 배포 문제 해결에 도움이 되도록.

다음을 참조하세요 배포 배포 문제 해결에 대해 알아보세요.

👀 분석

코드나 설정 없이 매치메이커의 부하와 성능에 대한 인사이트를 얻으세요.

🌟 Matchmaker를 엔터프라이즈 티어로 업그레이드 매치메이킹 메트릭과 인사이트를 활성화하려면:

☁️ 호스팅 클러스터

Matchmaker는 Edgegap이 24시간 365일 편리하게 호스팅하고 관리합니다.

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

개인 클러스터 티어

한 번의 클릭으로 개인 클러스터로 업그레이드하세요. 출시 후에도 플레이어 다운타임 없이 Private Cluster 티어를 변경할 수 있으며, ⏩ 롤링 업데이트. 관리형 클러스터는 공개 출시된 게임을 위해 Edgegap이 유지 관리하는 고가용성 서비스 호스팅과 24/7 실시간 지원을 제공합니다.

인스턴스의 리소스 요구 사항은 다음 요인에 따라 달라집니다:

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

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

  • 설정 복잡도 - 교차 규칙과 확장은 특히 부담이 큽니다,

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

  • 만료 및 제거 기간 - 오래된 티켓은 시간이 지남에 따라 쌓여 리소스를 소모합니다,

  • 클라이언트 재시도 폴백 로직 - 지터가 적용된 백오프로 재시도하면 트래픽 급증 피크를 분산하는 데 도움이 됩니다.

요청 제한

클러스터가 버스트 용량을 초과해 충돌하는 것을 방지하기 위해, 내부 부하 테스트를 기반으로 초당 요청 수를 제한하며 매치메이킹 설정을 사용합니다.

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와 메모리 사용이 필요하므로, 각 개인 Matchmaker마다 호스팅 비용이 발생합니다. 각 티어와 관련된 리소스 및 가격은 요금 페이지에서.

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

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

✅ 플레이어는 점진적으로 매치메이킹에 참여하며, 몇 시간에 걸쳐 req/s가 증가합니다.

❌ 모든 플레이어가 맞춰서 정확히 같은 초에 티켓을 생성합니다.

✅ 플레이어는 재시도 사이에 점점 늘어나는 시간만큼 기다립니다(예: 1초-5초-10초-10초).

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

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

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

✅ 대부분의 플레이어는 매치메이킹을 다시 시작하기 전에 게임을 완료합니다(시간이 걸림).

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

✅ 피크 트래픽은 하루 6~8시간 유지되며, 이후 일부 시간대는 줄어듭니다.

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

Matchmaker가 고부하를 겪고 있다면:

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

  • Matchmaker가 메모리를 다 쓰면 티켓 정보를 잃지 않고 재시작하며, 클라이언트가 지수적 백오프를 구현해 버스트가 더 긴 시간에 걸쳐 분산되길 기대합니다.

⏩ 롤링 업데이트

서버와 클라이언트 버전 간 호환성을 추적하는 것은 복잡해질 수 있습니다. 안정적인 릴리스, 업데이트, 그리고 다운타임이나 호환성 문제 방지를 위한 팁을 따르세요.

Matchmaker URL과 인증 토큰은 재시작 후에도 항상 동일하게 유지됩니다.

⚠️ 실서비스 전

미리 Matchmaker의 여러 복사본을 만들어 둘 것을 권장합니다: 녹색, 파란색주황색. 업데이트를 릴리스할 때 사용 중인 Matchmaker를 교체할 수 있습니다 (블루/그린 전략).

다운타임을 방지하기 위해 각 인스턴스에 서로 다른 리전을 선택하세요 지역 장애 발생 시.

블루/그린 DevOps 환경 예시

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

사전 요구 사항: 이 섹션은 다음을 완료했다고 가정합니다 심층 살펴보기.

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

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

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

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

  2. 다음 방법으로 개발 테스트를 수행합니다 새 앱 버전을 배포하여 v1.2.0-rc:

    1. 게임 엔진의 편집기를 제공된 URL + 외부 포트에 연결하고,

  3. 사용하지 않는 Matchmaker 업데이트 파란색 새 이미지 태그에 연결하기 위해 t1.2.0,

    1. 새 앱 버전에 캐싱 사용 v1.2.0-rc , 이 버전에 캐시를 사용하면 이미지가 버전에도 캐시됩니다 v-blue 같은 태그를 참조하므로,

    2. 버전의 캐싱 표시가 v1.2.0-rc 다음에 도달할 때까지 기다립니다 🟢 녹색,

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

    1. 게임 클라이언트의 기본 URL과 Authorization 토큰을 업데이트하고,

  5. 새 게임 클라이언트에 대해 QA 테스트와 최종 검증을 수행합니다 c2:

    1. 문제를 발견하고 해결하면 처음부터 절차를 반복하고,

    2. Matchmaker가 중지된 후 DNS 변경 사항이 전 세계 ISP에 전파되도록 3~7일 기다립니다(빠른 재시작은 DNS 업데이트나 대기 기간이 필요하지 않습니다),

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

  7. 새 게임 클라이언트가 c2 플레이어 기기에 배포될 시간을 주세요(일반적으로 최대 3~7일):

    1. 오래된 게임 클라이언트를 모니터링 c1 배포를 사용하여 배포,

  8. Edgegap 계정의 사용하지 않는 리소스를 정리하세요:

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

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

    3. 다음을 끄세요: 녹색 다음 업데이트까지 과금이 일시 중지됩니다.

⚡ 서버 핫픽스

사전 요구 사항: 이 섹션은 다음을 완료했다고 가정합니다 심층 살펴보기.

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

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

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

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

  2. 다음 방법으로 테스트와 검증을 수행합니다 새 앱 버전을 배포하여 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 요청 제한을 추가하고 - 요청 수와 Matchmaker 부하를 줄이고,

  • 로비-그룹 통합을 사용자 지정하고 - 매치메이킹 전에 비대칭/역할 기반 로비를 생성합니다.

게임 클라이언트는 다음을 사용할 수 있습니다 ipify.org 공용 IP를 찾는 무료 서비스를 사용할 수 있습니다. VPN은 공용 IP 주소를 가릴 수 있습니다.

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

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

서드파티 배포 플랫폼에 호스팅된 WebGL 게임의 경우(예: itch.io), 게임 클라이언트에서 Matchmaker로 요청을 보내면 다음이 발생할 수 있습니다 교차 출처 리소스 공유 정책 위반. 대부분의 최신 웹 브라우저는 사전 요청 백엔드 서비스(Matchmaker)가 게임 클라이언트의 통신을 이해하고 수락하는지 확인합니다.

사전 확인에 실패하면(보안상 기본값) 다음이 발생할 수 있습니다 여러 가능한 CORS 관련 오류 중 하나, 가장 흔하게는 CORS 헤더 'Access-Control-Allow-Origin' 누락 .

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

  • 정확한 클라이언트 호스팅 도메인을 허용 목록에 추가:

🍀 간단한 예시(특정 도메인 예시)
  • 또는 와일드카드 도메인(모든 하위 도메인 포함)을 허용 목록에 추가:

🍀 간단한 예시(와일드카드 도메인 예시)

Matchmaker 사전 요청에는 자격 증명이 필요하지 않습니다, 도메인이 올바르게 구성되어 있다면.

🚨 문제 해결

여러분의 성공이 우리의 최우선입니다. 사용자 지정 요청을 보내고 싶거나, 누락된 핵심 기능을 요청하거나, 의견을 남기고 싶다면, 커뮤니티 Discord에서 문의해 주세요.

새 Matchmaker를 생성하려고 할 때 왜 오류가 발생하나요?
  • 오류를 읽어보세요. 식별자, 규칙 또는 연산자를 잘못 입력했을 수 있습니다. - 다음을 사용하세요 JSONLint JSON 형식을 검증하세요. 쉼표나 대괄호를 빠뜨렸을 수 있습니다. - 다음을 통해 문의하세요 커뮤니티 Discord 도움을 드리겠습니다. 🙏

왜 Matchmaker가 3시간 후 자동으로 꺼졌나요?
  • 무료 티어의 Matchmaker는 초기 테스트용이며 3시간 후 자동으로 꺼집니다. 테스트를 계속하려면 Matchmaker를 재시작하세요.

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

내 계정에서 두 번째 배포를 시작할 수 없는 이유는 무엇인가요?
  • 무료 티어에서는 동시 배포를 1개만 실행할 수 있습니다.

  • 무제한 배포를 원하시면 유료 티어로 업그레이드하는 것을 고려하세요.

왜 할당/배포가 무시되고 임의의 시간에 발생하나요 플레이어 수?
  • 귀하 또는 다른 팀원이 이전 테스트 세션 중에 할당되지 않은 티켓을 생성했을 수 있습니다. 부디 Matchmaker를 재시작하세요.

내 티켓이 다음 상태에 멈춰 있습니다 SEARCHING .
  • 설정에 맞게 충분한 일치 티켓을 생성했는지 확인하세요.

내 티켓이 다음 상태 사이를 계속 오갑니다 MATCH_FOUNDTEAM_FOUND 반복적으로.
  • 무료 티어 계정은 한 번에 1개 배포로 제한됩니다.

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

내 티켓이 바로 다음으로 갑니다 CANCELLED.
  • 티켓이 만료되었습니다. 새 티켓을 생성하거나 테스트를 위해 설정에서 만료 기간을 늘리세요.

다음이 표시됩니다 HTTP 404 찾을 수 없음 티켓을 확인할 때.
  • 티켓은 DELETE 요청으로 삭제되었거나, 제거 기간에 도달해 삭제되었을 수 있습니다(티켓 만료 후 시작되며, 설정에서 정의됨). 테스트를 위해 새 티켓을 다시 생성하거나 설정에서 만료/제거 기간을 늘리세요.

Matchmaker에 오류가 표시되는데, 어떻게 해야 하나요?
  • 개발 또는 테스트 인스턴스라면 먼저 Matchmaker를 재시작해 보세요. - 문제는 다음을 통해 보고해 주세요 커뮤니티 Discord.

  • 이 문제가 라이브 게임에 영향을 주는 경우, 다음을 생성하세요 긴급 지원 요청.

🔖 변경 로그

구성 파일은 사용 중인 Matchmaker 버전에 따라 검증되므로, 규칙이 해당 버전의 기능과 일치하는지 확인하세요.

Matchmaker의 최신 버전은 3.2.2. 이 페이지의 모든 예시는 최신 상태입니다.

다음 사항을 주의 깊게 살펴보세요 업데이트 및 공지. 또한 다음을 참조하세요 ⏩ 롤링 업데이트.

마지막 업데이트

도움이 되었나요?