This document is about: QUANTUM 3
SWITCH TO

ダッシュボード設定

はじめに

QuantumはPhotonダッシュボードから、ゲーム固有のサーバー関連の変数を追加で設定できます。

ロビープロパティ制限

最大プロパティ数:20(3.0.2から)

プロパティ型の制限:bool, byte, short, int, long, string, byte[]

string byte[] 最大長:128(3.0.2から)

ダッシュボードプロパティ

AllowedLobbyProperties

プロパティ名 | 型
AllowedLobbyProperties String

マスターサーバー上のマッチメイキングのパフォーマンス低下を防ぐために、クライアントが送信できるロビープロパティのリストを設定します。このプロパティが設定されている場合、クライアントから送信されたリストに存在しないロビープロパティは除去されます。

BlockNonProtocolMessages

プロパティ名 | 型
BlockNonProtocolMessages Boolean

デフォルトはfalseです。

trueに設定することを強く推奨します。

サーバーに送信されるすべての非プロトコルメッセージをキャンセルし、その際に「Blocked non-protocol message」ログを残します。これはtrueに設定されている際のみ有効です。

BlockPlayerProperties

プロパティ名 | 型
BlockPlayerProperties Boolean

デフォルトはfalseです。

trueに設定することを強く推奨します。

クライアントからのすべてのプレイヤープロパティ設定リクエストをキャンセルし、その際に「Blocked player properties」ログを残します。これはtrueに設定されている際のみ有効です。

BlockRoomProperties

プロパティ名 | 型
BlockRoomProperties Boolean

デフォルトはfalseです。

trueに設定することを強く推奨します。

プロパティ作成後にクライアントからのすべてのルームプロパティの設定をブロックします。特別なStartQuantumルームプロパティのみが許可されます。

注意:これはルームのIsOpen/IsVisibleにも影響します。かわりにHideRoomAfterStartSec/CloseRoomAfterStartSecを使用してください。

ClientInputExceptionTolerance

プロパティ名 | 型
ClientInputExceptionTolerance Integer

デフォルトは2です。

クライアントが切断されるまでに無視される入力のシリアライズエラー数を設定します。Quantum 3.0.1以前は、最初のエラー後にクライアントが切断されていました。この設定により、サーバーは不慮のネットワーク損失に対してわずかに堅牢になります。

バージョン3.0.2以降で設定可能です。

HideRoomAfterStartSec

プロパティ名 | 型
HideRoomAfterStartSec Integer

デフォルトは-1(無効)です。

値を0以上に設定すると、Quantumが開始してn秒後にルームが公開/検索リストから削除されます。

これによって、ルームの可視性を管理し、新しいプレイヤーが進行中のゲームへ参加しないようにすることができます。

CloseRoomAfterStartSec

プロパティ名 | 型
CloseRoomAfterStartSec Integer

デフォルトは-1(無効)です。

値を0以上に設定すると、Quantumが開始してn秒後にルームへ参加不可能になります。

ルームへ参加不可能にすることで、新しいプレイヤーの参加を防ぎます。これはゲームセッションのライフサイクルの管理に使用できます。

MaxPlayerSlots

プロパティ名 | 型
MaxPlayerSlots Integer

1クライアントが使用できるプレイヤースロット数を制限します。デフォルトは2で、1クライアントはプレイヤーを2人作成できます。

このプロパティを設定することで、このAppIdで実行されているすべてのゲームの最大プレイヤースロット数が制限されます。

クライアントごとに、Webhook(CreateGame/JoinGameのレスポンス)から値を設定することもできます。

ServerUpdateRateMs

プロパティ名 | 型
ServerUpdateRateMs Integer

サーバー上のすべてのゲームに対して、サーバーの更新レートを設定します。デフォルトの更新レートは、各ゲームのSessionConfigUpdateFPSになります。

設定にかかわらず、更新レートは1660(ms)に丸められます。

バージョン3.0.2以降で設定可能です。

SessionConfig

プロパティ名 | 型
SessionConfig Json

ダッシュボードからグローバルのSessionConfigが設定できます。クライアントが送信した設定を上書きすることで、悪意のあるプレイヤーから設定を保護します。

注意:ローカルのPhoton Serverでテストする場合、"を使用してJSONをエスケープしてください。

StartPropertyBlockedTimeSec

プロパティ名 | 型
StartPropertyBlockedTimeSec Integer

デフォルトは-1(無効)です。

値を0以上に設定すると、ルームが作成されてからn秒経過するまで、Quantumの開始がブロックされます。

ゲームが開始する前にプレイヤーの参加に十分な時間を設けるために使用できます。

StartPropertyForcedTimeSec

プロパティ名 | 型
StartPropertyForcedTimeSec Integer

デフォルトは-1(無効)です。

値を0以上に設定すると、ルームが作成されてからQuantumを開始するまでの最大待機秒数を指定できます。指定した時間を過ぎてもQuantumが開始していなければ、自動的にゲームが開始(ルームのStartQuantumプロパティがtrueに設定)されます。

ダッシュボードプロパティ(Enterprise)

ServerSimulationEnabled

プロパティ名 | 型
ServerSimulationEnabled Boolean

デフォルトはtrueです。

falseに設定すると、サーバーシミュレーションが無効になります。CreateQuantumGameResponseのWebhook(RunServerSimulation)から明示的に設定した際に上書きされます。

ServerSimulationPercent

プロパティ名 | 型
ServerSimulationPercent Integer

デフォルトは100です。

ServerSimulationEnabledtrueに設定されている場合、ゲームのシミュレーションに使用される割合に使用できます。

セキュリティと最適化

Quantum 3はプラグインを保護する新しい方法としてWebhookを導入し、Quantum 2.1の設定ベースのセキュリティから脱却しています。これによって、開発者自身のバックエンドにチェックや検知の実装がしやすくなっています。

推奨設定 - セキュリティチェックリスト

  • アプリケーションでRaiseEvent()が必要な場合のみ、BlockRoomPropertiesを無効にしてください。
  • アプリケーションでプレイヤープロパティが必要な場合のみ、BlockPlayerPropertiesを無効にしてください。
  • ルームプロパティを使用しない場合は、BlockRoomPropertiesを有効にすることを検討してください。
  • サーバーからIsVisibleを設定したい場合は、HideRoomAfterStartSecの設定を検討してください。
  • サーバーからIsOpenを設定したい場合は、CloseRoomAfterStartSecの設定を検討してください。
  • クライアントで複数のプレイヤーを持たせない場合は、MaxPlayerSlots1に設定してください。
  • Quantumセッションの開始タイミングをクライアントで制御する場合(例:Photonルーム内のロビー)は、StartPropertyBlockedTimeSecStartPropertyForcedTimeSecを使用したサーバータイムアウトを設定して、最終的にゲームを開始することを検討してください。
Back to top