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

UGS에서 배포

이 가이드는 Unity Matchmaker를 유지하고 서버를 Edgegap에 배포하려는 경우 따르세요.

시작하기

이 가이드는 다음을 전제로 Edgegap 서버 호스팅을 호스팅 제공업체로 추가하는 데 중점을 둡니다:

를 참조하세요 Unity의 Matchmaking 문서 에서 매치메이킹 관련 주제를 확인하세요.

참조하세요 Multiplay에서 전환 에서 Multiplay 개념을 Edgegap 호스팅과 비교하고 매핑하는 방법을 확인하세요.

서버에 적합한 위치를 선택하면 평균적으로 지연 시간을 최대 58%까지 줄일 수 있습니다!

이 가이드에서는 다음을 다룹니다:

  • 빌드 및 배포 EdgegapAllocator Matchmaker용 클라우드 스크립트 모듈,

  • 최적의 서버 배치를 위해 사용되는 플레이어의 공용 IP 주소 가져오기,

  • UGS 클라우드 스크립트에 웹훅 리스너를 구현하고 서버 할당을 가져오기.

Edgegap Allocator

다음부터 시작하세요 호스팅 제공업체 저장소의EdgegapAllocator 소스 코드를 다운로드합니다.

이것은 당사의 클라우드 스크립트 로, 매치가 구성되면 Unity matchmaker가 새 서버를 시작하기 위해 호출합니다. 이는 Unity에서 공식적으로 승인한 통합입니다.

필수 비밀 값

먼저, 다음 비밀 값을 Unity Dashboard 에서 Administration > Secrets:

  • EDGEGAP_API_TOKEN - Edgegap API 토큰입니다.

토큰은 다음에서 찾을 수 있습니다. Edgegap Dashboard.

필수 코드 변경

편집하세요 Project/EdgegapAllocator.cs 를 수정하고 다음 상수를 업데이트하세요:

다음의 Edgegap 애플리케이션 이름으로 바꾸세요. Applications List.

사용하려는 Edgegap 애플리케이션의 버전 이름으로 바꾸세요.

플레이어가 연결할 때 사용할 Edgegap 애플리케이션 버전의 포트 이름으로 바꾸세요.

모듈 배포

CLI 또는 Editor를 사용하여 사용자 지정 모듈을 배포하는 공식 Unity 지침을 따르세요.

플레이어 IP 가져오기

각 매치에 대해 요청 시 최적의 서버 위치를 제공하려면, 배포를 요청할 때 플레이어 IP 주소를 제공해야 합니다. Unity는 이 기능을 제공하지 않지만, 무료 서비스 ipify:

모든 플레이어는 티켓의 사용자 지정 데이터를 사용하여 공용 IP 주소를 제공해야 합니다:

할당 받기

할당은 표준 Unity 매치메이킹 방법을 사용하여 가져올 수 있습니다.

예시에서는 다음을 사용해 할당을 처리합니다. Status API, 초당 20 요청으로 속도 제한.

이는 대부분의 게임에 충분합니다. CCU가 50,000명 이상일 것으로 예상되면 대체 방법을 고려하세요.

대체 할당

대규모 전 세계 출시의 경우, 다음을 사용하는 더 확장성 있는 대안이 웹훅 에서 제공됩니다.

매치가 만들어지고 클라우드 스크립트가 새 배포를 요청하면, 응답에는 아직 연결 세부 정보가 포함되지 않습니다. 대신, 일종의 영수증인 배포 ID를 받게 됩니다.

할당자 함수는 이 배포 ID를 매칭된 플레이어의 ID와 함께 UGS Game Data에 저장해야 하므로, 나중에 플레이어를 조회하고 연결 세부 정보를 제공할 수 있습니다.

이제 또 다른 클라우드 스크립트 함수를 만들어야 합니다 AssignmentProcessor 공개 URL과 함께. 이 URL은 Allocator의 배포 요청에 다음으로 포함되어야 합니다. webhook_on_ready .

Edgegap이 게임 서버를 배포하면 FQDN(URL)과 클라이언트 연결용 외부 포트와 같은 모든 연결 세부 정보를 포함한 웹훅 HTTP 이벤트를 새 클라우드 스크립트로 다시 보냅니다. 귀하의 AssignmentProcessor 는 배포 ID를 조회하고, 그와 함께 연결 세부 정보를 저장해야 합니다.

게임 클라이언트는 이 게임 데이터를 폴링하고 FQDN과 외부 포트가 검색되는 즉시 연결을 시도해야 합니다.

마지막 업데이트

도움이 되었나요?