Monobit Unity Networking ver.2.8.0 Server API Reference (C++)
mun_room man ページ

名前

  • mun_room

書式

1 mun_room [options]

説明

  • mun_roomサーバ。
  • MUNマルチサーバの1構成要素で、ルームを管理します。(ルームについては こちら を参照)
  • 自身の負荷情報について常に mun_masterサーバに通知し、MUNクライアントからの接続負荷分散に役立てます。
     (mun_masterサーバについては ../mun_master/README.md "こちら" を参照)
  • 現時点で CentOS6.x(gcc4.4.7)ベースでのみ動作を保証します。
      → 将来的に CentOS7.x および MacOSX/macOS へ対応予定です。

  • mun_room サーバを立ち上げるには、最低限以下の情報を必要とします。
      ・mun_masterサーバへ接続(Connect)するための接続プロトコル種別、およびIPアドレス、ポート番号。
      ・MUNクライアントを待ち受け(Listen)する、TCPプロトコル用IPアドレスおよびポート番号。
      ・MUNクライアントを待ち受け(Listen)する、UDPプロトコル用IPアドレスおよびポート番号。
  • 上記について以下の条件の場合、mun_proxy のコマンドとして、以下のパラメータを指定し実行します。
      ・mun_masterサーバへ接続(Connect)するための接続プロトコル種別
         TCP
      ・mun_masterサーバへ接続(Connect)するためのIPアドレス
         192.168.0.100
      ・mun_masterサーバへ接続(Connect)するためのポート番号
         5201
      ・MUNクライアントを待ち受け(Listen)する、TCP & UDPプロトコル用IPアドレス
         0.0.0.0(→ この場合、そのサーバのグローバルIPアドレスと同値)
      ・MUNクライアントを待ち受け(Listen)する、TCPプロトコル用ポート番号。
         8001
      ・MUNクライアントを待ち受け(Listen)する、UDPプロトコル用ポート番号。
         8101
1 mun_room -p tcp -N 192.168.0.100 -n 5201 -T 0.0.0.0 -t 8001 -U 0.0.0.0 -u 8101

オプション一覧

-h, –help

  • ヘルプを表示します。
  • 記述例は以下の通りです。
1 mun_room -h
1 mun_room --help

-p, –con-protocol

  • mun_masterサーバに接続するための、接続プロトコルを指定します。
  • 指定する数値の内訳は以下の通りです。
      tcp … TCPプロトコルを使用して接続します。
      udp … UDPプロトコルを使用して接続します。
  • この値を設定しない場合、デフォルトで tcp が指定されます。
  • 記述例は以下の通りです。
1 mun_room -p tcp
1 mun_room --con-protocol tcp

-N, –con-addr

  • mun_masterサーバに接続するための、接続先IPアドレスを指定します。
  • この値を設定しない場合、デフォルトで 0.0.0.0 が指定されます。
  • 記述例は以下の通りです。
1 mun_room -N 192.168.0.253
1 mun_room --con-addr=192.168.0.253

-n, –con-port

  • mun_masterサーバに接続するための、接続先ポート番号を指定します。
  • この値を設定しない場合、デフォルトで 0 が指定されます。
  • 記述例は以下の通りです。
1 mun_room -n 2000
1 mun_room --con-port=2000

-T, –pub-tcp-addr

  • MUNクライアントの、TCPプロトコル接続による待ち受けIPアドレスを指定します。
  • この値を設定しない場合、デフォルトで 0.0.0.0 が指定されます。
  • 記述例は以下の通りです。
1 mun_room -T 66.249.89.104
1 mun_room --pub-tcp-addr=66.249.89.104

-t, –pub-tcp-port

  • MUNクライアントに対する、TCPプロトコル接続による待ち受けポート番号を指定します。
  • この値を設定しない場合、デフォルトで 0 が指定されます。
  • 記述例は以下の通りです。
1 mun_room -t 3000
1 mun_room --pub-tcp-port=3000

-U, –pub-udp-addr

  • MUNクライアントに対する、UDPプロトコル接続による待ち受けIPアドレスを指定します。
  • この値を設定しない場合、デフォルトで 0.0.0.0 が指定されます。
  • 記述例は以下の通りです。
1 mun_room -U 66.249.89.104
1 mun_room --pub-udp-addr=66.249.89.104

-u, –pub-udp-port

  • MUNクライアントに対する、UDPプロトコル接続による待ち受けポート番号を指定します。
  • この値を設定しない場合、デフォルトで 0 が指定されます。
  • 記述例は以下の通りです。
1 mun_room -u 4000
1 mun_room --pub-udp-port=4000

-l, –log-level

  • mun_roomサーバ内で発生した事象についてログを出力する際、どの段階までのログを出力するかを数値で指定します。
  • 指定する数値の内訳は以下の通りです。
      0 … EMERG。システムが直ちに使用不可になるログのみ表示します。
      1 … ALERT。EMERGに加え、システムに直ちに対応しなければならないログを表示します。
      2 … CRIT。ALERTに加え、システムが危険な状態にあるログを表示します。
      3 … ERR。CRITに加え、システムエラーログを表示します。
      4 … WARNING。ERRに加え、システムワーニングログを表示します。
      5 … NOTICE。WARNINGに加え、問題ないが重要なログを表示します。
      6 … INFO。NOTICEに加え、一般的な情報ログを表示します。
      7 … DEBUG - INFOに加え、デバッグログを表示します。
  • この値を設定しない場合、デフォルトで 3 (=ERR) が指定されます。
  • 記述例は以下の通りです。
1 mun_room -l 7
1 mun_room --log-level=7

-O, –log-path

  • mun_roomサーバ内で発生した事象についてログをファイル出力するディレクトリ先を指定します。
  • この値を設定しない場合、ログはファイル出力されず、すべてコンソール出力されます。
  • 記述例は以下の通りです。
1 mun_room -O ./log
1 mun_room --log-path=./log

-i, –update-interval

  • mun_masterサーバにサーバ負荷情報を通知する更新間隔をミリ秒単位で指定します。
  • この値を設定しない場合、デフォルトで 1 (=1ミリ秒) が指定されます。
  • 記述例は以下の通りです。
1 mun_room -i 10000
1 mun_room --update-interval=10000

各種用語

ルーム

ルームとは?

  • ロビー に対し「小さな部屋」として構成される、MUNクライアント同士が互いに通信しあうネットワークプレイアブル空間のことです。
      → ルーム入室しない限り、MUNクライアント側同士の自由な相互通信はできません。
  • ルームは必ずいずれかのロビーに関連付けられます。
      → ロビーに入室済みのMUNクライアントからルーム作成リクエストを要求した場合、
        ルームはその所属ロビーに関連付けられます。
      → ロビーに未入室のMUNクライアントからルーム作成リクエストを要求した場合、
        ルームは「デフォルトロビー」に関連付けられます。
  • MUNライブラリで生成される1種類のクライアントアプリケーションに対し、生成可能なルームの最大数は255です。
  • ルーム検索のための任意の連想配列情報(ルームパラメータ)を持ち、これによるキー値一致検索orキー値範囲検索を用いた マッチング 処理が可能です。
      → 1つのルームに対し、生成可能なルームパラメータの最大数は15です。

ルームの主な役割

  • ルーム作成管理
      MUNクライアントから以下のメソッドで「mun_masterサーバが」リクエストを受けて、
      「mun_roomサーバに対し」処理されます。
        MonobitNetwork.CreateRoom()
        MonobitNetwork.JoinRandomRoom()
  • ルーム入室管理
      MUNクライアントから以下のメソッドで「mun_masterサーバが」リクエストを受けて、
      「mun_roomサーバに対し」処理されます。
        MonobitNetwork.JoinRoom()
        MonobitNetwork.JoinRandomRoom()
        MonobitNetwork.JoinOrCreateRoom()
  • ルームホスト変更処理
      MUNクライアントから以下のメソッドでリクエストを受けて処理されます。
        MonobitNetwork.ChangeHost()