MUN サーバの実行・停止

目次

  概要
  MUN サーバプロセスの実行
  MUN サーバプロセスの停止
  MUN サーバプロセスのクリーンアップ


概要

各種サーバ環境における、サーバプロセスの実行と停止を行ないます。

  このページでは、頒布されている MUN サーバパッケージの事前構築が完了した状態で、
  どのような手順でサーバプロセスのビルド・実行・停止を行なうのかについて説明いたします。


MUN サーバプロセスの実行

MUN サーバプロセスを実行し、サーバを起動する

  MUN サーバの実行手順については、以下のうち各種環境に応じたパネルをクリックして、指示通りに進めてください。


  Linux サーバのコマンドラインから、以下のコマンドを入力することで MUNサーバが起動します。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd cpp
$ ./server.sh start

  コマンド入力後、以下のログが表示され、サーバプロセスが起動します。



  Linux サーバのコマンドラインから、以下のコマンドを入力することで MUNサーバが起動します。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd csharp
$ ./mun_dotnet_core.sh startd

  コマンド入力後、以下のログが表示され、サーバプロセスが起動します。



  Linux サーバのコマンドラインから、以下のコマンドを入力することで MUNサーバが起動します。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd csharp
$ ./mun_dotnet_core.sh startr

  コマンド入力後、以下のログが表示され、サーバプロセスが起動します。





  Windows サーバ環境で C++ 版 MUN サーバーを動かす場合、VisualStudio を用います。
  以下のパネルを順にクリックして、指示通りに進めてください。

  まず初めに、「mun_master」と呼ばれるサーバプロセスのプロジェクトを開きましょう。

  このプロセスは MUN サーバの中核であり、接続しているMUNクライアントや、サーバ上で構成されるロビーやルームの情報を
  一括で管理するデータベースの役割を果たします。
  これ以外のサーバプロセスは(後述のmun_resolverを除き)mun_masterが起動していることが前提で動くことになりますので、
  必ず初めに起動させてください。

  また、mun_master のサーバプロセスを起動させるために、VisualStudio の sln ファイルを立ち上げますが、
  Visual Studio 2017, 2019, 2022 のいずれかによって、起動するソリューションファイルは異なります。
  事前に「現在インストールしているVisualStudio のバージョン」を調べておいてください。

  調べた上で、mun_master のソリューションファイルを起動しましょう。
  mun_master のソリューションファイルは cpp/mun_master 内に以下のように格納されていますので、
  お使いの Visual Studio のバージョンと合致する sln ファイルをダブルクリックして起動してください。
mun_server_x.x.x
  └ cpp
    └ mun_master
        ├ mun_master_vs2017.sln … VisualStudio 2017 で動作させる場合
        ├ mun_master_vs2019.sln … VisualStudio 2019 で動作させる場合
        └ mun_master_vs2022.sln … VisualStudio 2022 で動作させる場合



  mun_master サーバーのプロジェクトを起動させたら、VisualStudio 上で F5 キーを押すか、
  以下の赤枠内の再生ボタンを押して実行しましょう。

  開始してしばらくすると mun_master が起動してコンソールが表示されます。
  以下のように "mun_master setup done." というメッセージが表示されていれば起動完了です。
  次に進めましょう。



  続けて、「mun_resolver」と呼ばれるサーバープロセスのプロジェクトを開きましょう。

  このプロセスは MUN クライアントが最初に接続するサーバで、
  後述する「ルーム未入室時のクライアントとの通信処理」を行なう mun_proxy サーバプロセスに対して
  「最も負荷の軽いサーバプロセスの接続情報」を渡します。

  mun_proxy のサーバプロセスを複数動作(スケール)させることにより、ルーム未入室時の対クライアント通信について
  動的かつ簡易的に負荷分散処理をさせることを可能にします。

  では mun_master と同様、mun_resolver のソリューションファイルを起動しましょう。
  mun_resolver のソリューションファイルは cpp/mun_resolver 内に以下のように格納されていますので、
  お使いの Visual Studio のバージョンと合致する sln ファイルをダブルクリックして起動してください。
server
  └ cpp
    └ mun_resolver 
        ├ mun_resolver_vs2017.sln … VisualStudio 2017 で動作させる場合
        ├ mun_resolver_vs2019.sln … VisualStudio 2019 で動作させる場合
        └ mun_resolver_vs2022.sln … VisualStudio 2022 で動作させる場合



  mun_resolver サーバーのプロジェクトを起動させたら、VisualStudio 上で F5 キーを押すか、
  以下の赤枠内の再生ボタンを押して実行しましょう。

  開始してしばらくすると mun_resolver が起動してコンソールが表示されます。
  以下のように "mun_resolver setup done." というメッセージが表示されていれば起動完了です。
  次に進めましょう。



  続けて、「mun_proxy」と呼ばれるサーバプロセスのプロジェクトを開きましょう。

  前述の mun_resolver の説明で少し触れましたが。
  mun_proxy のサーバプロセスは、ルーム未入室の状態にあるMUNクライアントからの各種要求(問い合わせ)に対し
  適宜処理するためのサーバで、かつ mun_master に対するリレーサーバの役割を果たします。

  mun_proxy が行なう対MUNクライアントとの通信処理の中には、以下のようなものがあります。
・ 認証IDを伴うMUNサーバ接続チェック
・ MUNサーバのシステム全体に対しユニーク値を取る「MUNクライアントID」の発行手続き
・ ロビー入退室手続き
・ ルーム入室要求、および退室後のロビー再入室手続き
・ ロビーに属するルーム 一覧情報の取得手続き
・ 接続プレイヤー検索手続き
     (以上、代表的な部分を挙げており、これ以外の処理も存在します。)

  では mun_master, mun_resolver と同様、mun_proxy のソリューションファイルを起動しましょう。
  mun_proxy のソリューションファイルは cpp/mun_proxy 内に以下のように格納されていますので、
  お使いの Visual Studio のバージョンと合致する sln ファイルをダブルクリックして起動してください。
server
  └ cpp
    └ mun_proxy
        ├ mun_proxy_vs2017.sln … VisualStudio 2017 で動作させる場合
        ├ mun_proxy_vs2019.sln … VisualStudio 2019 で動作させる場合
        └ mun_proxy_vs2022.sln … VisualStudio 2022 で動作させる場合



  mun_proxy サーバーのプロジェクトを起動させたら、VisualStudio 上で F5 キーを押すか、
  以下の赤枠内の再生ボタンを押して実行しましょう。

  開始してしばらくすると mun_proxy が起動してコンソールが表示されます。
  以下のように "mun_proxy setup done." というメッセージが表示されていれば起動完了です。
  次に進めましょう。



  最後に、「mun_room」と呼ばれるサーバプロセスのプロジェクトを開きましょう。

  mun_room のサーバプロセスは、mun_proxy とは異なり、こちらはルーム入室中の状態にあるMUNクライアントに関して
  各種要求(問い合わせ)に対し適宜処理するためのサーバです。
  mun_master に対するリレーサーバの役割を果たすこともありますが、ほとんどのルーム内メッセージについて自身で処理します。

  mun_room が行なう対MUNクライアントとの通信処理の中には、以下のようなものがあります。
・ オブジェクトの同期手続き
・ 各種RPCメッセージの送受信手続き
  他にも様々ありますが、代表的な部分では上記2点です。
  MUNクライアントに対する通信比重が最も高くなるのも mun_room の特徴です。

  では他の3つと同様、mun_room のソリューションファイルを起動しましょう。
  mun_room のソリューションファイルは cpp/mun_room 内に以下のように格納されていますので、
  お使いの Visual Studio のバージョンと合致する sln ファイルをダブルクリックして起動してください。
server
  └ cpp
    └ mun_room
        ├ mun_room_vs2017.sln … VisualStudio 2017 で動作させる場合
        ├ mun_room_vs2019.sln … VisualStudio 2019 で動作させる場合
        └ mun_room_vs2022.sln … VisualStudio 2022 で動作させる場合



  mun_room サーバーのプロジェクトを起動させたら、VisualStudio 上で F5 キーを押すか、
  以下の赤枠内の再生ボタンを押して実行しましょう。

  開始してしばらくすると mun_room が起動してコンソールが表示されます。
  以下のように "mun_room setup done." というメッセージが表示されていれば起動完了です。
  以上4つのサーバープロセスを起動させれば準備完了です。


  Windows サーバ環境で C# 版 MUN サーバーを動かす場合、コマンドプロンプトから実行します。
  以下のパネルを順にクリックして、指示通りに進めてください。

  PowerShell または コマンドプロンプト上から、以下のコマンドを入力することで
  「DEBUGモード」での実行が可能です。
> cd [mun_dotnet_core.shのあるディレクトリ]
> .\mun_dotnet_core.bat startd



  PowerShell または コマンドプロンプト上から、以下のコマンドを入力することで
  「RELEASEモード」でのビルドが可能です。
> cd [mun_dotnet_core.bat のあるディレクトリ]
> .\mun_dotnet_core.bat startr


  macOS のターミナルから、以下のコマンドを入力することで MUNサーバが起動します。
$ cd [server.shのあるディレクトリ]
$ ./server.sh start

  コマンド入力後、以下のログが表示され、サーバプロセスが起動します。



  macOS のターミナルから、以下のコマンドを入力することで MUNサーバが起動します。
$ cd [mun_dotnet_core.shのあるディレクトリ]
$ ./mun_dotnet_core.sh startd

  コマンド入力後、以下のようなログが表示され、サーバプロセスが起動します。



  macOS のターミナルから、以下のコマンドを入力することで MUNサーバが起動します。
$ cd [mun_dotnet_core.shのあるディレクトリ]
$ ./mun_dotnet_core.sh startr

  コマンド入力後、以下のようなログが表示され、サーバプロセスが起動します。



MUN サーバプロセスの停止

MUN サーバプロセスを停止し、サーバ処理を終了する

  MUN サーバの停止手順については、以下のうち各種環境に応じたパネルをクリックして、指示通りに進めてください。

  クリーンアップを行なう手順については、以下のうち各種環境に応じたパネルをクリックして、指示通りに進めてください。


  Linux サーバのコマンドラインから、以下のコマンドを入力することで MUNサーバが停止します。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd cpp
$ ./server.sh stop

  コマンド入力後、以下のようなログが表示され、サーバプロセスが停止します。



  Linux サーバのコマンドラインから、以下のコマンドを入力することで MUNサーバが停止します。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd csharp
$ ./mun_dotnet_core.sh stop

  コマンド入力後、以下のようなログが表示され、サーバプロセスが停止します。


  VisualStudioのバージョンを問わず、実行中のプロジェクトの停止ボタンを押すことで停止できます。



  DEBUG/RELEASEモードを問わず、コマンドプロンプトから以下のコマンドを入力することで MUNサーバが停止します。
> cd [mun_dotnet_core.bat のあるディレクトリ]
> .\mun_dotnet_core.bat stop



  ターミナルから以下のコマンドを入力することで MUNサーバが停止します。
$ cd [server.shのあるディレクトリ]
$ ./server.sh stop

  コマンド入力後、以下のようなログが表示され、サーバプロセスが停止します。



  ターミナルから以下のコマンドを入力することで MUNサーバが停止します。
$ cd [mun_dotnet_core.shのあるディレクトリ]
$ ./mun_dotnet_core.sh stop

  コマンド入力後、以下のようなログが表示され、サーバプロセスが停止します。




MUN サーバプロセスのクリーンアップ

MUN サーバプロセスおよびビルド中間ファイルを削除する

  最後に、MUN サーバのクリーンアップを行なう場合の方法について触れます。
  なお、クリーンアップを行なう必要性が発生するのはサーバシステムの移行・移管などのごく限定的な場合だと思いますので、
  通常使う分にはこの機能は不要です。

  クリーンアップを行なう手順については、以下のうち各種環境に応じたパネルをクリックして、指示通りに進めてください。


  Linux サーバのコマンドラインから、以下のコマンドを入力することで、ビルド時に生成されたデータについて、
  実行ファイルや中間ファイルのクリーンアップをします。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd cpp
$ ./server.sh clean



  Linux サーバのコマンドラインから、以下のコマンドを入力することで、ビルド時に生成されたデータについて、
  実行ファイルや中間ファイルのクリーンアップをします。
$ cd /home/guest/mun_server.x.x.x # コピーしたMUNサーバーパッケージのバージョンに合わせてください
$ cd csharp
$ ./mun_dotnet_core.sh clean


  VisualStudioのバージョンを問わず、メニューから [ビルド] > [ソリューションのクリーン] を選ぶことで
  実行ファイルや中間ファイルのクリーンアップができます。



  DEBUG/RELEASEモードを問わず、コマンドプロンプトから以下のコマンドを入力することで MUNサーバが停止します。
> cd [mun_dotnet_core.bat のあるディレクトリ]
> .\mun_dotnet_core.bat clean


  ターミナルから以下のコマンドを入力することで、ビルド時に生成されたデータについて、
  実行ファイルや中間ファイルのクリーンアップをします。
$ cd [server.shのあるディレクトリ]
$ ./server.sh clean



  ターミナルから以下のコマンドを入力することで、ビルド時に生成されたデータについて、
  実行ファイルや中間ファイルのクリーンアップをします。
$ cd [mun_dotnet_core.shのあるディレクトリ]
$ ./mun_dotnet_core.sh clean