UGS에서 배포
이 가이드는 Unity Matchmaker를 유지하고 서버를 Edgegap에 배포하려는 경우 따르세요.
대안을 찾고 계신가요? 관리형 서비스를 고려해 보세요 매치메이킹 와 SDK 통합 및 예제.
시작하기
이 가이드는 다음을 전제로 Edgegap 서버 호스팅을 호스팅 제공업체로 추가하는 데 중점을 둡니다:
작동하는 Unity Matchmaking 설정이 있고,
Edgegap에 등록되어 있고 Unity 서버 빌드를 업로드했으며.
를 참조하세요 Unity의 Matchmaking 문서 에서 매치메이킹 관련 주제를 확인하세요.
서버에 적합한 위치를 선택하면 평균적으로 지연 시간을 최대 58%까지 줄일 수 있습니다!
이 가이드에서는 다음을 다룹니다:
빌드 및 배포
EdgegapAllocatorMatchmaker용 클라우드 스크립트 모듈,최적의 서버 배치를 위해 사용되는 플레이어의 공용 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 주소가 제공되지 않으면 배포는 Los Alamos 위치로 대체됩니다.
각 매치에 대해 요청 시 최적의 서버 위치를 제공하려면, 배포를 요청할 때 플레이어 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과 외부 포트가 검색되는 즉시 연결을 시도해야 합니다.

마지막 업데이트
도움이 되었나요?

