Photon Bolt

이 가이드는 Photon Bolt를 네트워킹 솔루션으로 사용하는 Unity 프로젝트에 대해 Edgegap에서 헤드리스 서버를 생성하는 데 도움이 됩니다.

이 가이드에서는 예시로 커스텀 데모 프로젝트를 사용합니다.

Unity 프로젝트 준비

Unity 프로젝트 복제하기

첫 번째 단계는 git에서 Edgegap 데모 게임 프로젝트를 복제하는 것입니다. 명령 프롬프트에서 다음 명령을 사용하여 복제할 수 있습니다:

해당 명령은 소스 Unity 프로젝트를 포함한 폴더를 생성합니다. 해당 폴더 이름은 demo-game.

프로세스가 완료되면 Unity Hub를 열고 프로젝트 탭에서 추가 버튼을 눌러 컴퓨터에서 프로젝트 폴더를 찾아 추가할 수 있습니다:

프로젝트를 열려면 올바른 버전의 Unity가 설치되어 있어야 합니다. 이 가이드에서는 Unity 2020.3.3를 사용합니다. Unity 다운로드 아카이브에서 찾을 수 있습니다: https://unity3d.com/get-unity/download/archive.

설치가 완료되면 Unity Hub에서 프로젝트 이름 옆의 드롭다운 메뉴를 통해 새 Unity 버전을 선택할 수 있습니다:

이제 Unity 프로젝트를 열어 다음 단계로 진행할 수 있습니다.

게임 설정

Photon Bolt 설정

Photon App ID 추가 및 Bolt 컴파일

게임이 Photon의 서비스와 통신하려면 Photon 대시보드에 앱을 추가해야 합니다. Photon 계정이 없는 경우 그들의 웹사이트arrow-up-right.

에 가서 쉽게 계정을 만들 수 있습니다. 로그인한 후 앱을 생성하고 이름을 지정할 수 있습니다. 각 앱에는 고유한 앱 ID가 있습니다. 이 ID를 복사하여 Unity 프로젝트 내의 Bolt 설정 창에 붙여넣어야 합니다:

ID를 입력한 후 Bolt 설정 창을 닫을 수 있습니다. 이전과 동일한 Bolt 메뉴에서 두 가지 작업을 실행해야 합니다: 프리팹 데이터베이스 업데이트어셈블리 컴파일입니다.

이 시점에서 디버그 콘솔에 오류나 경고 없이 게임의 StartScene 씬을 실행할 수 있어야 합니다. 그러나 아직 서버에서 플레이를 시작할 수는 없습니다.

이로써 Photon Bolt가 작동하는 데 필요한 일반적인 변경 사항은 완료됩니다. 이러한 변경은 게임의 클라이언트와 서버 모두에 적용됩니다.

헤드리스 서버 준비

앱이 컨테이너에서 효율적으로 작동하려면 "헤드리스 서버" 빌드를 만들기 위해 게임에 몇 가지 변경을 해야 합니다. 대부분의 프로젝트에서는 몇 가지 간단한 단계로 충분합니다.

Unity 프로젝트 요구사항

먼저, Photon Bolt의 헤드리스 서버 모드는 HeadlessServerManager.

라는 스크립트를 포함하는 씬을 로드해야 한다는 점을 알아두는 것이 중요합니다.

return null;

일반적으로 이것은 빈 씬의 빈 GameObject에 의해 보관되며(해당 씬은 헤드리스 서버 빌드에만 사용됨) 그 형태로 유지됩니다. 이 데모를 위해 스크립트가 프로젝트 구조에 맞게 약간 수정되었으며 현재 해당 스크립트는.

Assets/Scenes/BoltHeadlessServer

에 위치한 씬의 빈 GameObject에 배치되어 있습니다. 게임에 헤드리스 서버 검사를 추가하기위 스크립트에는

IsHeadlessMode

라는 정적 유틸리티 메서드가 포함되어 있어 실행 중인 게임이 헤드리스인지 여부를 확인하는 데 사용됩니다. 기존 프로젝트를 업데이트하는 경우 플레이어 캐릭터 인스턴스 생성을 방지하는 등 헤드리스 서버용으로 기능을 제거하거나 추가하기 위해 이 검사를 추가할 수 있습니다. 빌드 설정 빌드 설정 프로젝트의 빌드 설정에서

BoltHeadlessServer 리눅스 씬을 최상단에 추가하여 서버가 가장 먼저 로드하도록 합니다. 다음으로 대상 플랫폼으로.

을 선택하고

서버 빌드 를 체크합니다.이제 위 설정으로 Linux용 게임을 빌드할 수 있습니다. 빌드 설정 클라이언트 빌드의 경우 씬과 IsServer

옵션의 체크를 해제하여 게임이 올바르게 작동하도록 하는 것을 잊지 마십시오. Photon Bolt용 헤드리스 서버를 만드는 모든 단계에 대한 자세한 내용은arrow-up-right.

공식 문서

에서 확인할 수 있습니다. 서버용 컨테이너 생성

Docker나 컨테이너에 익숙하지 않은 경우 다음을 확인하여 더 알아볼 수 있습니다: Docker란 무엇인가?.

Unity 프로젝트에서 컨테이너를 생성하는 방법은 다음을 참조하십시오:

Unity on Docker

앱을 Edgegap에 추가하기 이제 컨테이너를 Edgegap에 추가하여 플레이어들이 있는 모든 곳에서 호스팅할 수 있습니다..

앱을 Edgegap에 추가하는 방법을 모르는 경우 다음 demo-game 통합 튜토리얼 v1을 참조하십시오. 그러나 앱 이름이.

이어야 하고 버전 이름이 그러나 앱 이름이 이어야 합니다. 그렇지 않으면 Assets/Scripts/StaginController.cs에 위치한 스크립트에서 이러한 값을 업데이트해야 합니다.

또한 해당

스크립트 내에

API_TOKEN StartScene 이라는 상수 변수가 있습니다. Edgegap 계정에서 토큰을 생성하여 이 변수에 문자열로 붙여넣어야 합니다. 해당 토큰은 Edgegap로 전송되는 API 요청을 인증하는 데 사용됩니다.

아래는 해당 스크립트로, Edgegap의 토큰은 파란색으로, 앱 매개변수는 빨간색으로 표시되어 있습니다:

데모 게임 플레이하기 마지막으로 데모 게임 클라이언트 빌드를 시작하여 플레이할 수 있습니다. 게임의 클라이언트 버전을 빌드하여 실행하거나 Unity 인터페이스에서 직접 실행할 수 있습니다. 단, 반드시 씬에서 시작하도록 하십시오.

실행하면 인터페이스가 표시됩니다. 상단에는 텍스트 필드가 있고 두 개의 큰 버튼과 화면 왼쪽 하단에는 Bolt의 현재 상태를 보여주는 라벨이 있습니다. 상단의 텍스트 필드에 Edgegap에서 발급받은 API 토큰을 복사하여 붙여넣을 수 있습니다. 토큰을 붙여넣으면 서버 요청

마지막 업데이트

도움이 되었나요?