Skip to main content

멀티플레이어 세션 할당

PlayFab multiplayer servers 2.0에서는 RequestMultiplayerServer API를 사용하여 멀티플레이어 서버 애플리케이션의 인스턴스를 할당할 수 있습니다. 일반적으로 이 API는 특정 title에 구성된 PlayFab 개발자 시크릿 키를 사용하여 자체 서비스(매치메이킹 서비스 또는 로비 서비스일 수 있음)에서 호출됩니다. 시크릿 키에 대한 자세한 내용은 시크릿 키 관리를 참조하세요. 플레이어를 모으고 서버를 할당하는 일반적인 패턴은 다음과 같습니다:
  1. 클라이언트가 네트워크 QoS 정보를 수집합니다.
  2. 클라이언트가 사용자 지정 매치메이킹 서비스와 상호 작용하거나 소셜 초대를 통해 모입니다.
  3. 사용자 지정 매치메이킹 서비스가 우선순위가 지정된 지역 목록을 사용하여 그룹에 세션을 할당합니다.
RequestMultiplayerServer에는 몇 가지 주요 매개 변수가 있습니다:
  • BuildID - 할당할 특정 서버 빌드입니다.
  • SessionID- 세션의 식별자입니다. 호출자가 생성한 GUID 문자열입니다. 동일한 논리적 세션에 대한 이 API 재시도는 동일한 식별자를 재사용해야 합니다. 이렇게 하면 호출자 재시도 동작으로 인해 불필요한 서버가 만들어질 가능성이 줄어듭니다.
  • SessionCookie - 활성화 시 게임 서버 SDK를 통해 할당된 세션에 전달되는 임의의 데이터입니다. 이 필드의 일반적인 사용법은 게임 서버가 클라이언트를 인증하는 데 사용하는 공유 키를 전달하는 것입니다. 데이터는 4킬로바이트보다 작아야 합니다.
  • PreferredRegions - 서버 할당에 사용되는 지역의 순서 목록입니다. 지역 순위를 매길 때 클라이언트 장치에서 수집한 네트워크 QoS 측정을 주요 요인으로 사용하는 것이 좋습니다.
성공적인 할당은 다음 정보를 반환합니다:
MpsAllocatorSample(여기에 있음)를 사용하여 게임 개발 중에 손쉽게 게임 서버를 할당할 수 있습니다.

클라이언트 할당

멀티플레이어 서버는 비용이 많이 들고 강력합니다. 기본적으로 PlayFab 개발자 시크릿 키를 사용해 자체 신뢰할 수 있는 서비스에서만 멀티플레이어 서버를 요청할 수 있습니다. 그러나 플레이어 장치에서 직접 서버를 할당하면 서비스 간 호출을 구현하는 비용을 절감할 수 있으며 일부 상황에서 유용할 수 있습니다. 클라이언트 할당을 활성화하려면:
  • 왼쪽 메뉴에서 Settings를 선택합니다.
  • API Features 탭을 선택합니다.
  • 그런 다음 Allow Client to start games 옵션을 활성화합니다.
이 설정이 활성화되면 title과 연결된 모든 플레이어의 엔터티 토큰을 사용하여 RequestMultiplayerServer를 호출할 수 있습니다.

배포된 멀티플레이어 서버 디버깅

Azure에 배포된 게임 서버를 원격으로 디버깅하고 싶을 수 있습니다. Visual Studio를 사용하려면 현재 컨테이너에 Visual Studio 원격 디버깅 도구를 설치하고 구성해야 합니다.
다음 절차는 안전하지 않고 인증되지 않은 디버깅을 활성화합니다.
다음 절차는 개발 및 테스트를 위한 서버 빌드에만 적용해야 하며 플레이어 대상 환경에서는 일반적으로 피해야 합니다.
  1. VS2017 원격 디버깅 도구를 가져옵니다:
  1. 이러한 도구를 게임 서버 자산 패키지에 포함시킵니다.
  2. Game Manager 또는 Entity API로 서버 빌드를 만들 때 포트 4022 TCP를 디버그 포트로 구성합니다.
  3. 원격 디버깅을 활성화하려면 컨테이너 내에서 msvsmon을 실행해야 합니다. 일반적인 패턴은 CMD 스크립트를 Game Start 명령으로 지정하고, 게임 서버 실행 파일 외에도 msvsmon을 실행하기 위해 명령줄 인수를 사용하는 것입니다.
  4. 다음 옵션으로 msvsmon을 한 번 실행합니다:
  1. 다음 플래그로 msvsmon을 실행합니다(아래 표시).
포트가 이미 사용 중일 때 프로그램이 프로세스 종료 코드를 처리할 수 있도록, 열려 있지 않은 임의의 포트에 바인딩하는 대신 포트를 구체적으로 지정하는 것을 권장합니다.
  1. 게임 서버를 할당합니다.
  2. allocate 호출에서 반환된 외부 디버그 포트를 사용해 VS로 디버깅을 시도합니다.
마지막 수정일 2026년 8월 25일