Тонкая настройка paper-world-defaults.yml для производительности
Как настроить paper-world-defaults.yml и paper-global.yml для максимального TPS. Spawn, entity ranges, anti-xray, чанки - все параметры с безопасными значениями.
Кратко: PaperMC идёт с консервативными дефолтами. Изменив 10-15 параметров в paper-world-defaults.yml и paper-global.yml, можно поднять стабильность TPS на 15-30% без плагинов и без потери ванильного геймплея.
Тонкая настройка paper-world-defaults.yml для производительности
PaperMC в 2026 году остаётся стандартом для большинства Minecraft-серверов. Он быстрее Vanilla и CraftBukkit, поддерживает плагины Bukkit/Spigot и получает регулярные патчи производительности. Однако дефолтные значения конфигов Paper намеренно “безопасные” - они гарантируют совместимость с максимальным числом плагинов и сценариев, но не оптимальный TPS. Сервер на 40+ игроков с дефолтным конфигом неизбежно будет проседать до 16-17 TPS при нагрузке. Эта статья разбирает все ключевые параметры paper-world-defaults.yml и paper-global.yml с конкретными значениями, объяснением механики и предупреждениями о подводных камнях.
Pterohost - игровой хостинг для Minecraft с NVMe-дисками, DDoS-защитой и поддержкой 24/7. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг
Где находятся конфиги Paper
После первого запуска PaperMC в корне сервера появляются:
config/paper-global.yml- глобальные настройки, применяются ко всему серверуconfig/paper-world-defaults.yml- дефолтные настройки для всех мировconfig/paper-world/world/paper-world.yml- переопределения для конкретного мира (мирworld)config/paper-world/world_nether/paper-world.yml- для незераconfig/paper-world/world_the_end/paper-world.yml- для края
Структура изменилась в Paper 1.19+. В старых версиях (1.18 и ниже) использовался единый paper.yml. Эта статья актуальна для Paper 1.20-1.21+.
Важно: после изменения конфигов перезагружай сервер командой /stop + старт, а не /reload. Paper не поддерживает полноценный hot-reload конфигов без побочных эффектов.
Параметры спавна мобов
mob-spawn-range
# paper-world-defaults.yml
entities:
spawning:
mob-spawn-range: 6
Определяет радиус (в чанках) от игрока, в котором разрешён спавн мобов. Дефолт - 8. Снижение до 6 уменьшает площадь спавна примерно в 1.7 раза при незначительном влиянии на ощущение мира.
| Значение | Площадь спавна | Нагрузка (относительно) |
|---|---|---|
| 8 (дефолт) | ~2025 чанков | 100% |
| 6 | ~1225 чанков | ~60% |
| 4 | ~625 чанков | ~31% |
Значение ниже 4 не рекомендуется: игроки начнут замечать, что мобы “выпрыгивают из воздуха” вблизи.
despawn-ranges
entities:
spawning:
despawn-ranges:
ambient:
hard: 72
soft: 32
axolotls:
hard: 72
soft: 32
creature:
hard: 96
soft: 32
misc:
hard: 96
soft: 32
monster:
hard: 96
soft: 32
underground_water_creature:
hard: 72
soft: 32
water_ambient:
hard: 64
soft: 32
water_creature:
hard: 96
soft: 32
soft - дистанция, после которой моб может деспавниться случайно. hard - дистанция принудительного деспавна.
Дефолтные hard-значения: 128 блоков для монстров. Снижение до 96 не влияет на геймплей в 99% случаев - игрок физически не может взаимодействовать с мобом на 128 блоках. Для фермерских серверов с AFK-фермами оставляй дефолт или даже увеличивай soft-порог.
Entity Activation Range - самый важный параметр
entities:
mob-effects:
# ...
tick-rates:
# ...
activation-range:
animals: 32
monsters: 32
raiders: 48
misc: 16
water: 16
villagers: 32
flying-monsters: 48
wake-up-inactive:
animals-every: 120
animals-for: 1
monsters-every: 20
monsters-for: 1
villagers-every: 20
villagers-for: 1
flying-monsters-every: 10
flying-monsters-for: 1
ignore-spectators: false
EAR (Entity Activation Range) - механизм, который переводит мобов вне зоны активации в “спящий” режим: их AI обрабатывается редко, они не ищут цели, не двигаются активно. Это экономит до 40% серверного CPU на серверах с большим числом мобов.
Рекомендуемые значения:
| Тип | Дефолт | Рекомендация | Комментарий |
|---|---|---|---|
| animals | 32 | 16-24 | Фермы работают вне EAR автоматически |
| monsters | 32 | 24 | Боёвка не страдает |
| raiders | 48 | 48 | Не трогать - важны для ивентов |
| villagers | 32 | 16-24 | Деревни за пределами активности тихие |
| flying-monsters | 48 | 48 | Фантомы нужны активными для геймплея |
Параметр wake-up-inactive определяет, как часто “спящие” мобы получают один тик для обновления (чтобы не застревать). Дефолты нормальные, не трогай без причины.
Merge Radius - объединение предметов и опыта
entities:
spawning:
# ...
misc:
# В paper-world-defaults.yml секция misc:
merge-radius:
item: 3.5
exp: 6.0
При спавне множества предметов (взрыв, убийство толпы мобов) объединение снижает число entity и нагрузку. Значения в блоках.
Безопасный диапазон:
item: 2.5 - 4.0 (дефолт 2.5, можно поднять до 4.0)exp: 4.0 - 8.0 (дефолт 3.0, оптимально 6.0)
При item > 5.0 возможны жалобы игроков на то, что предметы “прыгают” в сторону при дропе. При exp > 10.0 шарики опыта иногда “пропадают” визуально на секунду.
Автосохранение без просадок TPS
chunks:
auto-save-interval: 6000 # в тиках, 6000 = 5 минут
max-auto-save-chunks-per-tick: 8
Дефолт max-auto-save-chunks-per-tick: 24 означает, что сервер пытается сохранить 24 чанка за один тик каждые 5 минут. На HDD это вызывает характерные “лаги автосохранения” - TPS падает с 20 до 14-16 на несколько секунд.
Рекомендации:
| Тип хранилища | max-auto-save-chunks-per-tick |
|---|---|
| NVMe SSD | 12-16 |
| SATA SSD | 8-12 |
| HDD | 4-6 |
Уменьшение этого параметра распределяет нагрузку записи - каждый тик сохраняется меньше чанков, но сохранение одного “цикла” занимает больше тиков. При внезапном крэше теряется чуть больше данных, но это приемлемо при авто-бэкапах.
Также имеет смысл настроить:
chunks:
delay-chunk-unloads-by: 10s # держать чанки в памяти 10 сек после выгрузки
entity-per-chunk-save-limit:
arrow: 16
ender_pearl: 8
experience_orb: 32
fireball: 8
small_fireball: 8
snowball: 8
entity-per-chunk-save-limit защищает от “item dupe” и предотвращает сохранение аномального числа стрел или шаров в одном чанке.
Anti-Xray - защита от читеров без потери TPS
anticheat:
anti-xray:
enabled: true
engine-mode: 1
max-block-height: 64
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- copper_ore
- deepslate_copper_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- coal_ore
- deepslate_coal_ore
- lapis_ore
- deepslate_lapis_ore
- mossy_cobblestone
- obsidian
- chest
- diamond_ore
- deepslate_diamond_ore
- redstone_ore
- deepslate_redstone_ore
- clay
- emerald_ore
- deepslate_emerald_ore
- ender_chest
replacement-blocks:
- stone
- oak_planks
- deepslate
Режимы:
engine-mode: 1- скрывает руды, которые не граничат с воздухом/жидкостью. Почти нулевая нагрузка. Обходится продвинутыми X-ray клиентами.engine-mode: 2- заменяет все руды рандомными блоками, раскрывает настоящие только при приближении. Нагрузка на CPU ~3-8% выше, но надёжная защита.engine-mode: 3- добавляет фейковые руды поверх режима 2. Самый тяжёлый и эффективный.
Для survival с экономикой: engine-mode: 2, max-block-height: 64 (алмазы в основном ниже 16, но для надёжности берём 64).
Параметр use-permission: false означает, что даже операторы видят обфускацию. Если нужно дать ОПам видеть руды, добавь им пермишн paper.antixray.bypass.
Настройки чанков и View Distance
chunks:
prevent-moving-into-unloaded-chunks: true
send-full-chunks-for-critical-move-packets: false
# В paper-global.yml:
chunk-loading-basic:
player-max-chunk-generate-rate: 8.0
player-max-chunk-load-rate: 100.0
player-max-chunk-send-rate: 75.0
prevent-moving-into-unloaded-chunks: true - критически важно для предотвращения дюпов и крэшей при быстром движении игроков (элитры, лошади).
player-max-chunk-generate-rate: 8.0 - ограничивает генерацию новых чанков до 8 в секунду на игрока. При исследовании нового биома без этого лимита один игрок может загрузить сервер генерацией на несколько секунд.
Совет по server.properties:
view-distance=6
simulation-distance=4
simulation-distance - важнее для TPS, чем view-distance. Именно в зоне simulation-distance работают редстоун, AI мобов, рост растений. Можно иметь view-distance=10 (красиво) и simulation-distance=4 (быстро).
Дополнительные параметры производительности
Tick-rates для растений и жидкостей
tick-rates:
grass-spread: 4
mob-spawner: 2
container-update: 1
behavior:
villager:
validatenearbypoi: -1
acquirepoi: 120
grass-spread: 4 - трава распространяется раз в 4 тика вместо каждого. На серверах с большими лугами это заметно снижает нагрузку. Игроки не замечают разницы.
mob-spawner: 2 - спавнеры тикают раз в 2 тика. Немного снижает производительность фарм-ферм, но сокращает нагрузку.
villager.acquirepoi: 120 - жители ищут рабочее место раз в 120 тиков (6 секунд) вместо каждого тика. Жители - исторически один из главных пожирателей TPS в Minecraft.
Hopper оптимизация
hopper:
cooldown-when-full: true
disable-move-event: false
ignore-occluding-blocks: true
cooldown-when-full: true - воронки, которые заполнены и не могут передать предметы, получают задержку перед следующей попыткой. Снижает нагрузку от больших сортировщиков в 2-4 раза.
ignore-occluding-blocks: true - воронки не проверяют блоки-преграды при поиске инвентаря сверху. Небольшой прирост скорости.
Pathfinding и AI
entities:
mob-effects:
undead-immune-to-slowness: false
tracking-range-y: 64
# Важный параметр для Folia/Paper:
async-chunks:
enabled: true
threads: -1 # -1 = автоматически (обычно cpu_cores / 2)
async-chunks - загрузка и генерация чанков в отдельных потоках. В современном Paper включено по умолчанию, убедись что не выключено.
Профилирование после изменений
После настройки конфига нужно убедиться, что TPS действительно вырос. Установи плагин Spark - он бесплатный, лёгкий и даёт детальный отчёт.
# В консоли сервера:
/spark tps # текущий TPS
/spark profiler --timeout 60 # профиль за 60 секунд
/spark healthreport # общая сводка
После команды profiler Spark выдаёт ссылку на spark.lucko.me с графиком нагрузки по потокам и методам. Ищи “minecraft:tickentities”, “minecraft:runactivechunks” - это основные кандидаты на оптимизацию.
Базовые цели по TPS:
| Онлайн | Целевой TPS | Плохо |
|---|---|---|
| 1-20 игроков | 19.5-20 | < 18 |
| 20-50 игроков | 18-20 | < 16 |
| 50-100 игроков | 17-20 | < 15 |
| 100+ игроков | 15-18 | < 13 |
Итоговый пример paper-world-defaults.yml
Минимальный набор изменений, который даёт ощутимый результат на большинстве серверов:
# paper-world-defaults.yml
# Paper 1.21+, обновлено 2026
_version: 29
entities:
spawning:
mob-spawn-range: 6
despawn-ranges:
monster:
hard: 96
soft: 32
creature:
hard: 96
soft: 32
ambient:
hard: 64
soft: 32
water_creature:
hard: 96
soft: 32
water_ambient:
hard: 64
soft: 32
activation-range:
animals: 20
monsters: 24
villagers: 20
flying-monsters: 48
wake-up-inactive:
animals-every: 120
animals-for: 1
monsters-every: 20
monsters-for: 1
villagers-every: 20
villagers-for: 1
misc:
merge-radius:
item: 3.5
exp: 6.0
chunks:
auto-save-interval: 6000
max-auto-save-chunks-per-tick: 8
prevent-moving-into-unloaded-chunks: true
entity-per-chunk-save-limit:
arrow: 16
experience_orb: 32
snowball: 8
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 64
lava-obscures: false
tick-rates:
grass-spread: 4
mob-spawner: 2
behavior:
villager:
acquirepoi: 120
hopper:
cooldown-when-full: true
ignore-occluding-blocks: true
Связанные материалы
Настройка Paper - часть комплексной оптимизации сервера. Прочитай также оптимизацию Minecraft-сервера, где разобраны выбор ядра, JVM-флаги и управление плагинами. Если сервер уже лагает и нужно быстро найти причину - читай как исправить лаги на сервере Minecraft. Параметры в server.properties тоже влияют на производительность - разбор view-distance, simulation-distance и других ключевых настроек смотри в полном гиде по server.properties.
Заключение
Настройка paper-world-defaults.yml - это не разовое действие, а часть регулярного обслуживания сервера. Начни с параметров автосохранения и Entity Activation Range - они дают наибольший эффект при минимальном риске сломать геймплей. Добавь Anti-Xray в режиме 2, если на сервере есть экономика, и настрой merge-radius для снижения нагрузки от дропа. Обязательно используй Spark для измерения TPS до и после изменений - без метрик сложно понять, что именно помогло. При росте онлайна возвращайся к этим настройкам: то, что работало при 20 игроках, может требовать коррекции при 60.
Pterohost - Minecraft-хостинг на NVMe с автоматическим бэкапом, DDoS-защитой и поддержкой Paper/Purpur из коробки. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг