FAQ

目次(MUNクライアント導入編)

  どのプラットフォームに対応していますか?
  同時接続数制限はありますか?
  MUN テストサーバに接続できないのですが、どうすれば良いですか?(初回接続時)
  MUN テストサーバに接続できないのですが、どうすれば良いですか?(初回接続時以外)
  MUN クライアントから同一ルームにログインできないのですが、どうすれば良いですか?
  プロジェクト内の複数人で共同開発する場合、認証IDを共有したいのですが、どうすれば良いですか?

目次(MUNクライアント実装編)

  UnityEditor で開いた場合、Unity-Chan, SDユニティちゃん関連のWarninngが大量に発生していますが、何とかなりませんか?
  自動同期通信スクリプトの使い勝手が悪いのですが、どうにかなりませんか?
  通信ラグが酷い状態なのですが、何とかなりませんか?
  Android 向けに IL2CPP でビルドを通すとエラーが発生するのですが、どうすれば良いですか?
  iOS 向けに IL2CPP でビルドを通すとエラーが発生するのですが、どうすれば良いですか?
  Android 向けにビルドしたアプリケーションで MUN サーバに接続できないのですが、どうすれば良いですか?
  Unity 5.3 以降の MonoDevelop (ver.5.9.6) で開発していますが、オートコンプリート機能(Intelligence)が機能しません。どうすれば良いですか?

目次(MUNクライアント機能編)

  MonobitEngine.MonobitNetwork.GetRoomData() でルーム一覧が取得できないのですが、どうすれば良いですか?
  MonobitEngine.MonobitNetwork.JoinRandomRoom() で絞り込み検索ができないのですが、どうすれば良いですか?
  ルームカスタムパラメータのkeyに数値を設定した場合、ルームの開設などができないのですが、どうすれば良いですか?

目次(MUNサーバ導入編)

  どのプラットフォームに対応していますか?
  クライアントが「オンプレミス版 MUN サーバ」に接続できないのですが、どうすれば良いですか?

目次(MUNサーバ実装編)

  独自の認証処理を通して MUN サーバに接続したいのですが、方法はありますか?
  独自で用意したWeb認証以外の認証システム(例えば Facebook アカウント認証など)はサポートしていますか?
  サーバから任意の情報をクライアントに送信したいのですが、どのようにすれば実現可能ですか?
  サーバから「ルームに所属しないクライアント」に対し任意の情報を送信したいのですが、どのようにすれば実現可能ですか?

目次(その他)

  問い合わせ窓口はありますか?


[MUN クライアント導入編]
どのプラットフォームに対応していますか?

具体的な動作要件については別ページにて説明しております

   最新版の MUN クライアントパッケージの動作要件については、以下のページで紹介していますので、こちらをご覧ください。
     「■ イントロダクション」 > 「MUN クライアントの動作要件」

[MUN クライアント導入編]
同時接続数制限はありますか?

MUNテストクラウド上での同時接続数制限について

  テストクラウド上では、開発プロジェクト(アプリケーション)1つにつき、
     MUN ver 1.x では、最大同時接続数 は 20 まで
     MUN ver 2.0 以降では、最大同時接続数 は 100 まで
  に制限されています。

MUNオンプレミスサーバ上での同時接続数制限について

  頒布版(無償提供版)のオンプレミス版MUNサーバについては、最大同時接続数は 100 までに制限されています。
  上限解除については別途ご案内させて頂きますので、まずは下記の弊社窓口より問い合わせください。
    ・MUNオンプレミス版お申込み窓口
        http://www.monobitengine.com/munform/


[MUN クライアント導入編]
MUN テストサーバに接続できないのですが、どうすれば良いですか?(初回接続時)

ファイアウォールの設定が適用されていませんか?

  UnityEditor および アプリケーションのファイアウォールの適用を除外してください。
  ファイアウォールの設定につきましては、お客様の環境によって異なりますので、
  各自使用されているOS、セキュリティソフトの製造元よりご確認ください。

  なお、MUN テストサーバにつきましては、MUN のリリースバージョンにより、使用ポート番号を変えております。
  「MUN テストサーバが待ち受けしているポート番号」に関しましては、こちらのページよりご確認いただき、
  ファイアウォール等でのポート開放設定を済ませてください。
    「■ イントロダクション」 > 「MUNテストサーバの待ち受けポート」

Windows 向けに ビルド作成したバイナリを開発機以外で動作させようとしている場合、別途 VisualStudio2015 のランタイムライブラリが必要です。

  Windows 向けにビルド生成したバイナリを開発機以外で動作させようとしている場合、一部のOS環境によっては、別途 VisualStudio 2015 のランタイムライブラリが必要です。
  「一部のOS」は限定的ですが、接続できないPCがあるようでしたら、別途下記のランタイムライブラリのダウンロード、およびインストールを済ませてください。
    https://www.microsoft.com/ja-jp/download/details.aspx?id=48145

Android 向けに IL2CPP にてビルド作成しようとしている場合、アプリケーションのビルド設定は適切ですか?

  Android 向けに IL2CPP にてビルド作成しようとしている場合、アプリケーションのビルド設定が適切でない場合が考えられます。
  下記の項目について、御確認ください。
    Android 向けに IL2CPP でビルドを通すとエラーが発生するのですが、どうすれば良いですか?

サーバがダウンしている可能性があります

  MUNサーバがダウンしている可能性がございます。
  長時間接続できない場合には、お手数ですが、お問い合わせ窓口にてご相談ください。

  また、以下の内容についても、一度ご確認のうえ、お試しいただければと思います。
     MUN テストサーバに接続できないのですが、どうすれば良いですか?(初回接続時以外)


[MUN クライアント導入編]
MUN テストサーバに接続できないのですが、どうすれば良いですか?(初回接続時以外)

シーンファイル内にて、オブジェクトの競合が発生してしまっている恐れがあります

  MUN のアップデートを適用する際、あるいは Inspector でのコンポーネント操作中に、何らかの不具合が発生し、
  UnityEditor での操作中において、シーンファイル内にコンポーネントの重複が発生してしまう現象が存在します。
  この現象に遭遇すると、正常なMUNサーバ接続用オブジェクトが生成されず、MUN における一切の通信処理が処理できない不具合に陥ります。

  これは、あくまで UnityEditor 上での開発中に起こりうる現象で、ビルド後のパッケージでは発生しない症状なのですが、
  仮にこの症状が発生した場合、以下のリンク先の内容に従い、シーンファイルのクリーンアップを実行してください。
    「■ MUN クライアントの主要機能」 > 「MUN専用のUnityEditor カスタムメニュー」 > 「MUNの内部処理で利用する一時的なオブジェクトのクリア」

上記以外の場合

  上記以外の場合につきましては、改めて以下の内容を一通りご確認いただき、お試しください。
  解決されない場合には、お手数ですが、お問い合わせ窓口にてご相談ください。
     MUN テストサーバに接続できないのですが、どうすれば良いですか?(初回接続時)


[MUN クライアント導入編]
MUN クライアントから同一ルームにログインできないのですが、どうすれば良いですか?

認証IDが、クライアント間で一致していない可能性があります

  UnityEditor上で生成される認証IDが、クライアント間で一致していない可能性があります。
  以下のファイルが生成されているか確認してください。(存在しない場合、一度 Unity プログラムを実行してください)

     ・ Assets/Monobit Unity Networking/Resources/MonobitAuthenticateCode.asset
     ・ Assets/Monobit Unity Networking/Resources/MonobitServerSettings.asset

  両方とも存在している場合には、一度上記ファイルを削除して、Unityエディタ上から起動して再生成したうえで、
  実行バイナリのビルドを試みてください。


[MUN クライアント導入編]
プロジェクト内の複数人で共同開発する場合、認証IDを共有したいのですが、どうすれば良いですか?

認証IDの保存ファイルを共有してください

  認証IDを共有する場合、以下のファイルを共有(リポジトリ管理)するようにしてください。

     ・ Assets/Monobit Unity Networking/Resources/MonobitAutenticateCode.asset
     ・ Assets/Monobit Unity Networking/Resources/MonobitAutenticateCode.asset.meta

認証IDの保存ファイルを共有後、一度 MonobitServerSettings.asset を削除してください

  一度共有した後、各々の開発者間で MonobitAuthenticateCode.asset で管理している
  Authentication Code が一致しているか確認してください。
  一致していたら、Assets/Monobit Unity Networking/Resources/MonobitServerSettings.asset を削除してください。
  その後、Unityエディタの実行ボタンを押して動かせば、開発者全員の認証IDが一致します。


[MUN クライアント実装編]
UnityEditor で開いた場合、Unity-Chan, SDユニティちゃん関連のWarninngが大量に発生していますが、何とかなりませんか?

ユニティ・テクノロジー様より頒布されているUnity5.x対応版修正パッチを御利用下さい。

  同梱しているUCL関連ファイルにつきましては、Unity5 にて大量の Warning が発生するようです。
  どうしても気になる場合、ユニティ・テクノロジー様より修正パッチが配布されておりますので、こちらを導入してみてください。

  http://unity-chan.com/download/releaseNote.php?id=UnityChanScriptPatch


[MUN クライアント実装編]
自動同期通信スクリプトの使い勝手が悪いのですが、どうにかなりませんか?

UnityEditor上のUIについて検討中ですが、現状「テスト向け」「プロトタイプ向け」としての活用を望みます

  自動同期通信スクリプトについては、当面の目的として、
  「プロトタイプ版を製作するのに出来るだけ簡単・シンプルに、キー操作による同期通信を実行する」というコンセプトの元で制作したものです。
  UIに対する最適解を考えつくした結果、現在のような状態になっております。

  キー入力の制限(Unityのキーコンフィグに依存している不自由さ)や、多岐行動におよぶキャラクタの制御、
  本格的なゲーム制作上のキャラクタ操作を行なうことを考えた場合、十分な機能を果たせるとは言い難いかも知れません。
  この点につきましては、将来的に改善させていこうと考えております。

  ノンプログラミング開発用スクリプトにつきましては、現在のところは
  「プロトタイプ開発への導入」を目的としてご活用ください。


[MUN クライアント実装編]
通信ラグが酷い状態なのですが、何とかなりませんか?

通信量が多くなる設計になっていないか、もう一度確認してみましょう

  そもそも通信量が多くなるような設計をしていないか確認をしてみましょう。

  MUNでの開発の場合、自然発生的に通信量が多くなっているケースとして、
  例えば MonobitView を登録しているオブジェクトを大量発生させている、などが考えられます。

  MonobitViewを減らす方策については、モノビットエンジンユーザー助け合い所 などで
  詳細状況をお知らせいただければ、適切なアドバイスが出来るかと思います。

アプリケーション側で、「通信頻度」を調整してみてください

  通信におけるラグにつきましては、弊社の環境、お客様の環境、お客様の契約プロパイダ環境、通信距離、etc... など、
  様々な要因から発生することは免れません。

  当面の対応策として、アプリケーション側での通信頻度を調整する手段がございます。
  同期タイミングの変更 の項目を参考に、調整を加えてみてください。


[MUN クライアント実装編]
Android 向けに IL2CPP でビルドを通すとエラーが発生するのですが、どうすれば良いですか?

MUN クライアントパッケージのプラグインについて、プラットフォーム設定を適切な状態になっているか確認してください

  Unityパッケージのインポートの失敗、もしくは .meta ファイルの消失等によって、MUN クライアントパッケージ内のネイティブプラグインの設定が破棄され、
  Android + IL2CPP でのパッケージビルドに失敗しているのが原因と考えられます。

  また上記以外の場合においても、弊社において、Windows 環境かつ Unity 5.6.0f3 以降を使用している場合、
  MUN ver.2.0 以降のパッケージについて Android + IL2CPP の apk 生成に失敗する
事象を確認しています。

  問題の原因がいずれにあったにせよ、以下のページAndroid + IL2CPP でのパッケージビルドに失敗しているのが原因と考えられます。


[MUN クライアント実装編]
iOS 向けに IL2CPP でビルドを通すとエラーが発生するのですが、どうすれば良いですか?

MUN ver.1.0.1 にて修正されました。

  お手数をお掛け致しますが、MUN ver.1.0.1 以降のバージョンへの更新をお願いいたします。


[MUN クライアント実装編]
Android 向けにビルドしたアプリケーションで MUN サーバに接続できないのですが、どうすれば良いですか?

MUN 2.0 以降、Android アプリケーションのビルド設定にて、「インターネットアクセスを常時使用する」設定が必要です。

  内部エンジン MRS のライブラリ仕様により、MUN 2.0 以降のバージョンにおいて、Android アプリケーションのビルド設定に対し
  「インターネットアクセスを常時使用する」ことが必須事項です。

  「インターネットアクセスを常時使用する」設定手順としましては以下の通りです。
1.実行バイナリを生成するために、ビルド用のサブウィンドウを起動させます。
   Windows の場合、Unity Editor のメニューから、File > Build Settings... を選んでください。
   Mac の場合、Unity Editor を動かしている状態で、MacOSX または macOS Sierra 上のメニューから、File > Build Settings... を選んでください。
   
2.「Build Settings」のサブウィンドウが開いたところで、左下の「Platform」から「Android」を選択し、
  サブウィンドウ左下の「Switch Platform」ボタンを押して、開発ターゲットを切り替えます。
3.Android プラットフォームへのターゲット切り替えが完了したところで、
  サブウィンドウ左下部にある[Player Settings...] のボタンをクリックします。
4.[Player Settings...] をクリックすると、UnityEditor 側の Inspector に Android プラットフォームのプロパティ設定画面が表示されます。
  Inspector のプラットフォーム別設定にて、「Android」のタブが選択されていることを確認します。
5.「Android」タブを選択している間、そのタブ直下に「Settings for Android」の項目が一覧で表示されますので、
  ここで、 「Other Settings」 内にある 「Configuration」 > 「Internet Access」 の項目について、
  デフォルトの「Auto」から「Require」に変更し、インターネット接続について常時許可設定にしておきます。
  この設定を怠ると、Androidデバイスでネットワーク通信が出来ませんので注意してください。

  なお、Android ビルドの詳細手順につきましては、以下のページにも記載されております。
    「■ プラットフォームごとのビルド、および実行手順」 > 「Android 版のビルド、および実行手順」


[MUN クライアント実装編]
Unity 5.3 以降の MonoDevelop (ver.5.9.6) で開発していますが、オートコンプリート機能(Intelligence)が機能しません。どうすれば良いですか?

MUN ver.2.0 にて、MonoDevelop 環境下でのオートコンプリート機能が働くように実装いたしました。

  お手数をお掛け致しますが、MUN ver.2.0 以降のバージョンへの更新をお願いいたします。


[MUN クライアント実装編]
MonobitEngine.MonobitNetwork.GetRoomData() でルーム一覧が取得できないのですが、どうすれば良いですか?

ロビーに入室しており、かつルームに入室していないことが条件です。

  MonobitEngine.MonobitNetwork.GetRoomData() は、ロビー内に入室している場合でないと取得することはできません。
  またルームに入室している状態では更新されません。

  ロビーに入室するには、MonobitEngine.MonobitNetwork.JoinLobby() メソッドで入室するか、
  サーバに接続する前に、MonobitEngine.MonobitNetwork.autoJoinLobby = true を設定してください。

  また、ルームにいる場合には一度 MonobitEngine.MonobitNetwork.LeaveRoom() メソッドで退室してください。


[MUN クライアント実装編]
MonobitEngine.MonobitNetwork.JoinRandomRoom() で絞り込み検索ができないのですが、どうすれば良いですか?

MUN ver.1.2 にて絞り込み検索の機能が実装されました。

  お手数をお掛け致しますが、MUN ver.1.2 以降のバージョンへの更新をお願いいたします。


[MUN クライアント実装編]
ルームカスタムパラメータのkeyに数値を設定した場合、ルームの開設などができないのですが、どうすれば良いですか?

ルームカスタムパラメータのkeyには、アルファベットから始まる文字列のみ指定可能です

  ルームカスタムパラメータは Hashtable のデータ型で設定することができますが、
  MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(3) の説明文中にもある通り、
  SQL(SQLite)によるパターンマッチングを実行する必要があるため、サーバ内部のSQLデータベースへ登録されます。

  そのため、インデックスキーとして使用される「ルームカスタムパラメータのkey」については
  アルファベットから始まる文字列のみ指定可能で、数値型や配列型などの情報を設定することはできません

  ルームカスタムパラメータのkeyに数値型、配列型などの値を設定しようとした場合、エラーを返す仕様ですので、
  ルームカスタムパラメータのkeyには「アルファベットから始まる文字列」を設定するようにしてください。


[MUN サーバ導入編]
どのプラットフォームに対応していますか?

具体的な動作要件については別ページにて説明しております

   最新版のオンプレミス版 MUN サーバパッケージの動作要件については、以下のページで紹介していますので、こちらをご覧ください。

     「■ イントロダクション」 > 「オンプレミス版 MUN サーバの動作要件」

[MUN サーバ導入編]
クライアントが「オンプレミス版 MUN サーバ」に接続できないのですが、どうすれば良いですか?

まずは MUN テストサーバへの接続が正常に行えるかどうかを確認してください。

  Assets/Monobit Unity Networking/Resources/MonobitServerSettings.asset の設定にて、一旦「MUN テストサーバ」に切り替えたうえで、
  接続処理が正常に行えているかどうかを確認してください。

MUN テストサーバへの接続が正常に行えていない場合、MUN クライアント側の問題である可能性が高いです。

  MUN テストサーバへの接続に問題がある場合、MUN クライアント 自体の設定に問題がある可能性が非常に高いです。
  以下のリンク先を参考に、MUN クライアント側の設定について見直してみてください。

    [MUN クライアント導入編] MUN テストサーバに接続できないのですが、どうすれば良いですか?

MUN テストサーバへの接続が正常に行える場合、MUN クライアントとオンプレミス版 MUN サーバパッケージ間のバージョン不一致が原因である可能性が高いです。

  MUN クライアントおよび MUN サーバのプログラミングは、大小少なからずリファクタリングを行なったものをアップデートリリースしています。
  一見 API としてはほぼ変更がないように見えても、MUN 内部処理、およびその内部エンジンである MRS の内部機能拡張や最適化、仕様変更などが頻繁にあり、
  異なるバージョンが混在する場合、特にデータ受信時における、データ解析とその解析結果に伴う処理において、例外が発生することが懸念されるためです。

  そのため、MUN システム運用において、MUN クライアントと MUN サーバのリリースバージョンが同一であることが必須条件です。

  弊社で提供している MUN テストサーバ自体は、異なる MUN クライアントでも接続に問題ないよう、異なるリスニングアドレスに対して接続するため問題ないのですが、
  オンプレミス版 MUN サーバでサービスを運用yする場合、そのバージョン管理を自前で行なう必要がありますので、くれぐれもご注意ください。

バージョンが一致している場合、MUN サーバのクライアントリスニング設定に不整合が発生している可能性があります。

  MUN クライアントと MUN サーバのリリースバージョンが同一である場合、更なる可能性として、MUN サーバのクライアントリスニング設定が不適切である可能性が考えられます。
  以下の内容をもう一度確認していただき、独自の環境に合わせたサーバ設定になっているか、見直してみてください。

  【Linux 環境にてご利用されている場合】
    「■オンプレミス版MUNサーバのセットアップ(Linux)」>「MUN サーバのデプロイ」

  【MacOS 環境にてご利用されている場合】
    「■オンプレミス版MUNサーバのセットアップ(MacOSX)」>「MUNサーバのビルド・実行・停止」

  【Windows(C++) 環境にてご利用されている場合】
    「■オンプレミス版MUNサーバのセットアップ(Windows, C++)」>「VisualStudioのプロパティシートの変更」
      ※ 設定後、MUN サーバのプロジェクトを開いている VisualStudio について一旦閉じ、再度開き直す必要があります。

  【Windows(C#) 環境にてご利用されている場合】
    「■オンプレミス版MUNサーバのセットアップ(Windows, C#)」>「App.configの変更」


[MUN サーバ導入編]
独自の認証処理を通して MUN サーバに接続したいのですが、方法はありますか?

Web認証サーバを通した、非匿名のログイン認証に対応しています。

  詳しくは別ページにて解説していますので、こちらをご覧ください。

    「■サーバサイド・チュートリアル <カスタム認証を利用する>」 > 「認証モジュールのカスタマイズについて」
    「■サーバサイド・チュートリアル <カスタム認証を利用する>」 > 「認証モジュールを利用するためのサーバ設定」
    「■サーバサイド・チュートリアル <カスタム認証を利用する>」 > 「認証モジュールを利用するためのクライアント設定」


[MUN サーバ導入編]
独自で用意したWeb認証以外の認証システム(例えば Facebook アカウント認証など)はサポートしていますか?

現在のところサポートしておりません。ご要望がありましたらサポートを検討いたします。

  現時点でニーズがありませんので、MUN での積極的なサポートはしておりません。
  お客様からの多くのご要望があれば、弊社でもサポートを検討いたします。

  もっとも、
    「■MUN サーバについて」 > 「MUN のネットワークシーケンスについて」 > 「シーケンス5:MUN クライアント認証処理」
  にて、Web認証処理を行なっているところを 各種サービスに合わせた認証制御に置き換える ことで実装は可能ですので、
  現時点ではお客様のお好みのままにカスタマイズしていただければ、と考えております。


[MUN サーバ導入編]
サーバから任意の情報をクライアントに送信したいのですが、どのようにすれば実現可能ですか?

ルーム内に所属するクライアントに対し、RPCメッセージを送信する機能があります。

  詳しくは 「■サーバサイド・チュートリアル <サーバサイドプログラミング>」>「サーバサイドプログラムで利用できる各種機能」 に記載しておりますが、
  mun_room サーバプロセスから、ルーム内に所属するクライアントに対し、RPCメッセージを一斉送信することができます。
1. mun_room サーバ側のコード上で、MonobitEngine.MonobitNetwork.RPC() メソッドを実行する。
2. MUN クライアント側で、上記によるRPC受信メソッドを [MunRPC] アトリビュートを付加した状態で 定義し、実装する。


[MUN サーバ導入編]
サーバから「ルームに所属しないクライアント」に対し任意の情報を送信したいのですが、どのようにすれば実現可能ですか?

現時点では方法はありません。

  弊社視点の考え方ですが、ルーム所属外に存在するクライアントへの通知が必要なケースが多岐に渡るとは考えられないこと、
  そして何より、ルームに所属しない(入室前、または退室後)のクライアントに対して broadcast する場合、mun_proxy および mun_master に対する負荷が甚大になることから、
  現時点では想定されておりませんし、今後の実装・サポートも予定してはおりません。

  もし仮にそのようなケースが存在する場合、別途 MUN クライアント側にて、
  OnJoinedLobby() の接続コールバック受信後に MonobitEngine.MonobitNetwork.JoinOrCreateRoom() メソッドを実行するなど、
  「ロビー入室後に何らかのルーム内に強制入室させる」仕組みを作り、そのルーム内で情報をやり取りした方が負荷が掛かりにくい設計ができると思われます。


[その他]
問い合わせ窓口はありますか?

利用方法に関するお問い合わせは、Facebook または専用コミュニティサイトをご利用ください。

  お問い合わせ窓口として以下に設置しておりますので、こちらをご利用ください。

  弊社サポートはもちろん、モノビットエンジンを御利用されている多くの開発者様からの知見を得られる場所でもありますので、
  問題の共有や早期解決、機能要望などを含め、是非とも御活用頂ければ幸いです。

   ・ Facebook 「モノビットエンジン助け合い所」
       https://www.facebook.com/groups/monobitengineusers/
         モノビットエンジンユーザー助け合い所

   ・ モノビットエンジン開発者コミュニティサイト
       http://support.monobitengine.com/index.php