Folia (PaperMC/Folia)
Форк Paper, добавляющий региональную многопоточность на выделенный сервер.
Если вы управляете крупным сервером Minecraft и наблюдаете резкое падение TPS, когда кто-то исследует новые чанки или число игроков достигает пика, Folia может оказаться тем решением, которое вы искали. Этот форк на базе Paper полностью меняет подход серверов Minecraft к вычислениям, разделяя мир на независимые регионы, каждый из которых работает в отдельном потоке. Вместо одного основного потока, который пытается справиться со всеми задачами одновременно, Folia позволяет ядрам процессора действительно работать параллельно.
Что такое Folia
Folia - не мод и не плагин. Это полностью переработанный сервер Paper, в котором вообще отсутствует понятие основного потока. Соседние чанки объединяются в "регионы", и каждый регион выполняет собственный цикл тактов в пуле потоков. Представьте, что разные части мира получили собственные независимые процессоры, вместо того чтобы заставлять один поток контролировать абсолютно все.
Эта архитектура важна, поскольку она меняет способ масштабирования сервера.
Paper хорошо обслуживает серверы миллионов игроков в рамках однопоточной архитектуры, но на следующем уровне масштаба, когда сотни игроков разбросаны по огромному миру, появляются узкие места. Folia не пытается выжать больше производительности из одного потока. Вместо этого она фундаментально меняет сам подход к задаче.
Зачем это нужно
Больше всего выигрывают крупные серверы с рассредоточенными игроками. Сети Skyblock, где плавучие острова игроков разбросаны по разным измерениям, огромные миры выживания, пользовательские RPG-серверы с разнесенными подземельями - именно здесь Folia раскрывается лучше всего. Если все игроки собираются в одной области спавна, такого же прироста производительности не будет. Но для SMP-сервера с 200 и более игроками, исследующими разные части мира, разница будет значительной.
Сразу стоит уточнить: это не замена, которую можно просто установить вместо текущего сервера.
Ваши плагины придется переписать для многопоточной среды Folia. Это главная цена перехода. Но если ваш сервер уже достиг масштаба, при котором вы рассматриваете Folia, вероятно, большая часть плагинной инфраструктуры у вас и так собственная. Обычные плагины Paper, рассчитанные на наличие основного потока, сразу перестанут работать в Folia.
Однако результат вполне реален. При правильной настройке производительность действительно растет вместе с количеством ядер процессора. На стандартном 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 в файле eula.txt. Один раз запустите сервер, чтобы создать файлы конфигурации:
java -Xmx30G -Xms30G -jar folia.jar noguiОстановите сервер, после чего будет создан файл конфигурации folia.yml, и переходите к основной работе: настройке потоков. Здесь нельзя просто увеличить число потоков до максимума и считать задачу выполненной. Документация PaperMC рекомендует заранее сгенерировать мир перед запуском рабочего сервера, чтобы значительно снизить нагрузку от загрузки чанков.
Настройка потоков: главная сложность
Именно здесь многие сталкиваются с трудностями. В файле folia.yml есть параметр `threaded-regions.threads`. Не устанавливайте для него максимальное значение без расчетов. Сам проект рекомендует выделять потоки для ввода-вывода Netty, примерно 4 на 200-300 игроков, потоки ввода-вывода системы чанков, примерно 3 на 200-300 игроков, рабочие потоки системы чанков при заранее сгенерированном мире, примерно 2 на 200-300 игроков, а оставшиеся ядра использовать для потоков тактов, сохраняя общую загрузку в пределах 80%.
На машине с 32 ядрами и 500 игроками примерное распределение будет таким:
- Ввод-вывод Netty: 8 потоков
- Ввод-вывод системы чанков: 6 потоков
- Рабочие потоки системы чанков: 4 потока
- Потоки тактов: оставшиеся ядра в пределах 80% загрузки, примерно 10 потоков
Не следует выделять 100% ресурсов, поскольку плагины и непредвиденные фоновые задачи создают собственные потоки и могут привести к сбою сервера. Ограничение в 80% служит важным запасом безопасности.
Даже такое распределение является лишь отправной точкой. Отслеживайте фактическое использование потоков под нагрузкой и корректируйте настройки. В файле folia.yml каждый параметр сопровождается подробным комментарием.
Основные работающие возможности
Изоляция регионов. Каждый регион независимо обрабатывается с частотой 20 TPS. Скачок задержки в одном регионе не распространяется на остальные. Если система подземелий плохо оптимизирована, она не снизит производительность области спавна.
Полноценное масштабирование потоков. В отличие от подхода Paper с пулом потоков для плагинов, где критичные для тактов операции все равно становятся узким местом, регионы Folia выполняют логику тактов параллельно. Дополнительные ядра действительно увеличивают объем обработки. Масштабирование не линейное, но оно работает.
Асинхронная загрузка чанков. Ввод-вывод чанков выполняется за пределами потоков регионов. Сервер не будет случайно зависать при резком увеличении количества операций чтения из хранилища, как это бывает с однопоточными серверами.
Также предусмотрены встроенная оптимизация чанков на стороне сервера, кеширование заранее сгенерированных чанков и настраиваемые ограничения памяти для каждого региона. Возможности действительно впечатляют, если вы готовы подробно изучить документацию.
Что перестанет работать и как с этим справиться
Большинство плагинов предполагают, что работают в основном потоке и могут безопасно читать или изменять состояние мира без синхронизации. В Folia это не так. Если плагин выполняет действие вроде "проверить, является ли блок X камнем, а затем заменить его воздухом", состояние гонки может возникнуть между потоками, хотя в Paper такого бы не произошло. Будьте готовы к сбоям плагинов.
Несколько конкретных примеров:
- Телепортация между регионами сложнее и может вызвать взаимную блокировку, если разработчики плагинов не предусмотрели такую ситуацию
- Проверки границы мира учитывают регионы и могут работать не так, как вы ожидаете
- Таймеры и запланированные задачи должны быть безопасны для регионов, иначе возможно повреждение данных
- Для отслеживания сущностей на границах регионов потребуется обновление плагинов
В документации Folia прямо перечислены несовместимые шаблоны работы. При оценке совместимости плагина проверьте, вмешивается ли он напрямую в логику тактов и предполагает ли однопоточный доступ к данным чанков.
Когда стоит использовать Folia
У вас машина с 16 или более ядрами. На сервере регулярно будет одновременно находиться более 200 игроков. Игроки рассредоточены по миру, а не собираются на спавне. У вас есть собственная плагинная инфраструктура или вы готовы перенести существующие плагины.
Если все четыре условия выполнены, Folia вам подходит.
На VPS с 8 ядрами и 50 игроками лучше остаться на Paper. Прирост не оправдает проблем с совместимостью. На SMP-сервере со 100 игроками, которые в основном находятся на спавне, Folia поможет, но эффект будет гораздо слабее, чем на сервере с рассредоточенной аудиторией.
Но если вы создаете новое поколение крупных многопользовательских сообществ Minecraft, Folia действительно предлагает более высокий предел производительности. Игроки со скинами вроде adderall_abuser, ironmouse и другие активные участники сообществ на огромных серверах уже осваивают эту технологию. Загляните в стримерские сообщества и крупные проекты выживания на Modrinth, и вы заметите, что Folia используется все чаще.
Альтернативы, которые стоит рассмотреть
Paper. По-прежнему остается лучшим выбором для большинства серверов. Он стабилен, хорошо изучен и располагает огромной экосистемой плагинов. Если Folia кажется избыточной, возможностей оптимизации Paper, включая асинхронную загрузку чанков и сокращение числа тактов ИИ сущностей, может оказаться достаточно.
Purpur. Форк Paper с дополнительными оптимизациями для отдельных игроков. Лучше подходит серверам, где поведение игроков сильно различается: одни находятся в AFK, другие активно исследуют мир. Архитектурных изменений меньше, чем в Folia, а прирост производительности более точечный.
Сервер Fabric. Если вам нужна поддержка модов, а не плагинов, экосистема Fabric сегодня вполне подходит для серверов. Она не использует такую же многопоточность, но остается легкой и быстрой.
Если говорить честно, Folia - специализированное решение для конкретной проблемы и определенного масштаба. Во всех остальных случаях правильным выбором по-прежнему остается Paper с продуманной конфигурацией.



