Pterohost docs

Тонкая настройка 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 на серверах с большим числом мобов.

Рекомендуемые значения:

ТипДефолтРекомендацияКомментарий
animals3216-24Фермы работают вне EAR автоматически
monsters3224Боёвка не страдает
raiders4848Не трогать - важны для ивентов
villagers3216-24Деревни за пределами активности тихие
flying-monsters4848Фантомы нужны активными для геймплея

Параметр 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 SSD12-16
SATA SSD8-12
HDD4-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 хостинг