大規模なMinecraftサーバーを運営していて、誰かが新しいチャンクを探索したり、同時接続者数がピークに達したりするたびにTPSが急落するなら、Foliaが探していた答えかもしれません。このPaperベースのフォークは、ワールドを独立したリージョンに分割し、それぞれを個別のスレッドで動かすことで、Minecraftサーバーの計算処理を根本から再設計しています。1本のメインスレッドですべてを同時に処理する代わりに、FoliaではCPUコアを実際に並列動作させられます。
Foliaとは
FoliaはModでもプラグインでもありません。メインスレッドという概念そのものを取り除くため、Paperサーバーを根本から書き直したものです。近接するチャンクは「リージョン」としてまとめられ、各リージョンがスレッドプール上で独自のティックループを実行します。1本のスレッドですべてを細かく管理するのではなく、ワールドの各部分に独立したプロセッサーを割り当てるイメージです。
このアーキテクチャが重要なのは、サーバーの拡張方法そのものが変わるからです。
Paperはシングルスレッド設計の範囲内でも、膨大な数のプレイヤーが利用するサーバーを適切に処理できます。しかし、広大なワールドに数百人のプレイヤーが分散する次の規模へ進むと、ボトルネックが現れます。Foliaは1本のスレッドからさらに性能を絞り出そうとはしません。代わりに、問題の構造そのものを変えます。
Foliaを導入するメリット
最も恩恵を受けるのは、プレイヤーが広範囲に分散する大規模サーバーです。複数のディメンションに浮島が点在するSkyblockネットワーク、巨大なサバイバルワールド、ダンジョンが各地に配置されたカスタムRPGサーバーなどで、Foliaは真価を発揮します。プレイヤーが1か所のスポーンエリアに集中する場合、同じような性能向上は得られません。しかし、200人以上が別々の地域を探索するSMPなら、その差は明らかです。
最初に伝えておくべき点があります。Foliaは、そのまま置き換えて使えるものではありません。
プラグインはFoliaのマルチスレッド環境に合わせて書き直す必要があります。これが導入に伴う最大の代償です。ただし、Foliaを検討するほどの規模なら、プラグイン環境も独自開発が中心かもしれません。メインスレッドの存在を前提とする一般的なPaperプラグインは、Folia上ですぐに動作しなくなります。
それでも、得られる効果は本物です。適切に設定すれば、CPUコア数に応じて拡張する実質的な性能向上が期待できます。標準のPaperでは実現できない利点です。
インストールと基本設定
まず、PaperMCのダウンロードページから最新ビルドを入手します。2026年時点で、Foliaは新しいMinecraftバージョン、1.20.4以降に対応しています。jarファイルをサーバーディレクトリへダウンロードしてください。
wget https://api.papermc.io/v2/projects/folia/versions/latest/builds/latest/downloads/folia-latest.jar
mv folia-latest.jar folia.jar次に、eula.txtファイルでEULAに同意する必要があります。サーバーを一度起動して、設定ファイルを生成します。
java -Xmx30G -Xms30G -jar folia.jar noguiサーバーを停止するとfolia.yml設定ファイルが作成され、ここから本格的な作業であるスレッド設定に入ります。単に「スレッド数を増やせば完了」というものではありません。PaperMCのドキュメントでは、本番環境へ移行する前にワールドを事前生成することが推奨されています。これにより、チャンク読み込みの負荷を大幅に軽減できます。
スレッド設定、本当の難所
多くの人が混乱するのはここです。folia.ymlには`threaded-regions.threads`という設定がありますが、単純に最大値へ設定してはいけません。プロジェクトが示す目安では、Netty I/O用スレッドをプレイヤー200~300人あたり約4本、チャンクシステムI/O用スレッドを約3本、ワールドを事前生成している場合はチャンクシステムワーカーを約2本割り当てます。そのうえで、総割り当てがCPUコアの80%以内になるよう、残りをティックスレッドに使用します。
32コアのマシンで500人のプレイヤーを処理する場合、おおよその割り当ては次のとおりです。
- Netty I/O: 8スレッド
- チャンクシステムI/O: 6スレッド
- チャンクシステムワーカー: 4スレッド
- ティックスレッド: 80%の上限まで残りのコアを使用、約10スレッド
100%を割り当ててはいけません。プラグインや予期しないバックグラウンドタスクが独自のスレッドを生成し、サーバーをクラッシュさせる可能性があるためです。80%という上限は、実際に重要な安全ラインです。
それでも、これはあくまで出発点です。負荷がかかった状態で実際のスレッド使用状況を監視し、調整してください。folia.ymlファイルには、各オプションについて詳しいコメントが記載されています。
利用できる主な機能
リージョンの分離。各リージョンは20 TPSで独立してティック処理を行います。1つのリージョンで発生したラグが、ほかのリージョンへ連鎖することはありません。ダンジョンシステムの最適化が不十分でも、スポーンエリアの性能まで低下させずに済みます。
適切なスレッドスケーリング。Paperのプラグイン用スレッドプール方式では、ティックに直結する処理が依然としてボトルネックになります。一方、Foliaのリージョンはティックロジックを並列で実行します。コア数の増加が、実際のティック処理能力の向上につながります。完全な比例関係ではありませんが、確かな効果があります。
非同期チャンク読み込み。チャンクI/Oはリージョンスレッドの外部で処理されます。ストレージの読み込みが急増した際に、シングルスレッドサーバーで起こるような突然のフリーズを避けられます。
ほかにも、サーバー側のチャンク最適化、事前生成したチャンクのキャッシュ、リージョン単位で設定可能なメモリ制限を標準でサポートしています。ドキュメントを詳しく調べる手間を惜しまなければ、機能の充実度には驚かされるでしょう。
動作しなくなる機能と対処方法
多くのプラグインは、メインスレッド上で動作し、同期処理なしでもワールドの状態を安全に読み書きできると想定しています。Foliaでは、その想定は通用しません。たとえば、プラグインが「ブロックXが石か確認してから空気に置き換える」という処理を行う場合、Paperでは起こらなかった競合状態がスレッド間で発生する可能性があります。プラグインの不具合は避けられないと考えてください。
具体的には、次のような問題があります。
- リージョン間のテレポートは処理が複雑になり、プラグインの実装次第ではデッドロックが発生する
- ワールド境界のチェックはリージョンを考慮するため、想定とは異なる動作になる場合がある
- データ破損を防ぐには、タイマーやスケジュールタスクをリージョンセーフにする必要がある
- リージョン境界を越えるエンティティ追跡にはプラグインの更新が必要になる
Foliaのドキュメントには、互換性のない実装パターンが明記されています。プラグインの互換性を評価する際は、ティックロジックを直接操作していないか、チャンクデータへシングルスレッドでアクセスできる前提になっていないかを確認してください。
Foliaが適しているケース
16コア以上のマシンを使用している。サーバーの同時接続者数が日常的に200人を超える。プレイヤーが1か所のスポーン地点ではなく、ワールド内の広範囲に分散している。独自のプラグイン基盤がある、または既存プラグインを移植する用意がある。
この4つの条件を満たすなら、Foliaの導入候補です。
8コアのVPSで50人のサーバーを運営しているなら、Paperを使い続けましょう。互換性の問題に見合うほどの効果は得られません。100人規模のSMPでも、全員がスポーン地点に集まるなら、Foliaの効果はありますが、広範囲に分散するサーバーほど劇的ではありません。
しかし、次世代の本格的なマルチプレイMinecraftコミュニティを構築するなら、Foliaにはより高い性能上限があります。大規模サーバーで活動するadderall_abuserのようなスキンやironmouseのようなスキンを使うプレイヤーをはじめ、活発なコミュニティメンバーはすでにこの分野を模索しています。配信コミュニティやModrinthの大規模サバイバルプロジェクトを確認すれば、Foliaを目にする機会が増えていることがわかるでしょう。
検討する価値のある代替手段
Paper。現在も大半のサーバーにとって定番の選択肢です。安定しており、仕様が広く理解され、膨大なプラグイン環境が整っています。Foliaが大げさに感じられるなら、Paperの最適化機能、非同期チャンク読み込みやエンティティAIのティック削減などで十分かもしれません。
Purpur。プレイヤー単位の最適化機能を追加したPaperのフォークです。プレイ状況が大きく異なるサーバー、たとえば放置中のプレイヤーと活発に探索するプレイヤーが混在する環境に向いています。Foliaほど大きなアーキテクチャ変更はなく、より対象を絞った性能向上が得られます。
Fabric Server。プラグインではなくModのサポートが必要なら、現在のFabric環境はサーバー用途でも非常に充実しています。Foliaと同じ方式のマルチスレッドではありませんが、軽量で高速です。
率直に言えば、Foliaは特定用途向けです。特定の規模で発生する、特定の問題を解決するために作られています。それ以外のサーバーでは、入念に設定したPaperが今も適切な選択です。



