This document is about: QUANTUM 3
SWITCH TO

Dashboard Configuration

概述

Quantum透過 Photon 儀表板提供額外的配置選項,用於設定特定的遊戲和伺服器相關變數。

大廳屬性限制

最大屬性數量:20(自 3.0.2 版本起)

屬性類型限制為:bool, byte, short, int, long, string, byte[]

string byte[]的最大長度:128(自 3.0.2 版本起)

儀表板屬性

AllowedLobbyProperties

屬性名稱 | 類型
AllowedLobbyProperties 字串

設定一個允許客戶端發送作為大廳屬性的清單,以保護主伺服器上的配對效能。如果設定此屬性,客戶端發送的非清單內屬性將被移除。

BlockNonProtocolMessages

屬性名稱 | 類型
BlockNonProtocolMessages 布林值

預設為 false

強烈建議設定為 true

取消所有發送到伺服器的非協議訊息,並在觸發條件時記錄「已阻擋非協議訊息」。僅在設定為 true 時生效。

BlockPlayerProperties

屬性名稱 | 類型
BlockPlayerProperties 布林值

預設為false

強烈建議設定為true

取消所有客戶端的玩家屬性設定請求,並在觸發時記錄「已阻擋玩家屬性」。僅在設定為 true 時生效。

BlockRoomProperties

屬性名稱 | 類型
BlockRoomProperties 布林值

預設為false

強烈建議設定為true

阻擋客戶端在房間創建後設定的所有房間屬性,除了特殊的StartQuantum房間屬性。

注意:這也會影響房間的IsOpenIsVisible。請改用HideRoomAfterStartSecCloseRoomAfterStartSec來控制這些屬性。

ClientInputExceptionTolerance

屬性名稱 | 類型
ClientInputExceptionTolerance 整數

預設為2

此屬性設定在斷開客戶端連接前,將忽略的輸入序列化錯誤次數。Quantum 3.0.1 及更早版本會在第一次發生錯誤時斷開客戶端連接。此設定使伺服器對隨機網路錯誤更具韌性。

自版本:3.0.2。

HideRoomAfterStartSec

屬性名稱 | 類型
HideRoomAfterStartSec 整數

預設為-1(停用)。

如果設定為大於零的數字,Quantum 啟動後n秒,房間將從公開或搜尋列表中移除。

這有助於管理房間可見性,確保新玩家不會加入已開始的遊戲。

CloseRoomAfterStartSec

屬性名稱 | 類型
CloseRoomAfterStartSec 整數

預設為-1(停用)。

如果設定為大於零的數字,Quantum 啟動後n秒,房間將被關閉。

關閉房間可防止任何新玩家加入,並可用於管理遊戲階段的生命週期。

MaxPlayerSlots

屬性名稱 | 類型
MaxPlayerSlots 整數

限制一個客戶端可啟用的玩家槽位數量。預設為2,允許一個客戶端創建兩個本地玩家。

設定此屬性將限制該 AppId 下所有遊戲的最大玩家槽位。

該值也可透過 Webhooks(CreateGameJoinGame回應)為個別客戶端設定。

ServerUpdateRateMs

屬性名稱 | 類型
ServerUpdateRateMs 整數

如果設定此屬性,將為所有遊戲設定伺服器的更新速率。預設情況下,更新速率來自特定遊戲的SessionConfig中設定的UpdateFPS

無論如何,更新速率將被限制在1660毫秒之間。

自版本:3.0.2。

SessionConfig

屬性名稱 | 類型
SessionConfig Json

允許在儀表板中設定全域的 SessionConfig,覆蓋客戶端發送的配置,以防止惡意玩家。更多控制此配置的選項由 Webhooks 提供。

注意:在本地 Photon 伺服器測試時,請使用"來跳脫 JSON。

StartPropertyBlockedTimeSec

屬性名稱 | 類型
StartPropertyBlockedTimeSec 整數

預設為-1(停用)。

如果設定為大於零的數字,Quantum 的啟動將被阻擋,直到房間創建後經過n秒。

可用於確保玩家有足夠的時間在遊戲開始前加入。

StartPropertyForcedTimeSec

屬性名稱 | 類型
StartPropertyForcedTimeSec 整數

預設為-1(停用)。

如果設定為大於零的數字,則指定房間創建後 Quantum 在房間內啟動的最大秒數。如果超過指定時間,且遊戲尚未啟動,則會將房間的遊戲屬性中的 "StartQuantum" 設為 true。

儀表板屬性(企業版)

ServerSimulationEnabled

屬性名稱 | 類型
ServerSimulationEnabled 布林值

預設為true

如果設定為false,伺服器模擬將被停用。當CreateQuantumGameResponse Webhook(RunServerSimulation)明確設定時,此值將被覆蓋。

ServerSimulationPercent

屬性名稱 | 類型
ServerSimulationPercent 整數

預設為100

如果ServerSimulationEnabled設定為true,此屬性可用於僅模擬一定比例的遊戲。

安全與優化

Quantum 3 引入了 Webhooks 作為保護插件的新方法,取代了 Quantum 2.1 基於配置的安全措施。這一轉變旨在讓開發者更容易將檢查和偵測功能整合到自己的後端中。

推薦設定 - 安全檢查清單

  • 僅在應用程式需要RaiseEvent()時停用BlockRoomProperties
  • 僅在應用程式需要玩家屬性時停用BlockPlayerProperties
  • 考慮啟用BlockRoomProperties並永不使用房間屬性。
  • 考慮設定HideRoomAfterStartSec,以允許伺服器設定IsVisible
  • 考慮設定CloseRoomAfterStartSec,以允許伺服器設定IsOpen
  • MaxPlayerSlots設為1,以禁止每個客戶端擁有多個玩家。
  • 如果客戶端控制 Quantum 階段的啟動(例如 Photon 房間內的遊戲大廳),請考慮使用StartPropertyBlockedTimeSecStartPropertyForcedTimeSec,以使用伺服器超時來最終啟動遊戲。
Back to top