サーバーの状態を確認する方法¶
サーバーが動作しているかどうかをゲーム内から確認したいことがあるかもしれません。
マスターサーバーの状態は、ノード数を取得することで確認できます。これはマスターサーバーに接続されているルームサーバーの数を示します。ノード数を取得するには、サーバーに接続し、NodeClientインスタンスのGetCount()メソッドを呼び出す必要があります。
public void Connect() {
StrixNetwork.instance.applicationId = "00000000-0000-0000-0000-000000000000";
StrixNetwork.instance.ConnectMasterServer(
"000000000000000000000000.game.strixcloud.net",
OnConnectCallback,
OnConnectFailedCallback
);
}
// マスターサーバーへの接続が完了したときに呼び出されるコールバック関数
private void OnConnectCallback(StrixNetworkConnectEventArgs args) {
Debug.Log("Connection established");
StrixNetwork.instance.masterSession.nodeClient.GetCount(
new GetCountMessage<CustomizableMatchServerNode>(),
response => {
Debug.Log("Node count " + response.Result.GetCount());
}, null);
}
// マスターサーバーへの接続が失敗したときに呼び出されるコールバック関数
private void OnConnectFailedCallback(StrixNetworkConnectFailedEventArgs args) {
Debug.Log("Connect failed. error = " + args.cause);
}
ここに、StrixNetwork
は、Strix APIへのインターフェイスを提供するシングルトンクラスです。
GetCount()関数は、OnConnectCallback()コールバック関数内で呼び出す必要があります。GetCount()は、接続の完了後にのみ呼び出すことができます。