Skip to content
Перейти к содержимому
Вернуться в блог
Folia - регионализация многопоточности на серверах

Folia - регионализация многопоточности на серверах

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
31 просмотров
Быстрый ответ:Folia - это полностью переписанный Paper-сервер с региональной многопоточностью, который делит мир на независимые регионы, каждый из которых тикает в своём потоке. Она даёт реальный прирост производительности на серверах с 200+ игроками, разбросанными по большому миру, но ваши плагины нужно переписать под многопоточную среду.
TL;DR:Folia - это многопоточная версия Paper, которая позволяет крупным серверам Minecraft распределять нагрузку между ядрами процессора. Создана для сообществ с 200+ игроками, разбросанными по всему миру, обеспечивая реальный прирост производительности ценой совместимости плагинов.
GitHub - проект сообщества Minecraft

Folia (PaperMC/Folia)

Версия Paper, добавляющая региональную многопоточность к серверу.

Добавить в звёзды на GitHub ↗
⭐ 4 228 звёзд💻 Shell📄 GPL-3.0

Если вы управляете крупным сервером Minecraft и видите, как падает TPS при исследовании новых чанков или при достижении пиковых часов, Folia может быть именно тем ответом, который вы ищите. Эта основанная на Paper версия полностью переосмысляет, как серверы Minecraft обрабатывают вычисления, разделяя мир на независимые регионы, каждый работающий в отдельном потоке. Вместо того чтобы один основной поток пытался справиться со всем сразу, Folia позволяет вашим ядрам процессора действительно работать параллельно.

Что такое Folia

Folia - это не мод. И не плагин. Это полностью переписанный Paper сервер, который убирает концепцию основного потока. Вместо этого близлежащие чанки группируются в "регионы", и каждый регион запускает свой цикл тика в пуле потоков. Думайте об этом как о том, что разные части вашего мира получают собственный независимый процессор, вместо того чтобы один поток микроуправлял всем.

Архитектура важна, потому что она меняет то, как масштабируется ваш сервер.

Paper хорошо справляется с серверами миллионов игроков в рамках однопоточного дизайна, но как только вы переходите на следующий уровень масштабирования - сотни игроков, разбросанные по огромному миру - появляются узкие места. Folia не пытается выжать больше из одного потока. Вместо этого она кардинально меняет саму проблему.


Почему вам это нужно

Большие распределённые серверы получают наибольшую пользу. Сети Skyblock, где игроки находятся на плавающих островах, разбросанных по измерениям, огромные миры выживания, пользовательские RPG-серверы с распределёнными подземельями - вот где Folia сияет. Если ваши игроки кластеризуются в одной зоне спауна, вы не увидите такого же прироста производительности. Но для SMP на 200+ игроков, где люди исследуют разные квадранты, разница существенна.

Должен сказать заранее - это не замена "plug and play".

Ваши плагины нужно переписать для многопоточной среды Folia. В этом реальная стоимость. Но если вы на том уровне масштабирования, где это рассматриваете, ваша экосистема плагинов, вероятно, уже пользовательская. Стандартные плагины Paper, которые не предполагают основной поток, сломаются сразу же под Folia.

Но выигрыш реален. При правильной конфигурации вы получите реальный прирост производительности, который масштабируется с количеством ядер процессора. Это недостижимо на стандартном Paper.


Установка и базовая настройка

Сначала скачайте последнюю сборку со страницы загрузок PaperMC. По состоянию на 2026 год Folia поддерживает современные версии Minecraft (1.20.4 и позже). Скачайте jar-файл в директорию сервера:

bash
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. Запустите сервер один раз, чтобы создать файлы конфигурации:

bash
java -Xmx30G -Xms30G -jar folia.jar nogui

Остановите сервер (он создаст конфиг folia.yml), а затем начинается настоящая работа - конфигурация потоков. Это не просто "установите больше потоков и всё". Документация PaperMC рекомендует предварительно сгенерировать ваш мир перед переходом на production, что значительно снижает нагрузку при загрузке чанков.


Конфигурация потоков - настоящий вызов

Здесь большинство людей запутаются. Ваш folia.yml имеет настройку `threaded-regions.threads`. Не просто устанавливайте её на максимум. Рекомендация самого проекта - выделите потоки для netty IO (примерно 4 на 200-300 игроков), потоки IO системы чанков (примерно 3 на 200-300 игроков), рабочие системы чанков если предварительно сгенерировано (примерно 2 на 200-300 игроков), а затем используйте оставшиеся ядра вплоть до 80% общего выделения для потоков тика.

На машине с 32 ядрами, обслуживающей 500 игроков, вы примерно выделили бы:

  • Netty IO - 8 потоков
  • IO системы чанков - 6 потоков
  • Рабочие системы чанков - 4 потока
  • Потоки тика - оставшиеся ядра вплоть до 80% (примерно 10 потоков)

Вы не оставляете 100% выделение, потому что плагины и неожиданные фоновые задачи будут создавать свои собственные потоки и крушить сервер. Потолок 80% - это граница безопасности, которая действительно имеет значение.

Даже тогда - это только отправная точка. Мониторьте реальное использование потоков под нагрузкой и корректируйте. Файл folia.yml содержит детальные комментарии для каждой опции.


Ключевые функции, которые работают

Изоляция региона. Каждый регион тикает независимо на 20 TPS. Всплеск лага в одном регионе не каскадируется на остальные. Если ваша система подземелий плохо оптимизирована, она не уронит производительность вашей зоны спауна.

Правильное масштабирование потоков. В отличие от подхода с пулом потоков плагинов Paper (который всё ещё узко место на критических операциях тика), регионы Folia запускают логику тика параллельно. Больше ядер действительно означает больше обработки тика. Масштабирование не линейное, но оно реальное.

Асинхронная загрузка чанков. IO чанков происходит вне потоков региона. Вы не получите случайные зависания, которые испытывают однопоточные серверы при скачках чтения хранилища.

Есть также встроенная поддержка оптимизации чанков на стороне сервера, предварительного кэширования сгенерированных чанков и настраиваемых лимитов памяти на регион. Честно говоря, глубина функций впечатляет, если вы готовы копнуть в документацию.


Что сломается и как это обработать

Большинство плагинов предполагают, что они находятся в основном потоке и что они могут безопасно читать/писать состояние мира без синхронизации. На Folia они ошибаются. Если плагин делает что-то вроде "проверить, является ли блок X камнем, затем установить его в воздух", это состояние гонки может произойти между потоками так, как это никогда не произойдёт на Paper. Ожидайте отказов плагинов.

Конкретные примеры:

  • Телепортация между регионами включает дополнительную сложность и может вызвать взаимные блокировки, если плагины не осторожны
  • Проверки границы мира зависят от региона и могут вести себя иначе, чем вы ожидаете
  • Таймеры и запланированные задачи должны быть безопасны для региона, чтобы избежать повреждения данных
  • Отслеживание сущностей через границы региона требует обновления плагинов

Документы Folia явно перечисляют несовместимые паттерны. Если вы оцениваете совместимость плагинов, проверьте, прямо ли они манипулируют логикой тика или предполагают однопоточный доступ к данным чанков.


Когда Folia имеет смысл

У вас есть машина с 16+ ядрами. Ваш сервер будет регулярно достигать 200+ одновременно подключённых игроков. Ваши игроки географически разбросаны (не все в зоне спауна). У вас либо пользовательская инфраструктура плагинов, либо вы готовы портировать существующие плагины.

Эти четыре условия? Вы кандидат.

Вы запускаете 50 игроков на VPS с 8 ядрами? Придерживайтесь Paper. Выигрыш не оправдает головную боль совместимости. Вы запускаете 100-игроковый SMP, где все висят в спауне? Folia помогает, но не так драматично, как на распределённом сервере.

Но если вы строите следующее поколение серьёзных многопользовательских сообществ Minecraft, Folia - это то место, где потолок производительности действительно выше. Игроки с скинами как у adderall_abuser, ironmouse и другие активные члены сообщества на огромных серверах уже изучают это направление. Посмотрите потоковые сообщества и крупные проекты выживания на Modrinth - вы будете видеть Folia всё чаще.


Альтернативы, которые стоит рассмотреть

Paper. Всё ещё золотой стандарт для большинства серверов. Стабилен, хорошо понимается, огромная экосистема плагинов. Если Folia кажется избыточной, функции оптимизации Paper (асинхронная загрузка чанков, сниженные тики AI сущностей и т.д.) могут быть достаточными.

Purpur. Версия Paper с дополнительными оптимизациями per-player. Лучше для серверов, где опыт игроков сильно различается (некоторые AFK, некоторые активно исследуют). Меньше изменений архитектуры, чем Folia, более целевой прирост производительности.

Fabric Server. Если вам нужна поддержка модов (не плагины), экосистема Fabric на самом деле довольно неплоха для серверов сейчас. Не многопоточна так же, как Folia, но лёгкая и быстрая.

Честная правда - Folia специализирована. Это для конкретной проблемы на конкретном уровне масштабирования. Для всех остальных Paper с продуманной конфигурацией остаётся правильным выбором.

Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Часто задаваемые вопросы

Что такое Folia и чем она отличается от Paper?
Folia - это не мод и не плагин, а полностью переписанный Paper-сервер без концепции основного потока. Близлежащие чанки объединяются в регионы, и каждый регион запускает свой цикл тика в пуле потоков, позволяя ядрам процессора работать по-настоящему параллельно.
Для каких серверов Folia подходит лучше всего?
Лучший результат она даёт там, где игроки разбросаны по огромному миру, например на Skyblock-сетях или RPG-серверах с отдельными подземельями. Если все игроки кластеризуются в одной зоне спауна, прирост производительности будет заметно меньше.
Будут ли работать обычные плагины Paper на Folia?
Нет. Большинство плагинов предполагают работу в основном потоке и без синхронизации обращаются к состоянию мира. На Folia это вызывает состояния гонки и сбои, поэтому стандартные плагины Paper нужно переписывать под многопоточную среду.
Как правильно настроить потоки в folia.yml?
Не выставляйте threaded-regions.threads на максимум. На машине с 32 ядрами для 500 игроков проект рекомендует примерно 8 потоков для Netty IO, 6 для IO чанков, 4 для рабочих чанков и около 10 для потоков тика. Потолок - не более 80% всех ядер: остаток нужен для плагинов и фоновых задач, иначе сервер упадёт.
Где скачать Folia и какие версии Minecraft она поддерживает?
Скачайте последнюю сборку со страницы загрузок PaperMC. По состоянию на 2026 год Folia поддерживает Minecraft 1.20.4 и более поздние версии.
Что такое изоляция регионов и зачем она нужна?
Каждый регион тикает независимо на 20 TPS, поэтому лаг в одном регионе не затрагивает остальные. Плохо оптимизированная система подземелий не уронит производительность вашей зоны спауна.

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

Похожие статьи

Folia и Paper: Тренды серверов Skyblock в 2026

Folia и Paper: Тренды серверов Skyblock в 2026

Folia и Paper доминируют в серверном ПО для Skyblock в 2026. Paper остается стабильным и совместимым, в то время как региональный мультитрединг Folia обеспечивает производительность для серверов с высоким трафиком. Узнайте, что изменилось и что подходит вашему серверу.

07.07.2026
FoliaToGo: Свежие сборки Folia Каждую Ночь

FoliaToGo: Свежие сборки Folia Каждую Ночь

FoliaToGo автоматизирует ночные сборки экспериментального сервера Folia для Minecraft, позволяя запускать последнее серверное ПО без ожидания официальных релизов. Предназначено для администраторов серверов, ищущих последние улучшения производительности и готовых тестировать экспериментальный код.

29.04.2026
Лучшие моды для улучшения игрового процесса в Minecraft 2026

Лучшие моды для улучшения игрового процесса в Minecraft 2026

Моды для улучшения игрового процесса решают проблемы без изменения основной игровой механики. Они улучшают производительность, управление инвентарем, интерфейс и помощь в строительстве с помощью оптимизаторов, таких как Sodium, систем хранения, как Storage Drawers, и информационных дисплеев, как Waila.

17.07.2026

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy