This document is about: QUANTUM 2
SWITCH TO

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專案之中的資料夾,以進行這個設定:

Unknown

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\binplugin.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中開始選單場景,連接並遊玩
Back to top