This document is about: FUSION 2
SWITCH TO

전용 서버

Level 4

개요

Fusion은 클라이언트-서버 토폴로지를 이용한 게임 개발을 가능하게 합니다. 이 경우 전용 게임 세션 인스턴스는 플레이어가 클라이언트와 연결하는 호스팅 제공자가 제공하는 전용 서버에서 실행됩니다.

전용 서버 토폴로지를 활용하는 데에는 다음과 같은 몇 가지 부분이 있습니다:

  • Fusion Headless 빌드
  • 전용 서버에서 실행되는 전용 게임 세션 인스턴스
  • 선호하는 호스팅 공급자의 전용 서버 시스템
  • Fusion Cloud 플러그인을 사용하는 Photon Cloud 및,
  • 전용 게임 인스턴스에 연결할 클라이언트.
dedicated server overview flow
전용 서버 개요 흐름.
Fusion에서는 Photon Server SDK가 전용 서버 토폴로지와 관계없습니다!

호스트 모드 vs 서버 모드

Fusion에서 클라이언트-서버 아키텍처를 개발할 때 첫 번째 단계는 호스트 모드서버 모드 중 하나를 선택하는 것입니다. 둘 다 동일한 기능 집합을 제공하며 코드베이스에 관한 한 동일하게 작동합니다. 다음과 같은 차이점이 있습니다:

  • 호스트 모드에서, "서버"는 상태 권한과 입력 권한을 가진 플레이어를 갖지만
  • 서버 모드에서는, "서버"에는 상태 권한이 있지만 플레이어 없이 또는 입력 권한이 연결되어 있지 않습니다.

이는 하나 또는 여러 개의 전용 게임 서버에서 게임 세션 인스턴스를 실행하는 데 필요한 서버 오케스트레이션 측면을 해결하기 위해 프로젝트 팀이 테스트하기 쉽기 때문에 호스트 모드에서 시작하여 나중에 서버 모드로 이동할 수 있음을 의미합니다.

전용 서버

Fusion을 서버 모드에서 실행하기 위해서는 헤드리스 게임 빌드를 진행하기 위한 전용 서버가 필요합니다.

Fusion의 컨텍스트에는 두 가지 유형의 전용 서버가 있습니다:

  1. 전용 게임 세션 서버. 그리고,
  2. 전용 Photon Cloud 서버.

전용 게임 세션 서버

전용 게임 세션 서버는 헤드리스 게임 빌드를 호스팅 하기 위해 호스팅 제공 업체에서 제공합니다. 플레이어의 참여 요청에 따라 게임 세션 인스턴스를 회전하려면 오케스트레이션 서비스가 수반되어야 합니다(일반적으로 호스팅 제공 업체에서도 제공됩니다).

전용 Photon Cloud 서버

Photon PUBLIC CLOUD의 구독이면 충분합니다!
Photon ENTERPRISE CLOUD 구독은 전용 환경에서만 제공할 수 있는 기능 및 서비스에 접근하는 데만 필요합니다.

전용 Photon Cloud 서버는 Photon에서 제공합니다. 하나를 요청하려면 엔터프라이즈 구독이 필요합니다. 전용 Photon Cloud 서버는 게임의 필요에 따라 전용 cloud 리소스를 제공하고 할당합니다.

Photon Cloud는 다음을 처리합니다:

  • 연결 취급
  • 릴레이 폴백 그리고,
  • 서버 마이그레이션을 위한 상태 백업;

또한 엔터프라이즈 구독은 다음과 같은 기능을 제공합니다:

  • 사용자 지정 버전의 Fusion Cloud 플러그인(아직 사용할 수 없음) 실행 기능
  • 전용 IP
  • SLA
  • 연중무휴 NOC 팀
  • 그 이상.

서버 모드에서 게임을 실행하기 위해서는 전용 게임 서버가 필요하고, Photon Fusion Cloud 구독도 필요합니다.

게임 세션 호스팅 제공 업체

인기 있는 호스팅 공급자는 다음을 포함하지만 이에 국한되지는 않습니다:

원하는 경우 사용자 지정 솔루션과 독립형 도커 인스턴스를 사용할 수 있습니다.

게임 세션 인스턴스

게임 세션 인스턴스는 오케스트레이션 서비스의 요청에 따라 전용 서버에서 회전됩니다. 이 프로세스는 Fusion으로부터 독립적이며 게임 세션 호스팅 제공자 및 오케스트레이션 서비스의 자체 시스템과 연결됩니다. 이 주제에 대한 문서를 읽어보시고 연락해 주세요.

헤드리스 빌드 생성하기

Fusion 헤드리스 빌드는 유니티가 구축할 수 있는 모든 64비트 플랫폼을 지원합니다. 헤드리스 빌드를 만들려면 간단히 다음과 같습니다:

  1. 유니티 편집기에서 파일 > 빌드 설정...로 이동합니다.
  2. 대상 플랫폼을 선택합니다.
  3. 아키텍처가 64비트로 설정되어 있는지 확인합니다.
  4. 빌드를 클릭합니다.
dedicated server build platforms in unity build settings
유니티 빌드 설정의 전용 서버 빌드 플랫폼.

게임 서버 오케스트레이션

Photon은 전용 게임 세션 서버 오케스트레이션을 제공하지 않습니다. 오케스트레이션 서비스는 일반적으로 게임 세션 호스팅 공급자가 직접 제공하며 관리를 위해 시스템에 연결된 게임 서버 바이너리를 유지 관리하는 데 중점을 둡니다.

서버 오케스트레이션은 게임 서버가 관리되는 방식을 말합니다. 요청에 따라 서버를 위아래로 회전하는 것은 물론 플레이어 요청 시 해당 서버에 게임 세션을 생성하는 것도 포함됩니다. 이러한 서버 오케스트레이션 서비스의 주요 목적은 플레이어가 참여하여 플레이할 수 있는 서버의 가용성을 제어하는 일련의 규칙 또는 시스템으로 요약될 수 있습니다. 이는 또한 플레이어의 수요가 낮을 때(예: 한밤중 또는 낮) 컴퓨팅 전력을 절약하여 비용을 가능한 적게 유지하는 데 도움이 됩니다.

오케스트레이션 서비스는 다음을 담당합니다:

  1. 게임 서버 빌드의 복사본을 저장하여 배포에 사용할 수 있습니다.
  2. 게임 서버를 실행할 수 있는 머신의 인프라를 관리하는 것입니다. 각 제공 업체가 사용하는 모델은 다를 수 있으며 베어메탈 서버나 가상 머신, 심지어 도커 컨테이너일 수도 있습니다. 서버 환경 요구사항이 다른 여러 게임의 요구사항에 적합하기 때문에 옳고 그름의 모델은 없습니다.
  3. 개발자가 어떤 게임 서버를 배치할 것인지, 어떤 곳(보통 여러 지역에 배치할 수 있는지), 어떤 설정(플레이어에게 적합하도록)을 선택할 수 있는 스폰 및 파괴 제어 시스템을 제공합니다. 이 시스템은 수동, API를 통해 또는 일련의 트리거 규칙에 의해 자동으로 관리될 수 있습니다.

Fusion의 관점에서 볼 때, 이는 모두 투명하며, 인스턴스를 실행하는 방법과 위치를 다루고 있으므로 개발에 직접적인 영향을 미치지 않습니다. 반면, 대부분의 오케스트레이션 및 호스팅 공급자는 다음과 같은 정보를 추출하기 위해 게임 서버 자체의 내부 통합을 사용합니다:

  • 예를 들어, 게임 모드 또는 맵과 같은 경기에 대한 정보;
  • 현재 플레이어 수 및 최대 플레이어 수;
  • 서버 상태(예: 시작, 플레이어 준비, 종료);
  • 그 이상.

이러한 정보는 오케스트레이션 시스템에서 어떤 서버에 가입할 수 있는지, 어떤 서버를 재활용할 수 있는지를 알고, 활동 중인 플레이어가 더 많은 기간 동안 특정 지역에서 증가할 서버 수와 같은 시간 동안 통계 데이터를 생성하는 데 사용됩니다.

Fusion SDK는 각 제공자의 SDK와의 통합을 용이하게 하기 위해 쉽게 노출할 수 있는 모든 정보와 수단을 제공합니다.

Back to top