
マインクラフト、面白いですよね。
うちはPS4 ⇒ PS5とずっとマイクラをやってきて、自宅のLAN経由でマルチプレイも楽しんでいます。最近は2PCでやりたくてWindows版のマイクラ(Bedrock)も導入しています。
マルチプレイするにはPS5を起動していないと、いつも遊んでいるワールドでプレイできません。
そこで、Bedrock版は簡単に自宅サーバーを構築できるので、自鯖を立ち上げてLAN内からいつでもアクセスできるようにしていました。
Java版のMODサーバーを立てることに
そんな中で、今回はクライアントさんからJava版MODサーバーの構築依頼がありました。
外部にVPSを借りたということで、サーバー管理者権限をいただいて設定を開始。
なんと「200個近くのMODを入れたい」との要望です。
さすがにそのままでは厳しいため、サーバー負荷やMOD間の干渉も考慮しながら、Java版のMODサーバーを構築していくことに。
Java版マイクラ、まずは用語の整理
クライアントさんはJava版が初めてということで、まずは基本用語の説明からスタートしました。
- バニラ:改造されていない、公式そのままのMinecraftのこと
- Forge:MODをMinecraftに導入・動作させるための前提ソフト(MODローダー)
- MOD:Minecraftの機能や仕様を追加・変更するための拡張データ
借りたサーバーのスペックと最初の試行錯誤
借りたのは GMOのConoHa VPS(2GBメモリ・3CPU)。
いきなりMOD135個を入れて起動してみましたが、サーバーには入れてもログインができず。
クラッシュはしていないものの、何かが重すぎる or 干渉している模様。
ローカル(自宅)の自鯖にも同じ構成を入れてみましたが、同じく動作せず。
MODを少しずつ追加して検証
ここで方針変更。クライアントに「本当に必要なMODを選定」してもらい、20個ほどに厳選して構築を再チャレンジ。
- 自鯖 :動作確認OK
- 外部VPS:起動するが不安定
ここで、Javaのメモリ割り当てを8GBまで引き上げることで、ようやく両環境での安定動作を確認できました。
エリトラで飛べない?挙動の謎
動作確認の一環として、クライアントさんにエリトラで飛びまくってもらったところ、サーバーがカクついて描画が追いつかず。これはConoHa側のリソース限界だと判断。
じゃあ自鯖はどうか?と思い、自分でも飛行テストを実施。
- エリトラ装備OK
- ロケット使用 → なぜか飛べない
ここで「MOD干渉の可能性がある」と判断し、ChatGPTにMODリストを渡して調査依頼。
ChatGPTでMOD干渉を洗い出し
AIにMODリストをチェックしてもらったところ、飛行・エンティティ挙動に干渉しそうなMODを2つ特定。
これらを一時的に無効化して再度検証したところ、エリトラ + ロケット飛行が正常に可能に。
やはりMODの組み合わせ次第で、思わぬ動作不良が起こるようです。
最終構成と現在の状態
結果として、安定動作するMOD構成(34個)に絞って再構築。
外部から自鯖にアクセスできるよう、ポート(25565)も開放しました。
現在は「外部クライアントが自鯖に接続してテストプレイ予定」というところまで来ています。
トラブルと解決のまとめ
項目内容VPS仕様ConoHa(2GB RAM / 3 vCPU)初期状態MOD135個 ⇒ 起動してもログイン不可検証方針MODを厳選しながら追加・動作確認最大のボトルネックメモリ不足・MOD干渉・描画処理の負荷主な対応策メモリ8GBに増加、干渉MODを無効化最終構成MOD34個で安定動作確認済み
今後の予定・課題
- クライアントと実際にプレイして負荷テスト
- 自動バックアップの仕組みづくり
- MODのアップデート管理(CurseForgeなど)
- サーバーのスケーリング(必要なら4GB以上へ)
おわりに
Java版のMOD環境は、自由度が高い反面、構築・管理の難易度も上がります。
それでも安定して動く環境を作り上げれば、マイクラの世界は無限に広がります。
これからJava版MODサーバーに挑戦したい方に、少しでも参考になればうれしいです!
Absolutely brilliant. Thank you for this.
Thank you for your comment.
I’m so flattered.