【Minecraft】バニラのマルチワールドを構築するには
こんにちは。かけです。
この記事ではバニラのマルチワールド環境の構築方法をいくつか紹介します。
マイクラのサバイバルでは飽きが近しいことや新規さんが高度な文明に圧倒されるなどマルチワールド化したくなる瞬間は多数あります。今回はそのような環境を作りたい人向けの記事です。
上記の画像のようにProxyサーバであるVelocityが導入された環境を前提としていますが、Fabric + InvSync以外はProxyサーバは必要ありません。
おすすめ: Paper + Multiverse-Core
PaperにはマルチワールドのソリューションであるMultiverse-Core Pluginが有名です。コマンドからワールド生成/削除が行え、スポーン位置やゲームルールなどの詳細な設定もワールドごとに行えます。
上記のリンクはGithub Wikiで作られたドキュメントです。
基本的にこちらを見ていただければ導入から運用は行えるかと思います。
また、Multiverseは以下のような別modと併用することでより実現した環境の構築が行えます。
Multiverse-NetherPortals : オーバーワールドごとにネザーとエンドが生成されるPlugin
Multiverse-Portals : 別のポータルやワールドへテレポートが行えるポートが生成できるPlugin
Multiverse-Inventories : ワールドやワールドグループごとにプレイヤーのインベントリや統計情報を分けるPlugin
Multiverse-SignPortals : 別のワールドへ看板を使ったテレポートが行えるPlugin
本サークルではMultiverse-Core, Multiverse-NetherPortals, Multiverse-Portalsを導入してサバイバルを運用しています。
Paperは完全なバニラではない
PaperはBukkitAPIを導入しているために完全なバニラではありません。例えば、デフォルト設定ではTNT増殖(TNT duper)や砂増殖は発生しません。また、Entityの可視範囲制限やホッパーの軽量化など最適化のためにバニラと処理が乖離しているものがあります。
それらをバニラに近づけるために、PaperMC公式は設定項目をまとめてくれています。
上記のサイトでも注意書きとして100%なバニラではないことやunsupportedであることに言及しています。
もしこちらで運用される場合にも予期せぬ不具合のためにバックアップシステムも導入することを強く推奨します。
余談ですが、PaperのGithub issueにおいてもPaperでサバイバルの運用は推奨せずFabricで行う方が良いという議論が多くされています。どちらを採用するかは運用者の裁量になるかと思います。
おすすめ: Fabric + InvSync
FabricのModであるInvSyncを使ったマルチワールド(マルチサーバ環境)も一つの選択肢になります。InvSyncはサーバ間やシングルプレイのワールド間でインベントリ, 健康, 食料レベル, 経験値, スコア, エフェクト, 進捗状況を共有してくれるソリューションです。
先ほどのPaperの手法と比較して、一つのサーバに複数のワールドを作るのではなく、複数のサーバ間でデータを共有することでマルチワールドを実現します。
欠点としては以下のようなことが考えられでしょう。
サーバを分けてしまうのでチャット共有を行いたい時にはSimpleProxyChatのような別のソリューションが必要になる
VelocityなどのProxyを使うためにFabricProxy-Liteが必要なる
サーバ間の移動Modが必要になる(おすすめあったら教えてください)
このような欠点を克服した環境構築さえできれば完全なバニラ環境(のはず)ですのでおすすめの選択肢です。
Fabric + MultiWorld
Multiverse-CoreのFabric版とも言えるMultiWorldも選択肢の一つです。MultiWorldはMultiverse-Coreのかなり機能制限されたFabric/ForgeのModであり、Multiverseで実現できるポータルなどは2024年11月ではまだ実装されていません(開発中ではあるようです)
おそらくポータルを実現したソリューションはないので、コマンドでの移動でも満足できるのであれば候補に上がるかと思います。
本サークルではポータルが欲しかったので採用とはなりませんでした。