[Folia]MinecraftServerをマルチコアで動かす

Share
[Folia]MinecraftServerをマルチコアで動かす

Foliaとは

Minecraftサーバーの一種で、プレイヤーの負荷分散と並列処理を最適化することを目的としている。PaperMCの一部ではなく独立したプロジェクトとして開発されている。

Foliaの特徴

独立した領域の形成

近くのロードされたチャンクをグループ化し、独立した領域を作る。各領域には独自のティックループがあり、20TPSで実行される。全チャンクをシングルスレッドで処理するのではなく、複数チャンクをグループ化してグループごとに並列処理することでマルチコアで動かせるようにしている。

ティックループってなに

Minecraftのゲームエンジンが一定の間隔で実行する処理サイクル。ゲームのロジックや状態更新を管理する。エンティティやブロック、物理演算の更新、レンダリングの更新、ネットワークの同期など。マイクラは20TPS(50ms/1TPS)で実行する。

ティックループを独立した領域ごとに分割し、並列処理することで、サーバーのパフォーマンスを向上している。

並列処理

各領域のティックループはスレッドプールで並列して実行される。大規模なプレイヤーがいるサーバーやプレイヤーが広範囲に散らばっているサーバーに対して効果的。

恩恵を受けるサーバー

Skyblockやサバイバルマルチサーバーは、プレイヤーが広範囲に散らばるので恩恵を受けやすい。人がたくさんいる大規模なサーバーも。

Foliaに最適なハードウェア

理想的には16コア以上(スレッドではなくコア)が適切。つまりたくさんコアを積んでいるマシン(Xeonなど)で動かすのに最適。

Spigotやpaperはシングルスレッドで動作するため、サーバーに求められるのはコア数ではなく動作周波数。なのでXeonのような多コア低動作周波数のようなマシンではパフォーマンスが落ちる。Foliaは各領域は独自のスレッドで処理されるため、メインスレッドのボトルネックが解消される。あとプラグインも別スレッドで動作するっぽいのでマップ系プラグインをフル稼働させてもゲーム自体は重くならない。。。はず。

実行環境

今回用意した環境

マシン NEC Express5800/R120g-1E N8100-2428Y(ヤフオクにて落札)
CPU E5-2630 V4 ×2基 (ベース2.20GHz, ターボ3.20GHz,10C20T ×2基 = 20C40T)
メモリ 64GB DDR4
SSD 240G SATA
HDD 1TB SATA
ネットワーク 宅内1G
Internet フレッツ光 1G

基盤 Proxmox
実際に生活サーバーを運営しているVMの割当
OS Ubuntu server
コア割当 26core(13c26t)
メモリ割当 35GB
SSD OS他 キャッシュ有
HDD マップ保存用 キャッシュ有

今回ブログ記事で動かす環境
OS Ubuntu
コア 20c(10c20t)
メモリ 24GB
HDD キャッシュwrite back

構築

注記 このやり方は2024年5月時点でのやり方です。

javaインストール

sudo apt install openjdk-17-jre-headless

Foliaをダウンロード
Gitからクローンする

 git clone https://github.com/PaperMC/Folia.git

ダウンロードしたフォルダに移動

 cd Folia

起動.jarを自分でビルドする必要があるのでビルドする。
パッチ適応

./gradlew applyPatches

初回は失敗することがある。赤線で囲った文字列が出てきたら、Githubをアカウントを登録する必要がある。

以下の2つのコマンドを入力

 git config --global user.email "[email protected]メールアドレス" 
 git config --global user.name "Your Nameアカウント名"

再度./gradlew applyPatches を実行
BUILD SUCCESSFULと出れば成功

次にjarファイルを作成する。これまた時間がかかるので待機。

./gradlew createReobfBundlerJar

完成したjarファイルは、~\Folia\build\libs\にあるので実行したいフォルダに移動する。

homeディレクトリにserverフォルダを作成

cd
mkdir server

移動

cp /home/mina/Folia/build/libs/folia-bundler-1.20.4-R0.1-SNAPSHOT-reobf.jar /home/mina/server

start.shを作成。細かいことはよくわからないので最小構成で。メモリは20GB割り当てた。

java -jar -Xms20G -Xmx20G folia-bundler-1.20.4-R0.1-SNAPSHOT-reobf.jar

権限変更

sudo chmod 775 start.sh
./start.sh

Failed to load eula.txtと出るので、eula.txtのfalseをtrueに変更。再度実行。
諸事情によりサーバーポートを50000に変更しています。

マイクラでアクセスしてみて入れたら成功です。

/tpsで負荷を見れます。サバイバル1ヶ月半、同接プレイヤー3人いるサーバーの例です。
max7人いたときも快適にプレイできていました。古いCPUなので完璧ではありませんが。
エンティティが1337もいるのでMSPTが少し高めですが、TPS20で動作は快適です。

プラグインについて

spigotプラグインが全て使えるわけではないので、対応表を出しておきます。ここから、対応しているプラグイン一覧を見れます。

https://github.com/BlockhostOfficial/folia-plugins

マッププラグインについて

有名なdynmapが対応していませんが、bluemapという別のマッププラグインが対応しているのでこれを使うことをおすすめします。レンダリングがマルチコアでできるだけでなく、このプラグインで使用できるコア数を指定できるので、ゲームと使用コアを分けることができます。実際に運用しているサーバーでは、26コア(13c26t)の内10コア(5c10t)をマップレンダリングに割り当てています。

立体的に見ることもできます。

動作周波数が高いCPUを使っているのであればSpigot,Paperでいいと思いますが、たくさんコアを積んだXeonのようなCPUでサーバーを立てたいときはFoliaがいいかもしれません。

よいマインクラフトライフを。

Read more

EcoflowのQi2.2モバイルバッテリーってどうなのレビュー【EcoFlow RAPID Mag 10000mAh 25W】

EcoflowのQi2.2モバイルバッテリーってどうなのレビュー【EcoFlow RAPID Mag 10000mAh 25W】

ポタ電メーカーのモバイルバッテリーってどうなのシリーズ第一弾。Qi2.2 25W出力対応のモバイルバッテリーを買ってみました。 ecoflowといえばDELTAやRIVERなどのポタ電ブランドですが、2025年あたりから小型充電器カテゴリにも参入しているそうです。 購入したのはこちら。お値段セール時で5000円。 Qi2.2 25Wワイヤレス充電対応 EcoFlow RAPID Mag モバイルバッテリー(USB-Cケーブル内蔵,10,000mAh)ホワイトQi2.2 25Wワイヤレス充電対応 EcoFlow RAPID Mag モバイルバッテリー(USB-Cケーブル内蔵,10,000mAh)ホワイトがモバイルバッテリーストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。Amazonこの著者から💡この製品の良かったポイント ・ケーブル内蔵+Cポート搭載 ・なかなかにスタイリッシュなスタンドがついている ・表示がわかりやすい ・安い スペック ・10000mAh 定格容量6200mAh (5V3A) ・38,7Wh

Adobe サブスクからプリペイドプランに変更する方法(早期解約料なし)

結論、サポートに連絡する! 自分で解約処理を行うと早期解約料が発生する(大事) 筆者例はLightroom単体プラン(月々払い)→フォトプラン(プリペイド)に変更した際の手順になります。 プリペイドの方がamazonでセールをやっており安く使えるのでおすすめです。 月換算同じ料金で+Photoshopも使えます。もちろん1TB付きです。 手順 1.安くなっているコードを購入する フォトプランならこれ。安い時は18900円程度になっています。オンラインコード版で問題ないです。購入後即Emailにコードが届きます。 ※学生の方は学生版とかcreative cloud学生版の方が安い可能性があるため一度調べてみてください。 【Adobe公式】Creative Cloud フォトプラン(Photoshop + Lightroom )| 生成AI Firefly搭載 写真画像編集ソフト(最新)| 12ヵ月 | オンラインコード版 Win / Mac / iPad / アプリ対応 | 8K 4K 画像 写真 イラスト デザイン フォント アドビ フォトショAmazon.co.jp:

Ghostにログインできなくなった時の対処

DB操作ではなくSMTP設定で「Forgot?」メールを有効化して安全に復旧する方法です。 Ghost を運用していて何度か管理画面にログインできなくなる事象が発生したため記事にしておきます。 DB(sqlite3)を直接弄って値を変える方法も試したのですが自環境では復元できず。。。メアドからパスワードリセットする方法がわかりやすく簡単なのでやり方を解説します。 Forgot?を押したときに、「お前、再設定のメール送れねーよ??メールの設定したのか??」と赤文字でエラーが表示されるときは、書いてあるとおりメールの処理がストップしている状態です。 Googleアカウントでアプリパスワードを発行する 今回は Gmail の SMTP を使用して Ghost からメールを送信させます。通常のログインパスワードではなく、専用の「アプリパスワード」が必要です。 * Google アカウントのセキュリティ設定にアクセス(※2段階認証がONになっている必要があります)。 * 検索窓に「アプリ パスワード」と入力して設定ページを開く。 * アプリ名に「Ghost Mail」などの名

サイトリニューアルのお知らせ&近況報告2026.10

サイトリニューアルのお知らせ&近況報告2026.10

お久しぶりです。久しぶりにサイトリニューアルして諸々ごっそり環境が変わりました。 ブログの内容自体はこれまで通りガジェットや雑記中心でやっていきます。 変更一覧 ・3年くらい使ってきたレンタルサーバーからセルフホスト環境へ移行 ・CMSをWordPress→Ghostに変更 ・昔の記事の整理・一部非公開化 ・筆者の環境も諸々変わった これからはドメイン代と安い電気代だけでサイトを運営できるようになりました。 これからもよろしくおなしゃす 作りたい記事 ・OPPO find X9レビュー ・S23 Ultra