ダッシュボード設定
はじめに
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 |
サーバー上のすべてのゲームに対して、サーバーの更新レートを設定します。デフォルトの更新レートは、各ゲームのSessionConfigのUpdateFPSになります。
設定にかかわらず、更新レートは16~60(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です。
ServerSimulationEnabledがtrueに設定されている場合、ゲームのシミュレーションに使用される割合に使用できます。
セキュリティと最適化
Quantum 3はプラグインを保護する新しい方法としてWebhookを導入し、Quantum 2.1の設定ベースのセキュリティから脱却しています。これによって、開発者自身のバックエンドにチェックや検知の実装がしやすくなっています。
推奨設定 - セキュリティチェックリスト
- アプリケーションで
RaiseEvent()が必要な場合のみ、BlockRoomPropertiesを無効にしてください。 - アプリケーションでプレイヤープロパティが必要な場合のみ、
BlockPlayerPropertiesを無効にしてください。 - ルームプロパティを使用しない場合は、
BlockRoomPropertiesを有効にすることを検討してください。 - サーバーから
IsVisibleを設定したい場合は、HideRoomAfterStartSecの設定を検討してください。 - サーバーから
IsOpenを設定したい場合は、CloseRoomAfterStartSecの設定を検討してください。 - クライアントで複数のプレイヤーを持たせない場合は、
MaxPlayerSlotsを1に設定してください。 - Quantumセッションの開始タイミングをクライアントで制御する場合(例:Photonルーム内のロビー)は、
StartPropertyBlockedTimeSecとStartPropertyForcedTimeSecを使用したサーバータイムアウトを設定して、最終的にゲームを開始することを検討してください。
- はじめに
- ロビープロパティ制限
- ダッシュボードプロパティ
- AllowedLobbyProperties
- BlockNonProtocolMessages
- BlockPlayerProperties
- BlockRoomProperties
- ClientInputExceptionTolerance
- HideRoomAfterStartSec
- CloseRoomAfterStartSec
- MaxPlayerSlots
- ServerUpdateRateMs
- SessionConfig
- StartPropertyBlockedTimeSec
- StartPropertyForcedTimeSec
- ダッシュボードプロパティ(Enterprise)
- セキュリティと最適化
- 推奨設定 - セキュリティチェックリスト