This document is about: QUANTUM 2
SWITCH TO

설정 튜토리얼

Quantum 사용자 지정 플러그인은 Photon-Server V5를 기반으로 하며 Photon Server 문서에 설명된 작업 흐름을 따릅니다. 자세한 내용을 보려면 다음 문서를 살펴보십시오: Photon-Server V5 단계별 지침서

여기서는 Quantum 사용자 지정 플러그인을 시작하고 서버 측 게임 시뮬레이션을 포함하여 로컬에서 실행하고 디버깅하기 위한 모든 필수 단계가 포함된 소개와 같은 튜토리얼을 제공합니다.

Exit Games의 Erick의 설치 및 설정 과정을 확인해 보세요: Quantum 사용자 지정 서버 플러그인 소개(YouTube)

플러그인 SDK 다운로드

플러그인 SDK 패키지는 여기에서 다운로드: Quantum SDK & 릴리즈 노트. 일치하는 Quantum CustomPlugin SDK 버전이 없다면 문의 바랍니다.

Windows에서는 압축을 풀기 전에 zip 파일을 차단 해제하는 것이 좋습니다(zip 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 차단 해제를 선택하고 확인을 누릅니다). Photon Server를 로컬로 실행하는 데 문제가 있는 경우 이 문제가 원인일 수 있습니다.

Zip 파일을 Quantum 프로젝트 내의 폴더에 추출하여 다음 설정을 수행하세요:

Unknown

Quantum project
    assemblies
    quantum_code
    quantum_custom (or any other name)
        assemblies
        Photon-Server
        quantum.custom.plugin
    quantum_unity
    ...

다른 폴더 위치를 선택하면 Quantum SDK 라이브러리 파일(PhotonDeterministic.dll, quantum.core.dll) 과 quantum.code.dll의 릴리즈 버전을 알려주기 위해 경로를 quantum.custom.plugin\quantum.custom.plugin.csproj에서 조정합니다.

XML

<Reference Include="PhotonDeterministic">
    <HintPath>..\..\assemblies\release\PhotonDeterministic.dll</HintPath>
</Reference>
<Reference Include="quantum.core">
    <HintPath>..\..\assemblies\release\quantum.core.dll</HintPath>
</Reference>
<Reference Include="quantum.code">
    <HintPath>..\..\quantum_unity\Assets\Photon\Quantum\Assemblies\quantum.code.dll</HintPath>
</Reference>

SDK 내용

  • assemblies 폴더에는 Quantum Server 플러그인(PhotonDeterministic*.dll)과 Photon Server libs(PhotonHivePlugin.dll)가 포함됩니다.
  • Photon-Server 폴더 구조에는 Photon-Server를 로컬로 실행하는 데 필요한 도구 및 프로그램이 포함됩니다.
    • deploy
      • bin_Win64에는 로컬 Photon Server, PhotonSocketServer를 제어하는 트레이 기반 도구인 PhotonControl.exe가 포함되어 있습니다. 이는 Photon Server 메인 애플리케이션이며 이 폴더는 라이센스 파일이 저장되어야 하는 장소이기도 합니다.
      • LoadBalancing\GameServer\binplugin.config의 위치로 로컬 플러그인의 설정을 제공합니다.
    • log 서버 로그 파일
    • Plugins\DeterministicPlugin\bin은 컴파일된 플러그인 프로젝트와 에셋의 위치
  • quantum.custom.plugin Quantum Photon 서버 플러그인을 실행하는 소스 코드

로컬에서 Quantum 플러그인 실행하기

라이선스

  • 라이선스가 아직 없으면, 웹사이트 가입에서 Exit Games의 계정을 생성합니다.
  • 웹 사이트Photon Server 라이선스 를 방문하여 계정으로 로그인하고 무료 라이선스 파일을 다운로드합니다.
  • 게임을 퍼블리싱하는 데 라이선스가 필요하면 developer@photonengine.com 로 문의하세요.
  • .license 파일을 Photon-Server\deploy\bin_Win64 폴더에 놓습니다.

시작하고 플러그인 디버깅

  • quantum_custom.sln을 오픈하고 PhotonDeterministic.dll, quantum.core.dll 그리고 quantum.code.dll(게임 프로젝트)에 대한 참조가 올바른지 확인합니다(위의 섹션 참조). 디버그 실행 속도가 상당히 느리므로 릴리스 구성으로 빌드 된 dll을 선택하십시오.
  • (Quantum 2.0 / PhotonServer 4까지 만) Photon-Server\deploy\bin_Win64\PhotonControl.exe 을 한번 실행하고 (Windows 트레이 내부에 시작됨) Game Server IP Config > Set Local IP: 192.168.XXX.XXX을 선택합니다.
  • Photon-Server 내에서 실행되는 Quantum 플러그인을 시작하고 디버깅하려면 F5를 누릅니다.
  • 중단점을 설정할 수 있지만 재개할 때 시간 초과로 인해 클라이언트의 연결이 끊어질 수 있습니다.

일반 오류 라이센스 파일이 없습니다. Quantum 라이브러리 참조가 없거나 호환되지 않습니다. 압축을 풀기 전에 zip 파일이 차단 해제되지 않았습니다. 자세한 내용은 Photon-Server\deploy\log를 확인하십시오.

Photon-Server 플러그인으로 클라이인트 연결

플러그인 프로젝트는 quantum 시뮬레이션도 실행하는 방식으로 설정됩니다. 이것은 최종 게임 결과에 대한 권한을 추가하거나 서버에서 직접 플레이어를 다시 연결하는 게임 스냅샷을 보낼 수 있다는 점에서 흥미로울 수 있습니다.

플러그인을 사용하려면 동일한 게임 라이브러리데이터가 필요합니다.

1) Quantum 에셋 데이터베이스 내보내기

Quantum > Export > Asset DB을 선택하여 유니티에서 에셋 db를 내보냅니다. 목적 폴더로 Photon-Server\deploy\Plugins\DeterministicPlugin\bin\assets 을 선택합니다.

Quantum 2.0:

  • assetDb.json을 db.json으로 이름을 변경합니다 (또는 plugin.config 내부에서 경로를 변경)
  • 추가적인 .bytes 파일들은 에셋 DB와 함께 파일이 생성됩니다.

Quantum 2.1:

  • 추가적인 파일은 생성되지 않습니다. 모든 바이너리 데이터가 json 내에 포함되어 있습니다.

선택적으로 내보내기 에셋 DB를 quantum.code.dll(Quantum 2.1 만)에 포함할 수 있습니다. Quantum 코드 프로젝트( quantum_code\quantum.code\db.json) 내에 이미 빈 자리 표시자 파일이 있습니다. 그렇지 않으면 생성하고 quantum.code.csproj에 추가합니다:

XML

  <ItemGroup>
    <EmbeddedResource Include="db.json" />
    ...
  </ItemGroup>

유니티 메뉴를 통해 에셋 db를 quantum_code\quantum.code\db.json으로 내보냅니다. 솔루션을 다시 컴파일하고 플러그인이 방금 생성한 dll 인지 확인하십시오.

플러그인은 항상 파일에서 먼저 DB를 로드하려고 시도합니다. 찾을 수 없는 경우 어셈블리에서 DB 로드를 시도합니다.

2) 매치 룩업 테이블 복사

Quantum 유니티 프로젝트에서 LUT 폴더 (quantum_unity\Assets\Photon\Quantum\Resources\LUT)를Photon-Server\deploy\Plugins\DeterministicPlugin\bin\assets으로 복사합니다. .meta 파일을 삭제할 수 있습니다.

3) 에셋 경로 구성

방금 사용한 자산의 위치를 이 파일에서 변경할 수 있습니다.: Photon-Server\deploy\LoadBalancing\GameServer\bin\plugin.config (PathToDBFile 및 PathToLUTFolder). 경로들은 quantum_custom\Photon-Server\deploy\Plugins\DeterministicPlugin\bin의 상대적인 경로입니다.

EmbeddedDBFile은 선택적으로 quantum.code 어셈블리에 포함된 에셋 DB의 이름입니다. 파일 이름은 db.json이지만 Quantum.이 프리픽스가 필요합니다.

XML

<PluginSettings Enabled="true">
    <Plugins>
      <Plugin Name="DeterministicPlugin" Version="" 
              AssemblyName="quantum.custom.plugin.dll" 
              Type="Quantum.QuantumCustomPluginFactory" 
              PathToLUTFolder="assets/LUT" 
              PathToDBFile="assets/db.json" 
              EmbeddedDBFile="Quantum.db.json"/>
    </Plugins>
  </PluginSettings>

플러그인을 온라인으로 게시하는 경우 Photon 관리 화면에서 이러한 경로를 구성해야 합니다.

4) 유니티 구성

Photon Server 설정 파일에는 Photon 클라우드 대신 로컬 URL에 연결하기 위한 정보가 필요합니다. 유니티 프로젝트를 열고 Photon Server 설정 파일을 선택하고 Configure App Settings - Local Master Server 버튼을 누릅니다.

필요한 설정: UseNameserver=off, Host=your local IP address, Port=5055

마지막으로

  • 플러그인을 시작합니다(사용자 지정 플러그인 프로젝트를 열고 F5 키를 누릅니다).
  • 유니티에서 메뉴 씬을 시작하고 연결한 후 플레이합니다.
Back to top