This document is about: QUANTUM 2
SWITCH TO

セットアップチュートリアル

QuantumカスタムプラグインはPhoton-Server V5に基づいており、Photon Serverのドキュメントで説明されているワークフローに従っています。詳しくはこちらをご覧ください。 Photon-Server V5 Step by Step Guide

Quantumカスタムプラグインをスタートし、最終的にはサーバーサイドゲームシミュレーションを含む実行・ローカルデバッグまでできるようになるための大事なステップ全てを網羅したチュートリアルのようなイントロダクションをご紹介します。

Exit GamesのErickがインストールとセットアップの手順をお見せしています: Quantum Custom Server Plugin Intro (YouTube)

プラグインSDKをダウンロードする

こちらからプラグインSDKをダウンロードします: Quantum SDK & Release Notes。マッチするQuantum CustomPlugin SDKバージョンが取得できない場合、お問い合わせください。

Windowsでは、zipファイルを解凍する前にブロックを解除することをお勧めします(zipファイルを右クリックし、Propertiesを選択、unblockトグルを確認してOKを押す)。PhotonServerをローカルで実行するのに問題がある場合は、これが原因になっている可能性があります。

zipファイルをQuantumプロジェクトのフォルダ内に展開して、セットアップします。

Unknown

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

別の フォルダーの場所を選択した場合、または Unity プロジェクトの名前を変更した場合は、quantum.custom.plugin\quantum.custom.plugin.csproj内の次のパスを調整して、Quantum SDK ライブラリ ファイル (PhotonDeterministic.dll, quantum.core.dll) と quantum.code.dll のリリース バージョンを指すようにします。

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サーバープラグイン(PhotonDeterministic*.dll)およびPhoton Serverライブラリ(PhotonHivePlugin.dll)が含まれます
  • Photon-Server ローカルでPhoton-Serverを実行するための必要なツールとプログラムを含むフォルダ構造
    • deploy
      • bin_Win64にはPhotonControl.exe、ローカルのPhotonServerを管理するトレイベースのツール、PhotonServerのメインアプリケーションであるPhotonSocketServer.exeが含まれており、このフォルダはライセンスファイルが格納される場所でもあります
      • LoadBalancing\GameServer\bin ローカルプラグインへの設定を供給するplugin.configの場所
    • log サーバーログファイル
    • Plugins\DeterministicPlugin\bin コンパイルされたプラグインプロジェクトとそのアセットの場所
  • quantum.custom.plugin Quantum Photon Serverプラグインを実行するソースコード

ローカルでQuantum Pluginを実行する

ライセンス

  • ExitGameのWebサイトでアカウントをまださウk精していない場合は、サインアップします
  • Webサイト Your Photon Server Licensesで、アカウントにログインしフリーライセンスファイルをダウンロードします。
  • ゲームのパブリッシュにライセンスが必要な場合は、お問い合わせください。
  • Photon-Server\deploy\bin_Win64フォルダ内に.licenseファイルを置きます。

プラグインをスタートしてデバッグする

  • Photon-Server\deploy\bin_Win64\PhotonControl.exeを一度実行し、( Windowsトレイ内でスタート) Game Server IP Config > Set Local IP: 192.168.XXX.XXXを設定する
  • quantum_custom.slnを開き、PhotonDeterministic.dll、quantum.core.dll、quantum.code.dll (自分のゲームプロジェクト)への参照が有効であることを確認します(上記のセクションを参照)。デバッグの動作がかなり遅くなるので、リリース設定でビルドされているdllを選択してください。
  • F5を押してPhotonServer内で実行中のQuantumプラグインをスタート・デバッグします。
    • ブレークポイントを設定できますが、レジューム時にタイムアウトでクライアントを切断させる可能性があります。

よくあるエラー: ライセンスファイルがない、Quantumのライブラリレファレンスが見つからないか互換性を持たない、Zipファイルが展開前にブロック解除されなかった、など…詳細はPhoton-Server\deploy\log を参照してください。

Photon-Server Pluginにクライアントを接続する

プラグインプロジェクトは、Quantumシミュレーションの実行方法と同様の方法でセットアップされます。ゲームの最終結果に権限を追加したりサーバーから直接プレイヤーを再接続するためにゲームのスナップショットを送信することができるようにするためです。

プラグインには同一のゲームライブラリデータが必要です。

1) Quantum Asset Databaseをエクスポートする

Quantum > Export > Asset DBを選択しUnityからアセットデータベースをエクスポートします。 Photon-Server\deploy\Plugins\DeterministicPlugin\bin\assetsフォルダを送信先として選択します。

Quantum 2.0:

  • ファイルの名前をassetDb.jsonからdb.jsonへ変更します(または、plugin.configファイルのパスを変更します)。
  • アセットデータベースに沿って.bytesファイルが追加作成されます。

Quantum 2.1:

  • ファイルは追加作成されません。すべてのバイナリデータはjsonに含まれます。

エキスポートアセットデータベースはquantum.code.dllに埋め込むこともできます(Quantum 2.1のみ)。Quantumのコードプロジェクト(quantum_code\quantum.code\db.json)内には既に空のプレースホルダーがあります。なければ、作成してquantum.code.csprojに追加してください。

XML

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

Unityメニューを介してquantum_code\quantum.code\db.jsonへアセットデータベースをエキスポートします。ソリューションをリコンパイルし、プラグインがDPPを作成したことを確認します。

プラグインは常にまずファイルからデータベースを読み込もうとします。何も見つからない場合、アセンブリからデータベースを読み込もうとします。

2) Math Look-Upテーブルをコピーする

Quantum UnityプロジェクトからPhoton-Server\deploy\Plugins\DeterministicPlugin\bin\assetsLUTフォルダ(quantum_unity\Assets\Photon\Quantum\Resources\LUT)をコピーします。.metaファイルは削除可能です。

3) アセットのパスを設定する

使ったばかりのアセットの場所は次のファイルで変更できます。:Photon-Server\deploy\LoadBalancing\GameServer\bin\plugin.config (PathToDBFile and PathToLUTFolder) パスは、quantum_custom\Photon-Server\deploy\Plugins\DeterministicPlugin\bin. に関連しています。

EmbeddedDBFileは、任意でquantum.codeアセンブリに埋め込まれたアセットデータベースの名前です。ファイ名は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) Unityを設定する

Photon Server Settingsファイルは、Photonクラウドの代わりにローカルURLに接続するための情報を必要とします。Unityプロジェクトを開いてPhoton Server Settingsを選択してConfigure App Settings - Local Master Serverボタンを押します。

設定要件:UseNameserver=off、Host=your local IP address、Port=5055

最後に

  • プラグインをスタートする(カスタムプラグインプロジェクトを開きF5を押す)
  • UnityのMenuシーンをスタートし、接続してプレイする
Back to top