鯖ドリル

※本記事にはアフィリエイト広告(PR)が含まれています

Minecraft

マイクラJavaサーバーにSwitch・スマホ勢を招く|Geyserクロスプレイの実力と限界を両方のクライアントで検証した

GeyserとFloodgateを使えば、Java版サーバーに統合版から参加できます。ただし「完璧なクロスプレイ」ではありません。Switch・PS5・Xboxからの接続には別途DNS設定が必要です。

#Minecraft#Geyser#Floodgate#クロスプレイ#統合版#Java版#無料
目次

前回の記事でJava版のPaperMCサーバーを月0円で立てました。

「Switchしか持ってない友達も入れたいんだけど」

Java版と統合版(Bedrock。Switch/スマホ/PS5/Xboxはこれ)は別のゲームです。本来は互いのサーバーに入れません。それを繋ぐのが Geyser です。

Switch・PS5・Xboxの方へ 本記事で扱うのはGeyserの構築までです。接続の手順は機種で分かれます。

  • Windows・スマホ: 本記事の手順だけで接続できます
  • Switch・PS5・Xbox: 外部サーバーへ繋ぐにはDNS設定が別途必要です。手順はSwitch接続編へ(PS5・Xboxも同じDNS方式)

結論を先に言うと——

  • Geyserで統合版の友達をJavaサーバーに招待できる(移動・建築・戦闘・チャットは問題なし)
  • ただし統合版プレイヤーは「Java版のルールで動く世界のゲスト」になる。統合版流のテクニックや装置は通用しない
  • メンバーが統合版だけなら、Geyserより統合版専用サーバー(BDS)の方が幸せ

この記事で得られること

  • Geyser + Floodgate の導入手順(プラグイン2個・10分)
  • 統合版プレイヤーのホワイトリスト登録の罠(ピリオド問題)と解決手順
  • 検証結果: クロスプレイで「動くもの/動かないもの」の実例
  • あなたのグループはGeyserとBDSどちらを選ぶべきかの判断表

仕組み: Geyserは「通訳」、Floodgateは「入館証の発行係」

  • Geyser: 統合版の通信プロトコルをJava版のそれにリアルタイム翻訳するプロキシ。サーバーに統合版用の入口(UDP 19132)を増築する
  • Floodgate: 統合版プレイヤーの認証を代行するプラグイン。Java版のアカウントを持っていない人でも入れます

どちらもGeyserMCチームが開発する無料のコミュニティ製ソフトです。

Step 1. プラグイン導入(PaperMCサーバーに)

cd ~/minecraft/plugins
wget -O Geyser-Spigot.jar "https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot"
wget -O floodgate-spigot.jar "https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot"
sudo systemctl restart minecraft

起動ログに Started Geyser on UDP port 19132 が出れば読み込み成功です。

起動ログ。FloodgateとGeyserが読み込まれ、UDP 19132でGeyserが立ち上がった

Step 2. auth-type を floodgate に変更(忘れると統合版が入れない)

Geyserの設定はデフォルトで auth-type: online(=Java版アカウント必須)になっています。Floodgate認証に切り替えます:

sed -i 's/auth-type: online/auth-type: floodgate/' ~/minecraft/plugins/Geyser-Spigot/config.yml
sudo systemctl restart minecraft
grep "auth-type:" ~/minecraft/plugins/Geyser-Spigot/config.yml   # floodgateになったか確認

grepでauth-type: floodgateになっていることを確認

Step 3. ポート開放(UDP 19132・2層)

Java版の25565はTCPでしたが、統合版はUDPです。ここを間違えると繋がりません。

クラウド側(OCIセキュリティリスト): イングレス追加 0.0.0.0/0 / UDP / 19132

OS側:

sudo iptables -I INPUT 1 -p udp --dport 19132 -j ACCEPT
sudo netfilter-persistent save

OCIセキュリティリスト。Java版のTCP 25565に加えてUDP 19132が並んだ状態

注意: 統合版専用サーバー(BDS)も同じUDP 19132を使います。

  • 同じマシンで両方を同時には動かせません。ポートを取り合います
  • 両方をsystemdでenableにしていると、OS再起動時に衝突します。使うほうだけenableにしてください
  • 切り替えのコマンドはBDS編の「同じポートを取り合う(排他運用)」にまとめてあります

Step 4. Windows・スマホから接続 → ホワイトリストの罠

統合版クライアント(スマホ/Win版Bedrock)→ 遊ぶ → サーバー → サーバーを追加:

  • アドレス: サーバーのIP / ポート: 19132

Switch・PS5・Xbox版は標準の画面から外部サーバーを直接追加できません。接続にはDNS設定(Switch接続編)が必要です。

統合版のサーバー追加画面。IPとポート19132を入力

接続すると…… You are not whitelisted on this server! で弾かれます。

切断画面。You are not whitelisted on this server!

罠: 統合版プレイヤーの名前は「ピリオド付き」

Floodgate経由のプレイヤーは、Java世界では .ゲーマータグ という名前になります。頭にピリオドが付くのがポイントです。

ではコンソールで whitelist add .ゲーマータグ すればいい。そう思ったのですが、実録ではこうなりました:

> whitelist add username
That player does not exist          ← ピリオド無し: Java版の名簿を探しに行って存在しない
> whitelist add .username
That player does not exist          ← ピリオド付きでも、初回はプロファイル未登録で失敗することがある

実録ログ。ピリオド無しもピリオド付きも That player does not exist で失敗

なぜか: whitelist add は、名前をプレイヤー情報に解決してから登録します。Java名はMojangのオンライン名簿で引けます。しかしピリオド付きの統合版名は、サーバーのローカルキャッシュにしか存在しません

そしてキャッシュに載るのは接続実績ができてからです。

解決手順(どちらか):

  1. 一度接続を試みて弾かれた後、サーバーを再起動してから whitelist add .ゲーマータグ → 通るかもしれない
  2. それでもダメなら一時開放方式:(私はこちらを使用)
    whitelist off       ← 一時的に許可制を解除
    (統合版から接続 → 入れたら退出してOK)
    whitelist add .ゲーマータグ
    whitelist on        ← 必ず戻す

登録できたら再接続します。小さなリソースパック(表示補正用・無害)のダウンロード確認が出て、ワールドインです。

解決の実録ログ。whitelist add .ゲーマータグが通り、joined the gameでワールドイン成功

検証

Java版クライアントと統合版クライアントを同時に起動して、同じワールドに入れました

Java版(左)と統合版(右)のクライアントを並べて、同じサーバーに同時ログイン

✅ 問題なく動くもの

  • 移動・採掘・建築・戦闘・チャット
  • Java勢と統合版勢がお互いを視認・協力プレイ
  • ワールドの共有

⚠️ 統合版側で起きること(未検証)

  • 世界はJava版のルールで動く
    • レッドストーンの仕様はJava版準拠(ピストンの挙動・クアジコネクティビティ等)
    • 統合版で覚えた装置・テクニックは動かないものがある。統合版限定の仕様に依存するものが該当します
      • 例: 統合版式のトライデントMOB処理層、「動くかまど」系は再現不可
    • 一部の表示・アニメーションにズレやチラつきが出ることがある。Geyserはあくまで翻訳機です。両エディションで実装が違う視覚要素は、完全には訳せません

対処のヒント

  • 表示が怪しいときはまずGeyserを最新ビルドに更新(Step 1のwgetを再実行して再起動)。ほぼ毎日修正が積まれています
  • それでも残る違和感は「仕様上の限界」。ゲーム進行に支障はないが、統合版勢に”完全な統合版体験”は提供できない

判断表: あなたのグループはどっち?

メンバー構成最適解
Java勢のみPaperMC単体
Java勢+統合版勢の混成Paper + Geyser(本記事) ← 全員が入れる唯一の構成
統合版勢のみ(Switch/スマホ中心)統合版専用サーバー(BDS) ← 統合版ルールの”本物”の世界(SwitchはDNS設定も必要)

ちなみに逆方向(Java版クライアント→統合版サーバー)は、実用的な手段が存在しません。

まとめ

  • Geyserで「Javaサーバーに統合版の友達を招く」は10分で実現できる
  • ただしそれは「Javaルールの世界へのゲスト招待」。統合版勢が主役のグループにはBDSが本命
  • ホワイトリストのピリオド問題は本記事で解決可

プラグインの導入やポート開放でつまずくようなら、テンプレートからMinecraftサーバーが立つ有料VPSのほうが近道です。ConoHa for GAMEなどがそれにあたります


次に読む: Switch勢のための本物の統合版サーバー(BDS)を無料枠で立てる