トラブルシューティング
ノート: このページのコンテンツは、Unity Cloud Dashboard で使用可能な Multiplay Hosting に関連しています。Clanforge を使用している場合は、Clanforge のドキュメント を参照してください。
サーバーのトラブルシューティング
欠落しているサーバーインスタンス
初めて フリートを作成 する場合、新しいサーバーが Unity Cloud Dashboard に表示されるまで数分かかる場合があります。
15 分後もサーバーが表示されない場合は、フリート 内の各 地域 のスケーリング設定を確認してください。最低サーバー数 の設定 が 1 未満の場合、Unity Cloud Dashboard にサーバーが表示されないことがあります。
サーバーがクラッシュする
サーバーはクラッシュすることがあり、そのサーバー上のアクティブなゲーム 割り当て は終了します。以下のリストは、サーバーがクラッシュするいくつかの一般的な理由の詳細を示します。
- サーバーがプレイヤー数に対して多すぎるリソースを使用している。
- ビルド設定に何らかの不具合がある。
- 実行可能ビルドが存在しない。
サーバーがクラッシュし、ビルド にバグがないことが確かな場合は、カスタマーサクセスチームに問い合わせてください。
ノート: Multiplay Hosting は、実行可能ビルドを再起動する前に、スタックトレースを確認できるようにプロセスのダンプを試みます。これはログに SIGSEGV
として表示されます。
サーバーの開始が失敗する
サーバーの起動が失敗し、割り当てでサーバーを使用できないことがあります。以下のリストは、サーバーの開始が失敗するいくつかの一般的な理由の詳細を示します。
- 実行可能ビルドに何らかの不具合がある。
- サーバーがプレイヤー数に対して多すぎるリソースを使用している。
- ビルド設定 に何らかの不具合がある。
サーバーインスタンスが多すぎる
予想よりも多くのサーバーインスタンスが Unity Cloud Dashboard に表示される場合、使用率の設定に従って Multiplay Hosting が サーバー密度 を管理する方法が原因である可能性があります。
Multiplay Hosting は、これら 2 台の追加サーバーを作成して、使用可能容量 を最大限に活用します。デフォルトでは、これらの追加サーバーは停止状態で、新規マシンを開始する必要なしに サーバー可用性 をすばやく増やす方法を提供します。
インストールのトラブルシューティング
ビルドのインストールが遅い
通常、ビルドのインストールは 5 分から 15 分より長くかかることはありません。以下のリストは、ゲームイメージのインストールに予想よりも長い時間がかかるいくつかの一般的な理由の詳細を示します。
- ビルドが非常に大きい。
- 多数のサーバーを同時に更新している。
使用率の設定のトラブルシューティング
使用率の設定が最適化されない
最適な値が見つかるまで、サーバー密度 値を複数回調整することが必要な場合があります。例えば、この ビルド設定 を実行しているサーバーが遅いかパフォーマンスの問題を示している場合は、サーバー密度設定 を調整します。
ゲームサーバーに最適な使用率の設定を見つける最善の方法の 1 つは、約 100 MHz の増分と減分で CPU 値を変更し、約 100 MB の増分と減分で RAM 値を変更することです。毎回、変更を行い、ビルドをテストしてそのビルドでのサーバーのパフォーマンスを表示します。
サーバーが使用している CPU が多すぎる
サーバーが予想よりも多くの CPU を使用する理由は数多くあります。ただし、1 つの一般的な理由は、メインのゲームループが CPU で可能な全速力で稼働し、すべてのリソースを消費していることです。Multiplay Hosting は、これを検出し、猶予期間の経過後にサーバーを停止します。
アプリケーションのターゲットフレームレートと各フレーム間に通過する垂直同期の数を制限することで、これを防ぐことができます。
アプリケーションのターゲットフレームは、Application.targetFrameRate
設定でコントロールされます。ほとんどの場合、約 60
の値に設定すると、ゲームループによる CPU の使いすぎを防ぐことができます。
Application.targetFrameRate スクリプトのリファレンスドキュメント を参照してください。
Application.targetFrameRate = 60
QualitySettings.vSyncCount
設定は、表示なしでもゲームが使用する垂直同期をコントロールします。ほとんどの場合、0
に設定すると、ゲームループによる CPU の使いすぎを防ぐことができます。QualitySettings.vSyncCount スクリプトのリファレンスドキュメント を参照してください。
QualitySettings.vSyncCount = 0
ログのトラブルシューティング
欠落しているファイルまたはログ
Multiplay Hosting を使用して、Unity Cloud Dashboard でサーバーファイルを表示できます。サーバーファイルにアクセスする前に、以下を行います。
起動パラメーター、構成変数、またはその両方を使用して、正しいログの場所をビルド設定に指定します。クエリプロトコルと同様に、ビルドで実装されているログとファイルの場所は、そのビルドを指しているすべてのビルド設定のログとファイルの場所と一致する必要があります。以下のコードブロックに、起動パラメーターでの
$$log_dir$$
および$$file_dir$$
構成変数の使用方法を示します。
-logFile $$log_dir$$/Engine.log -dataPath $$files_dir$$
ノート: Unreal Engine を使用してゲームをビルドした場合は、Unity Cloud Dashboard からログにアクセスする前に、ログをリダイレクト する必要があります。
ノート: サーバー実行ファイルが Unity ビルドの場合は、起動パラメーターで -logFile $$log_dir$$
を使用します。Unity ビルドを使用していて、ログファイルが Unity Cloud Dashboard に表示されない場合は、-logFile $$log_dir$$/logfile.log
を使用してみてください。
エディターのトラブルシューティング
プレイヤービルド中のエラー: 現在選択されているスクリプティングバックエンド (Mono) がインストールされていません
Unity 2021.3.10f1 以降での既知の問題。
これが発生するのは、現在のビルドターゲットが専用サーバーとは異なり、選択されているスクリプティングバックエンドが使用できない場合に、Multiplay Hosting のビルドを試行したときです。
解決策:
- 現在の LTS の最新バージョンにアップグレードする (優先)
- Multiplay Hosting ビルドを実行する前に
Dedicated Server
ビルドターゲットに切り替える - 欠落しているスクリプティングバックエンドを UnityHub を使用して加える
ノート: サーバー実行ファイルが Unity ビルドの場合は、起動パラメーターで -logFile $$log_dir$$
を使用します。Unity ビルドを使用していて、ログファイルがダッシュボードに表示されない場合は、-logFile $$log_dir$$/logfile.log
を使用してみてください。このユースケースでは、$$files_dir$$
パラメーターも使用できます。