NetworkServer は基本的なネットワーク機能のために NetworkServerSimple を利用し、さらにゲームらしい機能を追加します。
NetworkServer は、NetworkServerSimple インスタンス経由で、リモートクライアントによるリモートの接続を処理します。また、NetworkServer にはローカルクライアントのためのローカルの接続もあります。
NetworkServer はシングルトンです。NetworkServer には NetworkServer.SendToAll() やNetworkServer.Spawn() のように自動的にシングルトンインスタンスを使う便利な静的関数があります。
NetworkManager は NetworkServer を利用しますが、NetworkManager なしで使用されることもあります。
生成されネットワークされたオブジェクトは、NetworkServer によって管理されます。オブジェクトは NetworkServer.Spawn() によってクライアント上で生成され、このセットに登録されます。生成されたオブジェクトが破棄されると、自動的にセットから削除されます。または、NetworkServer.UnSpawn() を呼び出すことによってセットから削除されます。この場合は、そのオブジェクトは破棄されせん。
NetworkServer によって使用される内部的なメッセージは多数あり、NetworkServer.Listen() が呼び出されると設定されます。
active | サーバーが開始しているかどうかを確認します |
connections | クライアントからのすべてのカレントコネクションのリスト |
dontListen | 有効である場合、サーバーは通常のネットワークポート上で外部からの接続を受け付けません |
handlers | メッセージハンドラーのディクショナリはサーバーに登録されています。 |
hostTopology | サーバーが使用しているホストのトポロジ |
listenPort | サーバーがlistenしているポート |
localClientActive | trueの場合、ローカルクライアントはサーバー上で現在アクティブになっています。 |
localConnections | サーバー上のローカルコネクションのリスト |
maxDelay | 接続のパケットを送信する前にかける最大ディレイ |
networkConnectionClass | 新規のネットワークコネクションを作成するときに使用されるクラス |
numChannels | ネットワークが持つチャンネル数 |
objects | サーバー上に生成されているネットワークオブジェクトのディクショナリです。 |
serverHostId | このサーバーで使用されるトランスポート層のホストID |
useWebSockets | サーバーが、通常のトランスポートレイヤー接続の代わりに、WebSocket 接続をリスニングするようにします。 |
AddExternalConnection | これは、別の外部ソースからネットワークコネクションを受け入れ、サーバーに追加します。 |
AddPlayerForConnection | AddPlayer メッセージハンドラーがプレイヤーからリクエストを受領すると、サーバーはこの関数を呼び出しプレイヤーオブジェクトと接続します。 |
BecomeHost | サーバーから切断されているクライアントが、新バージョンのゲームのホストになることを可能にします。 |
ClearHandlers | すべての登録済みのコールバックハンドラーを消去します。 |
ClearLocalObjects | サーバーによって認識されているすべてのネットワークオブジェクトをクリアします。シーンの変さらにおいて、通常の方法で(シーンを)を破壊することがなくすべてのネットワークオブジェクトを削除したい場合、必要とすることがあります。 |
ClearSpawners | このサーバーに登録されているすべてのスポーンプレハブとスポーンハンドラー関数を消去します。 |
Configure | サーバー用にトランスポート層を設定します。 |
Destroy | すべてのクライアントでこのオブジェクトと対応するオブジェクトを破棄します。 |
DestroyPlayersForConnection | サーバーで NetworkConnections に関連するすべてのプレーヤー物をオブジェクトを破棄します。 |
DisconnectAll | 現在接続されているすべてのクライアントを切断します。 |
FindLocalObject | 特定のネットワーク ID を持つローカルの NetworkIdentity オブジェクトを探します。 |
GetConnectionStats | すべての接続のパケット統計情報を集計して取得します。 |
GetStatsIn | サーバーのインバウンドネットワーク統計情報を取得します。 |
GetStatsOut | クライアントのアウトバウンド(送信方向)ネットワーク統計情報を取得します。 |
Listen | 指定のポート番号でサーバーを起動します。マッチが作成されている場合、ローカルソケットの代わりにリレーサーバーを使用してリストすることに注意してください。 |
ListenRelay | リレーサーバーを使用するサーバーを起動します。マッチが存在する場合、通常、NetworkServer.Connect() が自動的にリレーサーバーを使用するのと同じように、リレーサーバーを手動で使う方法です。 |
RegisterHandler | 特定のメッセージタイプのハンドラーを登録します。 |
RemoveExternalConnection | これは、AddExternalConnection() で追加された外部の接続を削除します。 |
ReplacePlayerForConnection | これは別のプレイヤーオブジェクトで接続しているプレイヤーオブジェクトを置き換えます。古いプレイヤーオブジェクトは破棄されません。 |
Reset | NetworkServer シングルトンをリセットします。 |
ResetConnectionStats | すべての接続のパケット統計情報をリセットします。 |
SendByChannelToAll | 指定されたトランスポート層の QoS チャンネル上のすべての接続されたクライアントに対してネットワークメッセージを送信します。 |
SendByChannelToReady | 指定されたトランスポート層の QoS チャンネル上ですべての準備(ready)ができている接続されているクライアントにネットワークメッセージを送信します。 |
SendBytesToPlayer | 特定のプレイヤーにバイト配列を送信します。 |
SendBytesToReady | すべての準備ができているプレイヤーにバイト配列を送信します。 |
SendToAll | 指定されたタイプ番号で Message 構造体を接続されているすべてのクライアントに送信します。 |
SendToClient | 指定した接続 ID を持つクライアントに Message を送信します。 |
SendToClientOfPlayer | 与えられたプレイヤーオブジェクトのインスタンスを所有するクライアントにメッセージを送信します。 |
SendToReady | 指定された番号で Message 構造体を準備ができているクライアントだけに送信します。 |
SendUnreliableToAll | 指定した Message 構造体を Unreliable Message としてすべての接続されているクライアントに送信します。 |
SendUnreliableToReady | 指定した Message 構造体を Unreliable Message として準備できたクライアントにのみに送信します。 |
SendWriterToReady | 準備できているプレイヤーに NetworkWriter オブジェクトの内容を送信します。 |
SetAllClientsNotReady | 準備ができていないとき、すべての接続されているクライアントをマークします。 |
SetClientNotReady | 接続のクライアントを Not Ready に設定します。 |
SetClientReady | 準備ができているクライアントをセットします。 |
SetNetworkConnectionClass | 新しいネットワークコネクションを作成するときに使用されるクラスを設定します。 |
Shutdown | サーバをシャットダウンし、すべてのクライアントを切断します。 |
Spawn | 準備できているすべてのクライアントで特定のゲームオブジェクトを生成します。 |
SpawnObjects | シーンの NetworkIdentity オブジェクトがサーバーで生成されるようになります。 |
SpawnWithClientAuthority | これは NetworkServer.Spawn() のようなオブジェクトを生成するだけでなく指定されたクライアントに Client Authority を割り当てます。 |
UnregisterHandler | 特定のメッセージのタイプのハンドラーを登録解除します。 |
UnSpawn | 生成された(spawned)、または生成(un-spawn)しないオブジェクトを取得します。 |