ゲームのホストサーバーへの接続種類によって異なる Network Manager コールバックについて説明します。
ネットワークのコールバックに関しての詳細は、 NetworkBehaviour コールバック を参照してください。
ゲームの状態によって異なるコールバックが発信されます。3 つの状態があり、Network Manager HUD で設定可能です。
Host: ゲームを Host モードに設定するには、LAN Host(H) を選択するか、API 関数 StartHost()
を使用します。
Client: ゲームを Client モードに設定するには、LAN Client(C) を選択しサーバー IP をテキストフィールドに入力するか、API 関数 StartClient()
を使用します。サーバー IP は同じローカルネットワーク上になければなりません。同じマシンに接続している場合は、“localhost” と入力します。
Server: ゲームを Server モードに設定するには、LAN Server Only(S) を選択するか、API 関数 StartServer()
を使用します。
ランタイムの間、Network Manager HUD の制御も、Network Manager HUD コンポーネントのインスペクターウィンドウで可能です。これにアクセスするには Runtime Controls をクリックしてください。
ここでは、各モードでのコールバックを説明しています。ゲーム状態の設定についての詳細は、NetworkManager を使用する を参照してください。
コールバックのなかには、ゲームの実行時に複数のインスタンスを必要とするものもあります (例えば、2 つのスタンドアロンインスタンスや、1 つのスタンドアロンと 1 つのエディター内インスタンス)。これらのインスタンスはマシンがローカルネットワークを通して接続している限り、同じマシン上や、別個のマシンに置くことができます。
これらのコールバックを取得するために、2 つのゲームインスタンスが必要です。1 つは Host モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Host モードで実行するインスタンスに対してのみ呼び出されます。
コールバックを得る手順は以下のとおりです。インスタンスを止めるには、Stop を押すか API 関数 StopHost()
を使用します。
Step 1: Host インスタンスを開始します。
(Start()
関数が呼び出されます。)
OnStartHost
OnStartServer
OnServerConnect
OnStartClient
OnClientConnect
OnServerSceneChanged
OnServerReady
OnServerAddPlayer
OnClientSceneChanged
Step 2: Client インスタンスを開始します。
OnServerConnect
OnServerReady
OnServerAddPlayer
Step 3: Client インスタンスを止めます。
OnServerDisconnect
Step 4: Host インスタンスを止めます。
OnStopHost
OnStopServer
OnStopClient
これらのコールバックを取得するために、2 つのゲームインスタンスが必要です。1 つは Server モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Client モードで実行するインスタンスに対してのみ呼び出されます。
コールバックを得るには、最初に Server モードのインスタンスを起動し、それから、以下の手順にしたがってコールバックを受けます。インスタンスを止めるには、Stop を押すか、API 関数 StopHost()
を使用します。
Step 1: Client インスタンスを開始します。
(Start()
関数が呼び出されます。)
OnStartClient
OnClientConnect
OnClientSceneChanged
Step 2: Server インスタンスを止めます。
OnStopClient
OnClientDisconnect
これらのコールバックを取得するために、2 つのゲームインスタンスが必要です。1 つは Server モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Server モードで実行するインスタンスに対してのみ呼び出されます。
コールバックを得る手順は以下のとおりです。インスタンスを止めるには、Stop を押すか API 関数 StopHost()
を使用します。
Step 1: Server インスタントを開始します。
(Start() 関数が呼び出されます)
OnStartServer
OnServerSceneChanged
Step 2: Client インスタンスを開始します。
OnServerConnect
OnServerReady
OnServerAddPlayer
Step 3: Client インスタンスを止めます。
OnServerDisconnect
Step 4: Server インスタンスを止めます。
OnStopServer
ホストサーバーへの接続は Unity MatchMaker システムをとおして行われます。MatchMaker はリレーサーバーを経由して接続を行います。
ゲームの状態によって、異なるコールバックが発信されます。MatchMaker には Host と Client、 2 つの状態があります。 MatchMaker を使用するには、ゲームを実行し Network Manager HUD メニューから Enable Match Maker (M) を選びます。
すると MatchMaker メニューが開きます。
Host: ゲームを Host モードに設定するには、Enable Match Maker (M) > Create Internet Match を選択するか、API 関数 CreateMatch()
を使用します。
Client: ゲームを Client モードに設定するには、Enable Match Maker (M) > Find Internet Match > Join Internet Match を選択するか、API 関数 JoinMatch()
を使用します。
ここでは、各モードでのコールバックを説明しています。ゲーム状態の設定についての詳細は、NetworkManager を使用する を参照してください。
コールバックのなかには、ゲームの実行時に複数のインスタンスを必要とするものもあります (例えば、2 つのスタンドアロンインスタンスや、1 つのスタンドアロンと 1 つのエディター内インスタンス)。これらのインスタンスは同じマシン上、別個のマシン上、同じネットワーク上、別個のネットワーク上に置くことができます。ただし、すべてのマシンがインターネット接続を持つ必要があります。MatchMaker を使用すると、インターネットを使ってゲームインスタンスに接続することができます。つまり、ゲームのインスタンスを持つマシーンが遠く離れた外国にあるかもしれません。
これらのコールバックを取得するために、2 つのゲームインスタンスが必要です。1 つは Host モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Host モードで実行するインスタンスに対してのみ呼び出されます。
コールバックを得る手順は以下のとおりです。インスタンスを止めるには、Stop を押すか API 関数 StopHost()
を使用します。
Step 1: Host インスタンスを開始します。
(Start()
関数が呼び出されます。)
OnStartHost
OnStartServer
OnServerConnect
OnStartClient
OnMatchCreate
OnClientConnect
OnServerSceneChanged
OnServerReady
OnServerAddPlayer
OnClientSceneChanged
Step 2: Client インスタンスを開始し Join Internet Match を選択するか、API 関数 JoinMatch()
を使用します。
OnServerConnect
OnServerReady
OnServerAddPlayer
Step 3: Client インスタンスを止めます。
OnServerDisconnect
これらのコールバックを取得するために、2 つのゲームインスタンスが必要です。1 つは Host モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Client モードで実行するインスタンスに対してのみ呼び出されます。
コールバックを得るには、最初に Host モードのインスタンスを起動し、Client インスタンスを起動します。それから、以下の手順にしたがってコールバックを受けます。インスタンスを止めるには、Stop を押すか、API 関数 StopHost()
を使用します。
Step 1: Client インスタンスを開始し Find Internet Match を選択するか、オンラインゲームのリストを見るために API 関数 ListMatches()
を使用します。
(Start()
関数が呼び出されます。)
OnMatchList
Step 2: Client インスタンス上で Join Match を押すか、オンラインゲームに参加するために API 関数 JoinMatch()
を使用します。
OnStartClient
OnMatchJoined
OnClientConnect
OnClientSceneChanged
Step 3: Host インスタンスを止めます。
OnStopClient
OnClientDisconnect