Dedicated Servers
개요
Fusion은 클라이언트-서버 토폴로지를 이용한 게임 개발을 가능하게 합니다. 이 경우 전용 게임 세션 인스턴스는 플레이어가 클라이언트와 연결하는 호스팅 공급자가 제공하는 전용 서버에서 실행됩니다.
전용 서버 토폴로지를 활용하는 데는 다음과 같은 여러 가지 요소가 있습니다:
- Fusion 헤드리스 빌드
- 원하는 게임 세션 인스턴스 호스팅 공급자 전용 서버
- 전용 서버에서 실행되는 게임 인스턴스, 그리고
- Fusion Cloud 플러그인이 포함된 Photon Cloud.
- 전용 게임 인스턴스에 접속할 클라이언트
호스트 모드 vs 서버 모드
Fusion에서 클라이언트-서버 아키텍처를 사용하여 개발할 때의 첫 번째 단계는 호스트 모드
그리고 서버 모드
중 하나를 선택하는 것입니다. 둘 다 동일한 기능 세트를 제공하며 코드 베이스에 관한 한 동일하게 작동합니다. 주의해야 할 유일한 차이점은 다음과 같습니다:
호스트 모드
에서 "서버"는 상태 권한과 입력 권한을 가진 플레이어를 가집니다. 반면에,서버 모드
에서 "서버"에는 상태 권한이 있지만 플레이어 또는 입력 권한이 연결되어 있지 않습니다.
즉, 프로젝트 팀이 하나 이상의 전용 게임 서버에서 게임 세션 인스턴스를 실행하는 데 필요한 서버 조정 측면을 다룰 준비가 되면 테스트하고 나중에 서버 모드
로 전환하는 것이 더 간단하기 때문에 개발은 호스트 모드
로 시작할 수 있습니다.
전용 서버
서버 모드
에서 Fusion을 실행하기 위해서 호스팅하고 헤드리스 게임 빌드를 하기 위해서 전용 서버가 필요합니다.
Fusion에는 두 가지 유형의 전용 서버가 있습니다.
- 전용 게임 세션 서버 그리고
- 전용 Photon Cloud 서버입니다.
전용 게임 세션 서버
전용 게임 세션 서버는 헤드리스 게임 빌드를 호스팅 하기 위해 호스팅 공급자에 의해 제공됩니다. 플레이어 참여 요청에 따라 게임 세션 인스턴스를 회전시키려면 오케스트레이션 서비스가 필요합니다(일반적으로 호스팅 공급업체에서도 제공됨).
전용 Photon Cloud 서버
Dedicated Photon Cloud Servers
Photon ENTERPRISE CLOUD 가입은 전용 환경에서만 제공할 수 있는 기능과 서비스에 접근하는 데만 필요합니다.
전용 Photon Cloud 서버는 Photon에서 제공합니다. 하나를 요청하려면 Enterprise 가입이 필요합니다. 전용 Photon Cloud 서버는 전용 cloud 리소스를 게임의 필요에 따라 제공하고 할당합니다.
Photon Cloud 다음을 처리합니다:
- 연결 처리
- 릴레이 폴백 및
- 서버 마이그레이션을 위한 상태 백업
추가적으로, Enterprise 가입은 다음 사항들을 제공합니다:
- 사용자 지정 버전의 Fusion Cloud 플러그인을 실행할 수 있습니다(아직 제공되지 않음).
- 전용 IP
- SLA
- 24/7 NOC 팀
- 등등.
서버 모드
에서 게임을 실행하기 위해서 Photon Fusion Cloud 가입과 전용 게임 서버가 필요합니다.
게임 세션 호스팅 공급자
널리 사용되는 호스팅 공급업체는 다음을 포함하지만 이에 국한되지 않습니다:
물론 원하는 경우 사용자 지정 솔루션과 독립 실행형 도커 인스턴스를 사용할 수도 있습니다.
게임 세션 인스턴스
게임 세션 인스턴스는 오케스트레이션 서비스의 요청에 따라 전용 서버에서 스핀업됩니다. 이 프로세스의 작동 방식은 Fusion과는 독립적이며 게임 세션 호스팅 공급자와 오케스트레이션 서비스의 자체 시스템과 관련이 있습니다. 공급자에게 연락하여 이 주제에 대한 해당 문서를 읽어보세요.
헤드리스 빌드 생성하기
Fusion Headless 빌드는 유니티가 구축할 수 있는 모든 64비트 플랫폼을 지원합니다. 헤드리스 빌드를 만들려면 다음을 수행하십시오:
- 유니티 편집기에서
File > Build Settings...
로 이동 Target Platform
선택.Architecture
이 64-bit로 설정되어 있는지 확인.Build
클릭.
게임 서버 오케스트레이션
서버 오케스트레이션은 게임 서버
를 관리하는 방식을 말하며, 여기에는 게임 서버를 필요에 따라 상하로 회전시키고 플레이어의 요청에 따라 게임 세션을 생성하는 작업이 포함됩니다. 이와 같이 서버 조정 서비스의 주요 목적은 플레이어가 참여하고 플레이할 수 있는 서버의 가용성을 제어하는 일련의 규칙 또는 시스템으로 요약될 수 있습니다. 이는 또한 플레이어 수요가 적은 경우(예: 한밤중이나 낮 시간) 컴퓨팅 성능을 절약하여 비용을 최대한 낮게 유지하는 데 도움이 됩니다.
오케스트레이션 서비스
의 책임:
- 배포에 사용할 수 있도록
게임 서버
빌드의 복사본을 저장합니다. 게임 서버
를 실행할 수 있는 머신의 인프라를 관리합니다. 각 공급자가 사용하는 모델은 다양할 수 있으며 베어메탈 서버나 가상 시스템, 심지어 도커 컨테이너일 수도 있습니다. 서버 환경 요구사항이 다른 다양한 게임의 요구에 적합하기 때문에 올바른 모델이나 잘못된 모델이 없습니다.- 개발자가 어떤
게임 서버
를 배포할 것인지, 어디에 배치할 것인지(보통 여러 지역에 배치할 수 있는지), 그리고 플레이어에 적합한 설정(플레이어에게 적합한 설정)을 선택할 수 있도록 하는 스폰 및 파괴 제어 시스템을 제공합니다. 이 시스템은 수동으로, API를 통해 또는 일련의 트리거 규칙에 의해 자동으로 관리할 수 있습니다.
Fusion의 관점에서는 이 모든 것이 투명합니다. 이 관리 수준에서는 인스턴스를 실행하는 방법과 장소를 다루고 있으므로 개발에 직접적인 영향을 미치지 않습니다.
반면, 대부분의 오케스트레이션 및 호스팅 제공 업체는 다음과 같은 정보를 추출하기 위해 게임 서버
자체의 내부 통합을 사용합니다.
- 예를 들어 게임 모드나 맵과 같은 매치에 대한 정보
- 현재 플레이어 수와 최대 플레이어 수
- 서버 상태(예: 시작, 플레이어 준비, 종료);
- 등등
이러한 정보는 오케스트레이션 시스템에서 참여 가능한 서버, 재활용 가능한 서버를 파악하고 하루 중 더 많은 플레이어가 있는 특정 지역에서 증가할 서버 수와 같은 통계 데이터를 만들기 위해 사용됩니다.
Fusion SDK는 각 공급업체의 SDK와의 통합을 용이하게 하기 위해 모든 정보와 방법을 쉽게 노출할 수 있는 수단을 제공합니다.
Back to top