【Dolphin】日本語版『MH3(トライ)』を擬似オンラインで遊ぶ方法!「MH3SP」の導入手順を徹底解説

MH3 エミュレータ

はじめに

Wiiのエミュレータである「Dolphin」を使い、名作『モンスターハンター3(トライ)』(以下、MH3)のオンラインモードをもう一度遊びたいと考えたことはありませんか?

公式のオンラインサービスが終了した現在、通常プレイではオフライン専用でのみプレイできます。しかし、有志の開発によって擬似的なオンライン環境(ローカルサーバー)を立ち上げて接続する方法が存在します。

ただし、この導入に関する日本語の解説サイトはほぼ存在せず、情報も非常に少ないため、私自身セットアップにかなり苦労しました。

ニッチな分野ではありますが、かつてロックラックの街を駆け巡ったハンターの皆さんのために、導入手順を詳しくまとめておきます。

※注意点(免責事項)
本記事で紹介する方法は、「あくまで自分自身のPC上で自分用のローカルサーバーを起動し、1人でオンラインモード(街)にアクセスして遊ぶ」ためのものです。現時点では他人のサーバーに参加したり、マルチプレイを行ったりすることはできません。また、イベントクエスト等はプレイ不可となります。

導入の概要:「MH3SP」と「MHTriServer」の違い

MH3の擬似オンライン環境を実現するプロジェクトを調べると、主に「MH3SP」と「MHTriServer」という2つのプロジェクトが存在することが分かります。

それぞれ細かな仕様の違いはありますが、私たち日本のプレイヤーにとって最も重要な違いは以下の点です。

  • MHTriServer:海外版(北米・欧州版)のみサポート。
  • MH3SP (Monster Hunter 3 Server Project)日本語版のMH3をサポートしている。

そのため、手元にある日本語版のROM(ISO/WBFS)を使用して擬似オンラインを導入する場合は、必然的に「MH3SP」一択となります。

仕組みのイメージ

MH3SPで実現しているのは、Wiiが当時通信していたカプコンや任天堂のサーバーの挙動を、プログラム(Python)を使って自分のPC上で擬似的に模倣(エミュレート)することです。Dolphin側からのアクセスを自分のPC(ローカルホスト)へとリダイレクトさせることで、ゲーム側に「オンラインに接続されている」と認識させます。

手順自体はGitHubに公開されている情報に沿って進めれば良いのですが、前提となる「Python 2.7」の導入と環境構築が少々厄介でした。以下に、Windows環境における具体的な手順と、私が躓いたエラーの解決策を解説していきます。

動作前提(環境)

  • OS:Windows 10 / 11 (64bit)
  • エミュレータ:Dolphin(最新の開発版を推奨)
  • ゲームROM:Wii『モンスターハンター3(トライ)』日本語版
  • 必須ランタイムPython 2.7(※Python 3.x系では動作しないため、必ず2.7を用意してください)

ステップ1:AltWFC(任天堂疑似サーバー)のセットアップ

まずは、任天堂のWi-Fiコネクションサーバーを模倣する「AltWFC」をセットアップします。

1. Python 2.7のインストール

  1. Pythonの公式サイト等から、最新の「Python 2.7」(Windows用インストーラー)をダウンロードします。
  2. 64bitのWindowsマシンであっても、互換性の観点から「Windows x86 MSI installer」(32bit版)を使用することが推奨されています。インストーラーの指示に従ってインストールを完了させてください。

2. Twistedのインストールと「UnicodeDecodeError」の対策

コマンドプロンプトを起動し、ネットワークライブラリである「Twisted」をインストールします。以下のコマンドを実行してください(※Pythonのインストール場所に合わせてパスは適宜変更してください)。

C:\Python27\python.exe -m pip install twisted

💡 トラブルシューティング:UnicodeDecodeErrorが出た場合

私の環境では、上記コマンドを実行した際に UnicodeDecodeError が発生してインストールが失敗しました。これは、Windowsのデフォルト言語(Shift-JIS/CP932)と、Pythonが内部で処理しようとする文字コード(UTF-8)の不整合が原因です。

このエラーを解決するには、Pythonの初期設定を強制的に書き換える必要があります。

【解決手順】

  1. C:\Python27\Lib フォルダを開きます。
  2. その配下に sitecustomize.py という名前のファイルを新規作成します(文字コードは UTF-8 で保存してください)。
  3. ファイルの中身に以下の2行を記述して保存します。
import sys
sys.setdefaultencoding('shift-jis')

※環境によっては 'shift-jis' の代わりに 'cp932' と記述しても有効です。

このファイルを作成した後に、再度 pip install twisted のコマンドを実行すると、無事にインストールが成功するはずです。

3. AltWFCのダウンロードと配置

  1. GitHubの「AltWFC」リポジトリへアクセスし、[Code] > [Download ZIP] からファイルをダウンロードして解凍します。
  2. 解凍したフォルダ内にある altwfc.cfg をメモ帳などで開き、AlternativeConfig の項目を OFF から ON に変更して保存します。
  3. フォルダ内の master_server.py をダブルクリックして起動します。

コマンドプロンプトの画面が立ち上がり、サーバーが待機状態になれば正しく実行されています。

ステップ2:ネットワークのリダイレクト(hostsファイルの編集)

ゲームがインターネット上のサーバーではなく、自分のPC(127.0.0.1)に通信しに行くように、Windowsの hosts ファイルを編集してリダイレクトを設定します。

  1. メモ帳などのテキストエディタを「管理者として実行」で開きます。
  2. 以下のパスにある hosts ファイルを開きます。 %SystemRoot%\system32\drivers\etc\hosts (通常は C:\Windows\System32\drivers\etc\hosts です)
  3. ファイルの最下部に、以下の内容をそのままコピー&ペーストして追記・保存します。
# Nintendo WFC
127.0.0.1 gpcm.gs.nintendowifi.net
127.0.0.1 gpsp.gs.nintendowifi.net
127.0.0.1 naswii.nintendowifi.net
127.0.0.1 nas.nintendowifi.net
127.0.0.1 gamestats.gs.nintendowifi.net
127.0.0.1 gamestats2.gs.nintendowifi.net
127.0.0.1 wiinat.available.gs.nintendowifi.net
127.0.0.1 wiinat.natneg1.gs.nintendowifi.net
127.0.0.1 wiinat.natneg2.gs.nintendowifi.net
127.0.0.1 wiinat.natneg3.gs.nintendowifi.net
# Monster Hunter 3 (JAP)
127.0.0.1 monhunter3wii.gamestats.gs.nintendowifi.net
127.0.0.1 monhunter3wii.gamestats2.gs.nintendowifi.net
127.0.0.1 monhunter3wii.available.gs.nintendowifi.net
127.0.0.1 monhunter3wii.natneg1.gs.nintendowifi.net
127.0.0.1 monhunter3wii.natneg2.gs.nintendowifi.net
127.0.0.1 monhunter3wii.natneg3.gs.nintendowifi.net
127.0.0.1 monhunter3wii.master.gs.nintendowifi.net
127.0.0.1 monhunter3wii.ms16.gs.nintendowifi.net
# Monster Hunter 3 (EU/US)
127.0.0.1 mh3uswii.available.gs.nintendowifi.net
127.0.0.1 mh3uswii.natneg1.gs.nintendowifi.net
127.0.0.1 mh3uswii.natneg2.gs.nintendowifi.net
127.0.0.1 mh3uswii.natneg3.gs.nintendowifi.net
127.0.0.1 mh3uswii.master.gs.nintendowifi.net
127.0.0.1 mh3uswii.gamestats.gs.nintendowifi.net
127.0.0.1 mh3uswii.gamestats2.gs.nintendowifi.net
127.0.0.1 mh3uswii.ms1.gs.nintendowifi.net
# Wiimmfi
127.0.0.1 gpcm.gs.wiimmfi.de
127.0.0.1 gpsp.gs.wiimmfi.de
127.0.0.1 naswii.wiimmfi.de
127.0.0.1 nas.wiimmfi.de
127.0.0.1 gamestats.gs.wiimmfi.de
127.0.0.1 gamestats2.gs.wiimmfi.de
127.0.0.1 wiinat.available.gs.wiimmfi.de
127.0.0.1 wiinat.natneg1.gs.wiimmfi.de
127.0.0.1 wiinat.natneg2.gs.wiimmfi.de
127.0.0.1 wiinat.natneg3.gs.wiimmfi.de
# Monster Hunter 3 (JAP)
127.0.0.1 monhunter3wii.gamestats.gs.wiimmfi.de
127.0.0.1 monhunter3wii.gamestats2.gs.wiimmfi.de
127.0.0.1 monhunter3wii.available.gs.wiimmfi.de
127.0.0.1 monhunter3wii.natneg1.gs.wiimmfi.de
127.0.0.1 monhunter3wii.natneg2.gs.wiimmfi.de
127.0.0.1 monhunter3wii.natneg3.gs.wiimmfi.de
127.0.0.1 monhunter3wii.master.gs.wiimmfi.de
127.0.0.1 monhunter3wii.ms16.gs.wiimmfi.de
# Monster Hunter 3 (EU/US)
127.0.0.1 mh3uswii.available.gs.wiimmfi.de
127.0.0.1 mh3uswii.natneg1.gs.wiimmfi.de
127.0.0.1 mh3uswii.natneg2.gs.wiimmfi.de
127.0.0.1 mh3uswii.natneg3.gs.wiimmfi.de
127.0.0.1 mh3uswii.master.gs.wiimmfi.de
127.0.0.1 mh3uswii.gamestats.gs.wiimmfi.de
127.0.0.1 mh3uswii.gamestats2.gs.wiimmfi.de
127.0.0.1 mh3uswii.ms1.gs.wiimmfi.de
# Capcom server
127.0.0.1 mh.capcom.co.jp
127.0.0.1 mmh-t1-opn01.mmh-service.capcom.co.jp
127.0.0.1 mmh-t1-opn02.mmh-service.capcom.co.jp
127.0.0.1 mmh-t1-opn03.mmh-service.capcom.co.jp
127.0.0.1 mmh-t1-opn04.mmh-service.capcom.co.jp

ステップ3:MH3SP(MH3専用サーバー)のセットアップ

次に、MH3のゲームサーバーそのものをエミュレートする「MH3SP」を設定します。

  1. GitHubの「sepalani/MH3SP」リポジトリにアクセスし、[Code] > [Download ZIP] からダウンロードして解凍します。
  2. 解凍したフォルダ内の ...\MH3SP-master\mh\constants.py をテキストエディタで開きます。
  3. 日本語版のROMを認識させるため、ファイル内にある IS_JAP の項目を False から True に変更して保存します。
  4. フォルダのルートに戻り、master_server.py をダブルクリックして起動します。

正しく実行されると、メインウィンドウの他に、4つのサーバー用ログウィンドウ(別ウィンドウ)が自動的に立ち上がります。

ステップ4:Dolphinでのパッチ適用とゲーム起動

最後に、Dolphin側のゲームにプライベートサーバーへ接続するためのパッチを適用します。パッチには「Riivolution」の仕組みを利用します。

  1. GitHubから「MH3SP-patcher」リリースページにアクセスし、最新のlocal-riivolution-patcher-vXXXX.XX.zipをダウンロードして解凍します。
  2. Dolphinを起動し、ゲームタイトル一覧から『モンスターハンター3』を右クリックして、[Riivolutionパッチを適用して起動…] (Start with Riivolution Patches) をクリックします。
  3. 開いたウィンドウで [Riivolution XMLを開く] (Open Riivolution XML) をクリックします。
  4. 先ほど解凍した MH3SP-patcher フォルダ内の Riivolution フォルダ配下にある MH3SP.xml を選択して開きます。
  5. パッチの設定項目が表示されるので、Patch EC check の項目を Enable に変更します。
  6. 今後ワンクリックで起動できるように、[プリセットとして保存] (Save as Preset) をクリックし、任意の名前(例: MH3SP)を付けて保存します。

これでDolphinのタイトル一覧に、今作成したプリセット(例: MH3SP)という独立したゲームタイトル(または起動構成)が表示されるようになります。

いざ、ロックラックの街へ!

ここまでにセットアップした「AltWFC」と「MH3SP」のサーバープログラムを両方とも起動した状態(バックグラウンドで動かした状態)にします。

その状態で、Dolphinから先ほど作成した「MH3SP」のゲームを起動してください。

オンライン(ネットワークモード)を選択し、無事にロックラックの街に入ることができれば成功です!

おわりに

公式サービス終了に伴い、長らく1人では訪れることができなかったロックラックの街ですが、この方法を使えば再びあの懐かしい空間に戻ることができます。

現時点での制限として、自分1人だけのプライベートサーバーである点や、イベントクエストがプレイできないといった課題はありますが、あの頃の雰囲気をエミュレータ上で再現できるだけでも感動ものです。

現状は完全なソロ専用のプライベートサーバーですが、開発コミュニティの進展によって、いずれまたオンラインで他の方々と街で集まって一狩り行ける日が来ることを心から期待しています。

みなさんもぜひ、眠っているMH3のROMを取り出して挑戦してみてください!

コメント

  1. 紫電 より:

    初めまして
    こちらのサイトを参考にDolphinに導入しているのですが、パッチの適用の辺りでつまづいています(こちらのサイトのリンク先でダウンロード出来るRiivolution patchを適用させようとすると無効なゲームですと表示されます)
    原因としては何が考えられるでしょうか
    ご回答頂けると幸いです

    • 蓮華 より:

      パッチと適用先のゲームのIDが不一致な可能性があります。
      MH3SP.xmlの中身を見ると、「id game=”RMH” developer=”08″」とあり、これはゲームIDが「RMH」で始まり、メーカーが「08(カプコン)」であるものを対象としているようです。
      一度、当該ゲームのプロパティからゲーム情報を確認するのが良いかもしれません。
      日本版のMH3であればゲームIDが”RMHJ08″となります。
      ちなみに、最新の開発版であるDolphin ver2606-1で問題なく適用できました。

      • 紫電 より:

        返信ありがとうございます
        ゲームID確認したところ、RMHJ08(00010000524d484a)となっていました
        一方、Riivolution patchの中身の方には
        IDGAME RMH developer 08と表示されていました
        原因がIDの不一致だと仮定した場合、どこで判断すればいいのでしょうか?

        • 蓮華 より:

          すみません、前回の私のコメントの一部がエスケープされて表示されておりませんでした。
          ゲームIDはあっているようですが、メーカーはいかがでしょうか?
          「Capcom (08)」と表示されていますでしょうか?

          • 紫電 より:

            capcom(08)となっています

          • 蓮華 より:

            あと考えられるとしたら、パッチの格納パスが原因かもしれません。
            念のため、再度webからパッチをダウンロードし、C:直下に配置して試すのはいかがでしょうか。

          • 紫電 より:

            C:直下に入れ直したところ、上手く行ったようで上記記事のようにいきました
            しかし、ゲームを起動し街へ行こうとすると接続エラー23301が表示されました
            AltwfcもしくはMH3SPのmaster-server.pyをクリックして起動するところで出来ず、各ファイルのアドレスバーからcmdで開いたのですが、ここに原因があるのでしょうか?

          • 蓮華 より:

            各プログラムが実行状態が記事の画像のように正常に動作している必要があります。
            master_server.pyをダブルクリックで起動できないのであれば、Pythonのインストールが正しくできていない可能性があります。

          • 紫電 より:

            Python入れ直し、twistedのインストールを上記の通りのコマンドで実行しようとしたところsyntax error: invalid syntaxと出ました
            文法な問題なのかと思うのですが、Windows環境下でどこが違うのかよく分かりません

          • 蓮華 より:

            Pythonの実行画面(>>> の表示)で入力していませんか?
            twistedのインストールは通常のコマンドプロンプトで実行する必要があります。

          • 蓮華 より:

            記事全体をリライトしましたので、改めてご確認いただけますと幸いです。

          • 紫電 より:

            コマンドプロンプトの方で試したところ、エラーは吐かなかったものの、黄文字で警告のようなものが表示されました(恐らくバージョンが古い為新しいバージョンに更新しろ的なやつ?)
            これはインストール出来ていると言う認識でいいですか?

          • 蓮華 より:

            具体的な警告内容は自動翻訳にかけていただくのが良いと思いますが、Python 2.7系は既にサポートが終了している旨の警告かと推察します。
            手順どおりであれば、正常にインストールできているかと思います。

          • 紫電 より:

            その後も手順通りに進めてはいたのですが、やはりAltwfcのmaster-serverをPythonで開くことが出来ませんでした(そもそもダブルクリックだとメモ帳が開くようになっています)

          • 紫電 より:

            追記 MH3SPのmaster-serverの方は正常に起動しました

          • 蓮華 より:

            拡張子.pyがメモ帳で開くようになっているのであれば、python.exeで開くように関連付けると良いと思います。

          • 紫電 より:

            どちらとも正常に起動出来ました
            パッチまで入れ直してみましたが、接続エラー23301と表示されます
            バックグラウンドでどちらのサーバープログラムも起動した状態です

          • 蓮華 より:

            altwfc.cfgやhostsファイルの編集等、何かしらの手順が未実施 or 設定誤りになっているのだと思います。