PlayFab 멀티 플레이어 서버를 사용하여 멀티 플레이어 게임 호스트
이 항목에서는 게임 세션을 위해 플레이어를 연결할 준비가 된 게임 서버를 만드는 것에서 수요를 충족하기 위해 동적으로 확장하는 작업에 이르기까지, PlayFab Multiplayer Servers를 사용하여 멀티 플레이어 게임 세션을 호스트하는 방법에 대해 설명합니다.
Microsoft 서비스를 사용하여 예산 및 수요에 따라 VM이 자동으로 전역적으로 게임 서버로 스핀업하도록 구성합니다. 이렇게 하려면 VM을 명시적으로 만들지 않고 대신 VM을 만드는 방법을 결정하는 매개 변수를 정의합니다. 이 프로세스를 빌드 배포 또는 만들기라고 합니다.
구성 프로세스의 일부로 VM에서 컨테이너화된 애플리케이션으로 실행되는 게임 서버 빌드를 업로드합니다.
필요한 항목
- PlayFab.com의 개발자 계정
- PlayFab 멀티 플레이어 서버 기능 사용
- 서버-클라이언트 게임 소스 코드
서버-클라이언트 게임이 아직 없는 경우 대신 샘플을 사용하여 작동 방식을 확인하세요. 샘플 중 하나는 PlayFab 멀티 플레이어 서버에서 작동하도록 기존 게임 서버를 래핑할 수 있는 래퍼 애플리케이션입니다. 자세한 내용은 첫 번째 서버 만들기를 참조하세요.
여기서 사용되는 용어를 잘 모를 경우 서버 용어를 참조하세요.
1. 게임 서버 빌드 작성
게임 서버 빌드에는 일반적으로 서버/VM(가상 머신)에서 실행하려는 게임 자산과 실행 파일이 포함됩니다.
PlayFab 멀티 플레이어 서버를 사용하는 경우 PlayFab Game Server SDK(GSDK)를 일반적인 게임 서버 빌드에 통합해야 합니다. 통합된 게임 서버 빌드를 PlayFab 멀티 플레이어 게임 서버 빌드라고 합니다.
자세한 통합 단계는 게임 서버 빌드 작성을 참조하세요. 내부 구조에 대한 자세한 내용은 Server 용어 및 게임 서버 기본 사항을 참조하세요.
2. 빌드 배포
위의 단계에서 설명한 대로 PlayFab 멀티 플레이어 게임 서버에서 실행할 수 있는 게임 서버 빌드가 있으면 서버/VM(가상 머신)이 만들어지는 방법을 구성할 수 있습니다. 이 단계를 빌드 만들기 또는 배포라고 합니다.
원하는 서버 유형, 해당 서버가 있는 지역, 서버의 기능 및 크기 조정 방법을 지정할 수 있습니다.
자세한 내용은 빌드 배포를 참조하세요.
3. 게임 서버 크기 조정
빌드를 만든 후 서비스는 새 가상 머신을 동적으로 스핀업하고 사용된 가상 머신을 재활용할 수 있습니다. 이렇게 하면 타이틀이 플레이어 요구를 충족하고 지정한 대기 수준을 유지할 수 있습니다. 이 크기 조정 동작을 구성하는 방법에 대한 자세한 내용은 크기 조정 대기, 예약된 대기 및 동적 대기을 참조하세요.
이제 API를 사용하여 크기 조정을 관리할 수도 있습니다. 자세한 내용은 프로그래밍 방식으로 크기 조정을 참조하세요.
4. Azure 지역에 대한 플레이어 대기 시간 측정
플레이어가 멀티 플레이어 환경을 시작하면 UDP(User Datagram Protocol) 메시지를 QoS(서비스 품질) 신호로 보내야 합니다. UDP 메시지를 보내고 응답을 받는 시간 간격에 따라 네트워크 대기 시간을 측정할 수 있습니다. 대기 시간 측정을 사용하여 최상의 환경을 위해 게임 서버를 요청할 데이터 센터를 결정할 수 있습니다.
자세한 내용을 알아보고 샘플 코드를 보려면 QoS 탐지 장치를 사용하여 플레이어의 Azure 대기 시간 측정을 참조하세요.
5. 게임 서버 요청
플레이어에게 멀티 플레이어 서버가 필요한 경우 빌드의 대기 풀에서 할당할 수 있습니다. 이 요청은 PlayFab 매치 메이킹, 운영하는 로비 또는 매치 메이킹 서비스를 포함하는 많은 소스에서, PlayFab을 호출하는 클라이언트 등에서 직접 가져올 수 있습니다.
PlayFab 매치 메이킹 서비스는 PlayFab 멀티 플레이어 서버를 자동으로 할당할 수 있는 플랫폼 간 매치 메이킹 서비스입니다. 서버 할당을 활성화하는 방법에 대한 자세한 내용은 매치 메이킹과 PlayFab 멀티 플레이어 서버 통합을 참조하세요.
6. 연결 및 플레이
대기 서버를 사용할 수 있는 경우 PlayFab가 1 초 내에 서버 요청을 수행할 수 있습니다. 서버가 활성 상태로 전환되면 클라이언트는 서버에 연결되어 플레이됩니다.
아래 이미지에서는 이전 단계를 통합하여 PlayFab 멀티 플레이어 서버 호스팅이 작동하는 방식을 보여 줍니다.