セーブポイント

特にジャンルの決まってない雑記です。

マイクラ鯖はPaper/Purpurじゃなくてもいい

サバイバルをやりこみたい、という人向けの記事です。

自分で最近Minecraftのマルチサーバーを運営する際は、もっぱらPurpurを利用しています。
というのも、便利なサーバープラグインが利用できるし、おまけにバニラのサーバーソフトウェアより軽量(要検証?)だからです。

ブラウザ上からマップが確認できるDynmapや、Bedrock Editionの人と一緒にマルチプレイができるGeyserなどはとても便利でよく導入しています。

しかしながら、公式のサーバーではなくPaperやPurpurを使うことにはメリットのみならずデメリットも存在します

そのデメリットというのは、Paper/Purpurがゲームの挙動に変更を加えてしまうということです。先ほど公式のサーバーソフトウェアより軽量という話をしましたが、Paperやそのforkにはゲームの最適化/軽量化などがなされており、より直接的にバグの修正などが含まれることもあります。

この変更の結果、PaperやPurpurのサーバーにおいて特殊な施設が動作しなかったり、動作はするものの建築の際に特殊な考慮が必要になったりすることがあります。


よく分かる例として、PaperではデフォルトでTNT dupingが無効化されています。TNT dupingはブロックの自動破壊を必要とする施設(Tree farmなど)で現在では一般的に用いられているテクニック(バグ)で、TNTを消費することなく無限に利用可能にするものです。確かに客観的に見ればゲームバランス上このようなバグは修正されている方が良いのですが、このバグの利用を前提として設計されている施設も多く、アイテムの増殖を伴うバグながらそんなに利用が避けられている印象がありません。

youtu.be

このTNT dupingの無効化はPaperの設定ファイルから使わないように設定することもできるのですが、それ以外でもMobの挙動とかワールドの読み込み周りの仕様が変更されてしまっていたりすることがあります。さらにそれが設定などではオンオフを切り替えられないものであることもあり、PaperやPurpurで遊ぶ場合そういったバニラとの差異に注意を払う必要があります。


Purpurで遊んでいる際になんとか解決できないかと思ったのですが、そもそも論として「そのサーバーはPaper/Purpurで運営しなければならないか?」というのを考えたほうがいいということに気が付きました。

どういうことかというと、「別にFabric鯖でもよくね?」という話です。

「いや、プラグイン使ってんだからFabricは無理やろ」と思う人も多いと思うのですが、実は有名どころのプラグインってFabric向けの(サーバーサイド)Modとしてもリリースされていたりします。 例えば、先程よく使っているプラグインとして挙げたDynmapですが、ForgeやFabric向けのModとしてもリリースされています。

Dynmap-Forge/Fabric

また、Geyserも同様でダウンロードページを見に行くとSpigot/Paper以外にもFabricやNeoForgeといった環境向けのものも用意されていることが分かります。

以下はQuilt(Fabricのfork)向けのサーバーサイドModをまとめたページですが、これ以外にもたくさんあるはずです。

serverside.infra.link

そういうわけで、そんなにたくさんのプラグインを使ってない場合Fabricサーバーに移行してもなんとかなる可能性があります。ただ、もちろん同等の機能を持ったFabric Modが無い場合はPaperのまま運営を続けることになりますが……。

とはいえ、この記事の対象はバニラに近い環境で遊んでいるユーザーなので、多くの場合Paperへの依存を回避できるのではないでしょうか。

Multiverseの代替なんかもあります。サーバーサイドModオンリーでも結構色々できそうです。

modrinth.com


一応Fabricもバニラの挙動を全く書き換えないわけではないですが、Paperのそれに比べたらほぼバニラみたいなもんでしょう [要検証]。

Fabric鯖にすることのメリットとしては、Carpetが導入できることでしょうか。サーバーにCarpetが導入されていればTweakerooでAccurate Block PlacementとFlexible Block Placementが利用できるようになります。やりこみ勢にとってはかなり嬉しいと思います。

というわけで、以上Fabric鯖のすすめでした。