セットアップチュートリアル
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プロジェクトのフォルダ内に展開して、セットアップします。
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\assets
へLUT
フォルダ(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シーンをスタートし、接続してプレイする