3 - Photon Bolt PlayFab 서버 통합

Photon Bolt와 PlayFab Server 2.0의 통합을 구현할 때 주요 목표는 서비스에서 제공하는 가상 머신에 직접 헤드리스 게임 서버를 구축하고 실행할 수 있는 간단한 방법을 준비하는 것입니다. 이러한 목적을 위해, 우리는 게임에 통합될 수 있는 모든 필요한 API를 사용하여 간단한 샘플을 만들었습니다. 이 장에서는 샘플과 이 샘플을 올바르게 사용하는 방법에 대해 설명합니다.

모든 필요한 파일들은 Bolt Samples 저장소 여기에 있으며, 더 자세한 내용은 PlayFab 폴더에 있습니다. 다음 링크를 통해 접근할 수 있습니다:https://github.com/BoltEngine/Bolt-Sample/tree/master/PlayFab. 다운로드하시고 이 폴더의 파일들을 프로젝트에 임포트 해 주세요.

Scripts 폴더에는, 다음으로 설명되는 클래스 집합을 확인하실 수 있습니다:

  • PlayFabHeadlessServer: 이 클래스는 헤드리스 서버 컨트롤러로 작동합니다. PlayFabBolt API들을 사용하여 서비스와의 통신을 제어하고 게임 서버를 시작합니다.
  • PlayFabMenuClient: 게임 클라이언트에서 사용할 수 있는 간단한 메뉴를 구현합니다. Bolt 클라이언트로서 게임을 시작하고 무작위 세션에 참여할 것입니다.
  • PlayfabLogger: Bolt 로깅 시스템에 연결하여 서버 실행에서 PlayFab 스택 내의 오른쪽 폴더로 로그를 출력하는 특수한 로거 클래스입니다. 이렇게 하면 실행이 완료된 후 서버를 디버그 할 수 있습니다. 이에 대해서는 여기를 읽어보세요.

게임 서버를 실행하고 PlayFab 에이전트와 통신하는 프로세스에는 일련의 조정된 작업이 수반됩니다. 이 작업은 실행 파일이 계속 실행되고 PlayFab이 인스턴스를 제거하지 않도록 보장합니다.

이러한 단계는 아래에 설명되어 있으며 모두 샘플 코드에 의해 수행됩니다:

헤드리스 서버 상태
헤드리스 서버 상태

PlayFab 통합 사용

스크립트 집합만으로는 별 효과가 없기 때문에 이러한 스크립트의 사용 사례를 보여주는 몇 가지 간단한 씬이 샘플에 포함되어 있습니다. 씬들은 샘플의 Scenes 폴더에 있습니다.

  • PlayFabHeadlessServer: 이 씬에는 PlayFabHeadlessServer 스크립트를 보관하는 게임 오브젝트가 하나뿐 아니라 지난 장에서 임포트 한 Multiplayer Agent API Package에 포함되어 있는 PlayFabMultiplayerAgentView 컴포넌트도 포함되어 있습니다.
  • PlayFabClient: 이 씬은 클라이언트 메뉴를 로드하고 플레이어가 열려 있는 세션에 참여하도록 합니다.
  • PlayFabGame: 게임 씬의 플레이스 홀더입니다.

PlayFabMultiplayerAgentView 컴포넌트: 서버가 작동 중이고 실행 중임을 알리기 위해 PlayFab Agent에 살아있고 실행 중이라는 것을 보내주는 역할을 합니다. 이 컴포넌트가 없으면 PlayFab Orchestrator(가상 시스템 및 컨테이너를 유지하는 감독 시스템)가 서버가 계속 작동해야 하는지 여부를 인식하지 못하고 결국 킬 됩니다.

다음 순서에 따라 빌드 설정에서 씬을 포함시킵니다: (0) PlayFabHeadlessServer, (1) PlayFabClient 그리고 (2) PlayFabGame. 기본적으로 PlayFabHeadlessServer 스크립트가 batchmode에서 시작되지 않은 경우 빌드 목록에서 다음 장면을 로드합니다. 즉, 프로젝트를 정상적으로 실행하면 클라이언트 메뉴 화면이 로드됩니다.

Bolt/Compile Assembly 메뉴에서 Bolt 컴파일러를 실행하여 Bolt가 사용자의 변경 사항을 인지하고 있는지 확인하고 Windows Platform용 독립 실행형 실행 파일로 프로젝트를 빌드 합니다. 이는 매우 중요한데, 우리가 사용할 서비스는 주로 Windows 빌드를 지원하기 때문입니다. 리눅스 빌드를 실행할 수도 있지만 서버 컨테이너를 만들기 위해 다른 접근 방식을 사용합니다. 다음 챕터에서 이 실행 파일을 사용하여 헤드리스 서버를 실행할 것입니다.

다음 장 >>

To Document Top