Folia нужна большим серверам, где игроки разбросаны по миру: SMP, выживанию, SkyBlock с большим онлайном на мощной машине. Она делит мир на независимые регионы и тикает их параллельно. Обычному серверу Folia выигрыша не даст, а большинство плагинов на ней просто не запустится. Сами разработчики пишут, что Folia — «ни в коем случае не замена Paper без переделок».
Как устроена Folia
Обычный Paper обрабатывает весь мир в одном главном потоке: 20 тиков в секунду, и мобы, редстоун, игроки должны уложиться в 50 мс на тик. Когда онлайн растёт, потолком становится одно ядро процессора.
Folia — форк Paper от той же команды PaperMC. Она группирует соседние загруженные чанки в независимые регионы. У каждого региона свой цикл тиков на обычных 20 TPS, а циклы выполняются параллельно в пуле потоков. Главного потока больше нет: каждый регион сам себе главный поток. Данные, не привязанные к месту, — время суток, погоду, границу мира, команды из консоли — обрабатывает отдельный глобальный регион.
Отсюда главное свойство Folia: если игроки разошлись по миру, она создаёт много регионов и раскладывает их по ядрам. Если все стоят на спавне, это, по сути, один регион — и одно ядро, как в Paper. Folia — отдельный проект: по README, вливать её в Paper в обозримом будущем не планируют.
Кому подходит Folia
| Ваш сервер | Что выбрать |
|---|---|
| Большой онлайн, игроки разбросаны по миру: SMP, выживание, SkyBlock | Folia — ради этого она и создана |
| Небольшой или средний онлайн | Paper или Leaf: по словам PaperMC, большинству серверов Folia не пригодится |
| Нужны привычные плагины без поддержки Folia | Paper или Leaf |
| Машина с небольшим числом ядер | Paper или Leaf: Folia советуют запускать на 16+ физических ядрах |
Перед переездом честно ответьте себе: упирается ли сервер в одно ядро прямо сейчас? Если TPS проседает из-за конкретного плагина или фермы, Folia это не вылечит — тот же регион будет тормозить и у неё. Сначала найдите причину профайлером, как в статье «Почему лагает сервер». Все варианты ядер — в статье «Какое ядро выбрать».
Железо и настройка потоков
README Folia советует в идеале не меньше 16 физических ядер — именно ядер, не потоков. Мир рекомендуют прогрузить заранее: тогда для генерации чанков нужно гораздо меньше потоков. Как это сделать — в статье о прогрузке мира.
Потоки распределяют вручную. Разработчики дают грубую оценку по своему тестовому серверу с пиком около 330 игроков и подчёркивают, что это лишь отправная точка:
- сетевой ввод-вывод (netty) — около 4 потоков на каждые 200–300 игроков;
- ввод-вывод системы чанков — около 3 на 200–300 игроков;
- рабочие потоки чанков на прогруженном мире — около 2 на 200–300 игроков;
- сборщик мусора — сколько задано флагом
-XX:ConcGCThreads(не путать с-XX:ParallelGCThreads: те работают только во время паузы); - остаток — потокам тиков регионов,
threaded-regions.threadsв глобальном конфиге, но так, чтобы всего было занято не больше 80 % ядер.
Запас в 20 % нужен потому, что сервер и плагины создают потоки, которые вы не настраиваете и не можете предсказать. После запуска распределение почти наверняка придётся подстраивать по фактической загрузке.
Плагины на Folia
Это главный барьер. Большая часть API Bukkit опирается на главный поток, которого в Folia нет. Автор README прямо пишет, что почти каждому существующему плагину нужна доработка, и советует ждать совместимости «на нуле».
Правило загрузки простое: Folia запускает только плагины с `folia-supported: true` в `plugin.yml` — так автор заявляет, что плагин готов к регионам. Остальные не загрузятся. Готовые плагины используют планировщики Folia (RegionScheduler, EntityScheduler и другие) вместо планировщика Bukkit, а телепортируют игроков только асинхронно, через teleportAsync.
name: ExamplePlugin
main: com.example.ExamplePlugin
version: 1.0
folia-supported: true- Не поддерживается часть API: весь API скорбордов, загрузка и выгрузка миров, часть API порталов, респавна и входа.
- Отключена часть команд: среди них
/scoreboard,/team,/spectate,/reload,/data,/clone,/function,/tick— полный список в FAQ документации Folia. - Поддержка растёт постепенно: например, у LuckPerms на Modrinth среди платформ указана Folia. Но каждый плагин из вашего списка нужно проверить до переезда, а не после.
Античит на Folia
Античиту на Folia особенно непросто: он следит за движением, боем и пакетами каждого игрока, а эти данные теперь живут в разных потоках. Поэтому поддержку Folia у античита проверяйте так же строго, как у любого плагина, — по его странице и документации.
DGuard Folia не поддерживает. Он сделан для Paper и Leaf версий 1.21–26.3. Если сервер можно оставить на Paper или Leaf, вы получаете DGuard на всех фронтах — бой, движение, постройка, инвентарь, пакеты — и нейросеть боя AI Combat для PvP.
Для PvP у DGuard есть AI Combat — собственная AI-модель боя, обученная на миллиардах игровых данных с популярнейших PvP-серверов: KillAura, аим и TriggerBot она разбирает в облачной проверке DGuard. Поэтому для большого PvP-сервера часто разумнее Leaf с DGuard, чем Folia без поддержки античита. Подробнее — на странице AI Combat.
Частые вопросы
Можно ли поставить Folia вместо Paper без переделок?
Нет. PaperMC прямо пишет, что Folia — не замена Paper без переделок: она загружает только плагины с пометкой folia-supported: true, часть команд и API отключена. Переезд нужно планировать и проверять каждый плагин заранее.
Сколько ядер нужно для Folia?
README Folia советует в идеале не меньше 16 физических ядер, не потоков. Мир при этом рекомендуют заранее прогрузить, чтобы генерация чанков не съедала потоки.
Как понять, что плагин работает на Folia?
Посмотрите платформы на странице плагина — на Modrinth и Hangar Folia указывается отдельно — или строку folia-supported: true в его plugin.yml. Без неё Folia плагин не загрузит.
Работает ли DGuard на Folia?
Нет, DGuard сделан для Paper и Leaf версий 1.21–26.3. Если вам важны и большой онлайн, и защита, сравните Folia с Leaf: он даёт асинхронные модули и при этом официально поддерживается DGuard вместе с нейросетью боя AI Combat.
Станет ли Folia частью Paper?
По README — нет: Folia остаётся отдельным проектом, и вливать её в Paper в обозримом будущем не планируют.
Источники
- Folia: README на GitHub
- PaperMC: страница Folia
- Документация Folia: обзор устройства
- Документация Folia: FAQ и отключённые команды
- LuckPerms на Modrinth
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf