マイペースなRailsおじさん

Ruby、Ruby on Rails、オブジェクト指向設計を主なテーマとして扱います。だんだん大きくなっていくRuby on Rails製プロダクトのメンテナンス性を損なわない方法を考えたり考えなかったりしている人のブログです。

Minecraft統合版サーバーを立ててNintendo Switchからも遊べるようにする

環境

Windowsで立てたサーバーに、ローカルネットワーク内の統合版のマイクラからアクセスして遊べるようにしたい。

サーバー: 統合版サーバー (マシン: Windows 10 自作PC

クライアント: マインクラフト統合版(マシン: Windows 10, Android, iPad, Switch)

クライアントはすべてサーバーと同じローカルネットワーク内にある

やること

  • 統合版サーバーを立ち上げる
  • Windows機からサーバーに入れるようにする
  • Switchからサーバーに入れるようにする

Bedrock Edition - Minecraft Wiki

統合版サーバーを立ち上げる

  1. Windows用サーバーソフトウェアをダウンロードする https://www.minecraft.net/ja-jp/download/server/bedrock
  2. zipファイルを解凍する
  3. Windows Defenderファイヤウォールで、解凍したフォルダ内のbedrock_server.exeを許可する
  4. bedrock_server.exeをダブルクリックで起動する

全体の手順はこちらが詳しい。
【マイクラ統合版】自前サーバーの立て方をやさしく解説! | WEBレコ

Windows Defenderファイヤウォールの設定手順はこちらが詳しい。

Windowsファイアウォールの例外にアプリケーションを追加する方法 | バッファロー

ゲーム内の設定についてはこちらが詳しい。設定したらbedrock_server.exeを再起動する。

マインクラフト(MINECRAFT)統合版サーバーの設定 | LIFEWORK Blog

Windows機からサーバーに入れるようにする

サーバーとして使っているマシンでマインクラフトを起動してサーバーにアクセスできるようにする。

管理者権限でコマンドプロンプトを立ち上げて、下記を実行する。

CheckNetIsolation.exe LoopbackExempt –a –p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436

マインクラフト統合版(クライアント)を立ち上げて、遊ぶ→サーバー→サーバーを追加

  • サーバー名: local
  • サーバーアドレス: 127.0.0.1
  • ポート: 19132

追加したサーバーをクリックするとワールドに入れる。

この時点で、同じネットワーク内にあるスマホタブレット、PCの統合版マインクラフトからもサーバーにアクセスできる。 しかし、Nintendo Switchなどのコンシューマーゲーム機はアクセスできない。プラットフォーム間の差異についてはこちらが詳しい。

Bedrock Edition - Minecraft Wiki

Switchからサーバーに入れるようにする

Switchでは、IPアドレスを指定してサーバーにアクセスすることができない。ただし、特集サーバーにはアクセスできる。

そこで、下記のような設定を行えば自分の立てたサーバーにアクセスできる。

  • ローカルネットワーク内にDNSサーバーを立てる
  • DNSサーバー側で特集サーバーのドメインを自分が立てたサーバーのIPアドレスにひもづける。
  • Switchで、自分が立てたDNSサーバーで名前解決するように設定する

下記のリポジトリのREADMEに従うと、上記の設定が行える。

GitHub - ConnorGraham/Minecraft-Nintendo-Switch-Private-Server

docker desktopを使う場合、Docker Desktop Backendがファイヤウォールで弾かれていないか確認しておく。 設定ができたら、switchからLifeboat のサーバーに入ると、自分の立てたサーバーにアクセスできる。

Minecraftのポリシー的にセーフなのかは確認していないので、手法とリポジトリの紹介にとどめておく。

補足

上記では、特定のサーバーに飛ばすような設定を紹介したが、任意のサーバーにアクセスする手法もある。

下記のリポジトリでは、READMEに記載のDNSサーバーを使うことで、任意のサーバーにアクセスできることを紹介している。

GitHub - Pugmatt/BedrockConnect: Join any Bedrock Edition server IP on Xbox One, Nintendo Switch, and PS4

自分でDNSサーバーを建てる必要なく任意のサーバーにアクセスできるので簡単。ただし、海外の有志が提供するサーバーを利用することになるため、セキュリティ上のリスクがあることには注意する。

まとめ

面倒なのでRealmsを買うといい。