マルチコア対応のマイクラサーバー Foliaのセットアップ/コンパイル方法を解説します。
他にも解説しているサイトはありましたが、自分の環境ではうまくいかなかった(方法が変わった?)り、バージョンが指定できないので、備忘録がてら解説します。
もしこの記事の方法でできなかったらPaperのGitHubに最新の情報が載っているのでそちらをご参照ください。
今回はWindows 11でやりますが、Linuxでも方法は大きく変わらないはずです
前提知識
最低限これだけはある、という前提で話を進めさせていただきます。
- マイクラサーバーへの基本的な理解(普通のバニラやPlugin/Modなどの経験がある)
- プログラムのインストールなどパソコンの基本的操作
というのも、本来シングルコアしか対応していないマイクラサーバーを無理やりマルチで動かしているので、後述しますがかなり動作が不安定だったり普通と違うことが多々あります。
初めてでいきなりFoliaを動かす人なんていないと思いますが、もしそうなら一旦普通のサーバーで経験値を稼いだ方が理解がしやすいかもしれません。
環境設定
JDK21のインストール
サーバーのコンパイル(と実行)にはJDK21が必要なのでダウンロード&インストールします
当然ですがお使いのOSに合わせてWindows/Linuxを選んでください。
Git
これもコンパイルに必要ですが、サーバーの起動には不要なので、作業が終わったらアンインストールしても構いません。
インストールできたらコマンドプロンプトかターミナルを開いて
git config --global user.email "メールアドレス"
git config --global user.name "任意のユーザー名"
この2つを実行します。””の中はご自身に合わせて書き換えてください。
ソースのダウンロード
まずはFoliaのGitHubで欲しいバージョンの名前を確認します。
私は1.20.4が欲しかったので、”ver/1.20.4″になります。
git clone -b ver/1.20.4 https://github.com/PaperMC/Folia
cd folia
./gradlew applyPatches
上3つをそれぞれ実行します。少し掛かるので待ちましょう。私は4分くらい掛かりました。
完了したら続けて以下のコードを実行
./gradlew createMojmapBundlerJar
また処理がしばらく続きますが、今度は1分半程で完了
Folia\build\lib 内に “folia-bundler-1.XX.X-R0.1-SNAPSHOT-mojmap.jar”といった.jarファイルが生成されていれば成功
起動
後はその他のサーバーと同じく、起動用のbatファイルを作って EULAに同意して といった手順で進めるだけです。
まずは先ほど完成したjarファイルを別のフォルダに移しましょう。
java -Xms8G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar ファイル名.jar
以上の内容でbatファイルを作り、実行しましょう。JVM引数の解説はPaperMCのサイトに詳しくのっています(英語)
とりあえずメモリ割り当てと最後のファイル名はお使いの環境に合わせて適宜設定してください。無論、普通に”java -Xmx4096M -Xms1024M -jar 名前.jar nogui”としても起動します。
最初に実行するとeula.txtが生成されるので、いつも通りtrueに直して再度実行。
これまでのセットアップに問題がなければ無事起動するはずです。
問題点・困ったところ
おま環かもしれないですが、いくつか問題があったので報告。
読者さんの環境でもこうだとは限らないので悪しからず。解決方法をご存じであれは教えてください。
コマンド
まずコマンドブロックが使えませんでした。もちろんserver.propertiesからコマンドブロックは有効にしてあり、OPもあります。
何か他に設定しなければいけないところがあるのでしょうか。
続いてscoreboardも何故か使えません。
tpやexecuteなど他のコマンドは使えるのですが、何故かscoreboardだけ(気づいていないだけで他も?)使えませんでした。使えないっていうのが、そもそもコマンドの存在自体がなくなっているみたいです。/helpをしたらコマンドの一覧が表示されますが、そこにscoreboardの表記なし。
プラグイン
これは公式からも言われていることで、多くのプラグインはマルチコア処理に対応していないため、動作しません。
が、viaServerやWorldEdiaなど主要なプラグインは既に対応されていたり、Folia向けのForkが存在したりします。
公式や有志のかたが使えるプラグインを纏めてくださっているので、そちらを参考にしてみてください(リスト外でも動作するものもあります)
BlockhostOfficial folia-plugins
Hangar – The best place to download Minecraft Plugins
最後に
色々と問題点も多く面倒なところもありますが、物好きな人は遊んでみてもいいのではないでしょうか?
コマンドについては有識者の方解決方法ございましたら教えて頂けると幸いです。
コメント