Boltの設定
Photon Boltにはいくつかの設定があり、Bolt Settings
ウィンドウ(Bolt/Settings
)で設定することができます。
ここではこれらの設定をリストアップします。
複製
Simulation Rate: Boltは自動的にUnityの FixedUpdate
レートを Bolt Settings
で指定した SimulationRate
に設定します。 Boltは内部的にはほとんどすべてが FixedUpdate
を利用して動作します(BoltPoll
コンポーネントを介して実行され、スクリプトの実行順が低いため最初に実行されます)。 これは ExecuteCommand
, SimulateController
, SimulateOwner
, トランスフォーム外挿、その他の FixedUpdate
を使用するすべてのものに使用されます)。
Network Rate: ネットワークパケットを送信する間に発生するシミュレーションティック数を決定します。デフォルトでは、BoltはSimulation Rateを60に、ネットワークレートを3に設定しています。 これは、各パケットごとに3回の固定更新ティックがあることを意味します。また、デフォルトでは毎秒20パケットが送信され、毎秒60回の固定更新シミュレーションティックがあることを意味します。
Max Priorities: Entity
と Property
が持つことのできる最大の優先度を指定。
Disable Dejitter Buffer: 内部デジッターバッファを無効にするか場合はチェック。
Dejitter Delay: デジッターの感度を設定。
Scoping Mode: スコーピングモードを設定します。詳細はこちら。
Instantiate Mode: Boltエンティティのインスタンス化動作を設定します。設定できるのは Server Only
, Everyone
(Server and Clients) と Per Prefab
です。
Override Time Scale: Boltを有効にすると、Unity's Time Scaleが変化したときに自動的に値が1になるように強制的に設定されます。これを無効にすることは推奨されていません(例えばゲームを一時停止させたい場合は Chronos
を使うべきです)。
IEntityBehavior Query, IPriorityCalculator Query, IEntityReplicationFilter Query: GameObjects内でコンポーネントをどのように検索するかを設定します。Component (最初のコンポーネントのみを返す)、Components (同じタイプのコンポーネントをすべて含むリストを返す)、ComponentsInChildren(子の中も検索する) で検索することができます。
接続
Limit: セッションで許可されるピアの最大数(これにはサーバー自体も含まれます)。サーバーがこの数に達すると、新しいプレイヤーの接続は自動的に失敗します。
Timeout: 接続のタイムアウト時間をミリ秒単位で指定します。この時間が経過して、リモート接続からの返信がない場合、ピアは切断されます。サーバー側では、この時間が経過するとクライアントが切断され、クライアント側では自分自身が切断されます。
Connect Timeout: 各接続試行間のタイムアウト。クライアントはサーバーからの返信を待つ必要があるので、このパラメータで待ち時間を設定することができます。低い値が速い接続を意味するわけではありません。
Connect Attempts: 接続に失敗するまでの接続試行回数の合計。
Accept Mode: クライアントがゲームサーバに接続する際に使用する Accept Mode
を設定する。デフォルトでは Auto
に設定されているのでどのクライアントも受け入れます。Manual
に設定してそれぞれの接続を個別に扱うこともできます。これについての詳細は [こちらのページ] (~~~/connection-and-authentication/accept-refuse-connection)を参照してください。
Packet Size: BoltパケットのMTUサイズをバイト単位で指定します。Photon BoltはUDPを使用しており、断片化/再構築を行わないため、最大サイズはUDP自体のMTUによっても制限されます。
Client Connection Metrics: サーバとの接続状況を確認できるようにします。このオプションを有効にすると、Bolt Remotes
ウィンドウ (Bolt/Remotes
メニューから開く) を見て接続状況を確認することができます。
Photon サービス
App Id: Photon CloudのアプリケーションID。Cloud機能を利用するためには、Photon Dashboard登録されている有効なアプリケーションが必要です。
Region: PhotonPlatform
を使ってBoltを起動する際にプレイヤーが接続しようとするリージョン。固定の Region
を使用せず、プレイヤーに最も近いリージョンに接続させたい場合は、オプションメニューの Best Region
を選択してください。
NAT Punchthrough Enabled: PhotonPlatform
を使用しているときにPhoton BoltのNATパンチ機能を有効にします。このオプションを有効にすると、Boltはクライアントとサーバー間の直接接続を試みますが、それが不可能な場合はPhoton Cloudを使った中継接続にフォールバックします。
Room Create Timeout: Photon Cloud上でのセッション作成のタイムアウトです。Serverとして起動すると、他のプレイヤーが見つけて接続できるようにSessionを作成することができます。
Room Join Timeout: セッションに参加する際のタイムアウトです。クライアントとして起動すると、利用可能なセッションをブラウズして、ゲームサーバーに接続してセッションに参加することができます。
レイテンシーシミュレーション
Enabled: レイテンシシミュレーション機能を有効にします。
Packet Loss: パケットが廃棄される割合のシミュレーション。値が大きいほど、パッケージが廃棄される可能性が高くなります。
Ping: 各パケットに加算されるラグ。2つの値に分けられます。(i)平均ラグと(ii)ジッター(通常のラグを超えて各パケットにランダムに追加される変動)です。
Noise Function: シミュレーションで使用するノイズジェネレータ機能を選択します。パケットを落とすかどうかのテストや、特定のパケットにランダムなラグを追加する場合に使用します。
その他
DLL Mode: Boltが実行している現在のビルドモード。Debug
(ログメッセージがありパフォーマンスが良い) または Release
(ログなし、最良パフォーマンス) です。
Show BoltEntity Settings Hints: 各エンティティにアタッチされた BoltEntity
コンポーネントのヒントメッセージを有効にし、各パラメータに関する詳細な情報を提供します。
Enable A2S Server Queries: Server Queriesリクエストに応答するA2Sサービスを有効にします。これについては [こちらのページ] (~~~/lobby-and-matchmaking/a2s-service) を参照してください。
A2S Server Queries Port: A2Sサービスのリスニングポート。
Log Targets: Boltログが印刷される出力先をすべて選択します。
Show Debug Info: すべてのBoltログメッセージを印刷するゲーム内コンソールを有効にします。
Toggle Key: コンソールの Debug Info
のオン/オフを切り替えるためのキーを選択します。
Visible by Default: デフォルトで Debug Info
コンソールを表示するかどうかを選択します。
Enable Source Provider Integration: Unityに付属するSource Control System
との統合を有効にします。Boltはコンパイルに必要なファイルをチェックアウトします。このトピックについてはUnity専用ページで詳しく解説しています。
コンパイラー
Warning Level: BoltをコンパイルしてユーザーDLLを生成する際には、Warning Message Level
を選択してください。Warning Levels
についての詳細は [このページ] (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/warn-compiler-option)を参照してください。
Prefab Mode: Boltプレハブが検出されるモードを次から選択します。(i) Automatic Scan
では、Boltがすべてのプロジェクトフォルダをスキャンしてプレハブを見つけて登録します。(ii) Manual Scan
では、手動でスキャンを実行する必要がありますが、Bolt Prefabs
ウィンドウのスキャンボタンを使用します。(iii) Manual
では、各プレハブを手で登録しなければなりません。