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房間屬性。
注意:這也會影響房間的IsOpen和IsVisible。請改用HideRoomAfterStartSec和CloseRoomAfterStartSec來控制這些屬性。
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(CreateGame和JoinGame回應)為個別客戶端設定。
ServerUpdateRateMs
| 屬性名稱 | 類型 | |
|---|---|
| ServerUpdateRateMs | 整數 |
如果設定此屬性,將為所有遊戲設定伺服器的更新速率。預設情況下,更新速率來自特定遊戲的SessionConfig中設定的UpdateFPS。
無論如何,更新速率將被限制在16到60毫秒之間。
自版本: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 房間內的遊戲大廳),請考慮使用
StartPropertyBlockedTimeSec和StartPropertyForcedTimeSec,以使用伺服器超時來最終啟動遊戲。
- 概述
- 大廳屬性限制
- 儀表板屬性
- AllowedLobbyProperties
- BlockNonProtocolMessages
- BlockPlayerProperties
- BlockRoomProperties
- ClientInputExceptionTolerance
- HideRoomAfterStartSec
- CloseRoomAfterStartSec
- MaxPlayerSlots
- ServerUpdateRateMs
- SessionConfig
- StartPropertyBlockedTimeSec
- StartPropertyForcedTimeSec
- 儀表板屬性(企業版)
- 安全與優化
- 推薦設定 - 安全檢查清單