Set Up Tutorial
Quantum自訂外掛程式是基於Photon伺服器V5,並且遵循Photon伺服器文件中描述的工作流程。請參見這些文件以進一步閱讀:Photon伺服器V5逐步指引
這裡我們展示一個概述教學,其中有所有基礎步驟,以透過Quantum自訂外掛程式開始,並且最終在本機運行及偵錯它,包含伺服器側的遊戲模擬。
請觀看來自出口遊戲的艾瑞克(Erick from Exit Games),來了解安裝及設定過程:Quantum自訂伺服器外掛程式概述(YouTube)
下載外掛程式SDK
在此處下載外掛程式SDK套件:Quantum SDK及版本資訊。如果一個相符的Quantum自訂外掛程式SDK版本不可用,請詢問我們。
在Windows作業系統上,最好在解壓縮之前解除封鎖壓縮檔(右鍵點擊壓縮檔,選擇屬性,點選解除封鎖的切換並按確認)。如果您在讓Photon伺服器在本機運行時遇到問題,這可能是原因。
解壓縮壓縮檔到一個在您的Quantum專案之中的資料夾,以進行這個設定:
Quantum project
assemblies
quantum_code
quantum_custom (or any other name)
assemblies
Photon-Server
quantum.custom.plugin
quantum_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伺服器程式庫(PhotonHivePlugin.dll)Photon-Server
資料夾架構包含必要工具及程式,以在本機運行Photon伺服器deploy
bin_Win64
含有PhotonControl.exe,這是一個基於匣的工具,以控制本機Photon伺服器,PhotonSocketServer.exe是Photon伺服器主應用程式,並且這個資料夾也是授權檔案應該去的地方LoadBalancing\GameServer\bin
,plugin.config
的位置,其為我們的本機外掛程式提供設定
log
伺服器記錄檔案Plugins\DeterministicPlugin\bin
已編譯的外掛程式及其資產的位置
quantum.custom.plugin
來源程式碼,其運行一個Quantum Photon伺服器外掛程式
在本機運行Quantum外掛程式
授權
- 如果您還未獲得授權,請在我們的網站上建立一個出口遊戲(Exit Games)帳號註冊。
- 造訪此網站您的Photon伺服器授權,登入您的帳戶並且下載您的免費授權檔案。
- 如果您需要授權以發布一個遊戲,請聯絡我們
- 將
.license
檔案放到Photon-Server\deploy\bin_Win64
資料夾之中
開始及偵錯外掛程式
- 開啟quantum_custom.sln並且確保到PhotonDeterministic.dll、quantum.core.dll及quantum.code.dll(您的遊戲專案)的參照是有效的(請參見上述章節)。選擇由發行組態來組建的DLL,因為偵錯將更慢地運行。
- (只有 等到 Quantum 2.0/Photon伺服器4)運行
Photon-Server\deploy\bin_Win64\PhotonControl.exe
一次(其在Windows作業系統匣中開始),並且選擇Game Server IP Config > Set Local IP: 192.168.XXX.XXX
- 按下F5以開始及偵錯在Photon伺服器中運行的Quantum外掛程式
- 您可以設定中斷點,但是因為在恢復時的逾時,它可能會取消連接客戶端
常見錯誤: 沒有授權檔案,未找到Quantum程式庫參照或不相容,解壓縮前沒有解除封鎖壓縮檔,檢查Photon-Server\deploy\log
以取得更多資訊...
連接客戶端到Photon伺服器外掛程式
外掛程式專案被設定成也可以運行您的Quantum模擬。新增對於最終遊戲結果的授權,或者能夠直接從伺服器向重新連接的玩家發送遊戲快照,這些都很有趣。
外掛程式需要 相同的遊戲程式庫 及 資料:
1) 匯出Quantum資產資料庫
透過選擇Quantum > Export > Asset DB
,從Unity匯出資產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>
透過Unity選單匯出資產db到quantum_code\quantum.code\db.json
。重新編譯解決方案,並且確保外掛程式是剛剛建立的DLL。
外掛程式將總是先嘗試從檔案載入db。如果沒有發現,它將嘗試從組件載入db。
2) 複製數學查閱表
從您的Quantum Unity專案複製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
(路徑到DB檔案及路徑到LUT資料夾)。路徑是相對於quantum_custom\Photon-Server\deploy\Plugins\DeterministicPlugin\bin
。
已嵌入DB檔案是選擇性的被嵌入到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) 組態Unity
Photon伺服器設定檔案需要資訊來連接到一個本機的URL以取代Photon雲端。開啟您的Unity專案,選擇Photon伺服器設定檔案,並且按下Configure App Settings
- Local Master Server
按鍵。
設定需要:使用名稱伺服器=關閉,主機端=您的本機IP位址,埠=5055
最終
- 開始外掛程式(開啟自訂外掛程式專案並且按下F5)
- 在Unity中開始選單場景,連接並遊玩