paper-world-defaults.yml: настройки Paper для производительности Minecraft-сервера

Где лежат настройки Paper, что делает config/paper-world-defaults.yml, какие ключи влияют на тик и как поменять их в панели EGN без ручной правки YAML.

Команда EGN 10 мин чтения
paper-world-defaults.yml: настройки Paper для производительности Minecraft-сервера
Содержание 23
  1. Коротко
  2. Где что лежит
  3. Ключи, которые влияют на тик
  4. collisions.max-entity-collisions
  5. environment.optimize-explosions
  6. tick-rates
  7. entities.spawning
  8. chunks
  9. Как поменять в панели EGN
  10. Пример YAML
  11. Связанные настройки в paper-global.yml
  12. Симптом → причина → решение
  13. Практика: как не сломать мир
  14. Несколько миров на одном сервере
  15. Что менять первым
  16. Как проверить изменения
  17. Частые ошибки
  18. Итог
  19. Вопросы и ответы
  20. Что такое paper-world-defaults.yml?
  21. Какое значение collisions.max-entity-collisions по умолчанию?
  22. Можно ли поменять эти поля без ручной правки?
  23. Нужен ли перезапуск после правки?

Paper — ядро Minecraft-сервера, которое ускоряет и исправляет поведение ванильного сервера. Почти все его тонкие настройки лежат в нескольких YAML-файлах: spigot.yml, bukkit.yml, config/paper-global.yml и config/paper-world-defaults.yml. Файл с названием paper-world-defaults.yml задаёт значения по умолчанию для каждого мира. Если вы поменяете там пару ключей, нагрузка от ферм, взрывов и столкновений мобов может заметно упасть.

Коротко

config/paper-world-defaults.yml — настройки мира Paper: столкновения сущностей, оптимизация взрывов, частота тиков ферм и спавнеров. По умолчанию collisions.max-entity-collisions: 8, environment.optimize-explosions: false. В панели EGN два из этих ключей вынесены в «Настройки» → «Производительность» (продвинутые поля), после сохранения нужен перезапуск.

Где что лежит

Paper разделяет настройки по областям. Вот простая таблица, которая помогает найти нужный файл.

Таблица файлов Paper: server.properties, spigot.yml, bukkit.yml, config/paper-global.yml, config/paper-world-defaults.yml
Таблица файлов Paper: server.properties, spigot.yml, bukkit.yml, config/paper-global.yml, config/paper-world-defaults.yml
  • server.properties — основные параметры сервера: порт, дальность прорисовки, режим игры. Общие для всех миров.
  • spigot.yml — настройки, унаследованные от Spigot: дальность активации сущностей, радиус спавна мобов, Bungee.
  • bukkit.yml — лимиты спавна мобов на игрока и на мир, интервалы спавна.
  • config/paper-global.yml — настройки всего Paper: загрузка чанков, ограничение пакетов, Velocity.
  • config/paper-world-defaults.yml — значения по умолчанию для всех миров: тики, сущности, взрывы, чанки.

Для отдельного мира Paper использует файл paper-world.yml в папке измерения (в 1.21.x это world/dimensions/<пространство_имён>/<ключ>/paper-world.yml). Значения из paper-world-defaults.yml действуют, пока мир их не переопределит.

Ключи, которые влияют на тик

Ниже ключи с официальными значениями по умолчанию из документации PaperMC (world configuration). Сверяйте с вашей версией: набор меняется между релизами.

Фрагмент paper-world-defaults.yml: collisions, environment, tick-rates с ключами по умолчанию
Фрагмент paper-world-defaults.yml: collisions, environment, tick-rates с ключами по умолчанию

collisions.max-entity-collisions

Сколько столкновений сущностей обрабатывается за тик. По умолчанию 8. Меньшее значение уменьшает нагрузку на фермах с толпами мобов, но мобы могут чаще проходить друг сквозь друга. Для фермы мобов разумно пробовать 4–6 и смотреть MSPT.

environment.optimize-explosions

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

tick-rates

Частота, с которой Paper тикает отдельные механизмы. По умолчанию везде 1, чем больше число, тем реже тик. Значение -1 у mob-spawner, wet-farmland и dry-farmland отключает механизм полностью (для grass-spread такое значение в документации не описано). Ключи:

  • mob-spawner — спавнеры мобов;
  • grass-spread — распространение травы;
  • wet-farmland и dry-farmland — вспаханная земля.

Увеличение числа тиков на несколько единиц снижает нагрузку, но растения и спавнеры будут реагировать медленнее. Для обычного сервера оставляйте значения по умолчанию, пока MSPT в норме.

entities.spawning

Правила спавна и деспавна: считать ли лимит мобов на игрока (per-player-mob-spawns, по умолчанию true), радиусы деспавна despawn-ranges и лимиты spawn-limits. У spawn-limits значение -1 означает «взять из bukkit.yml». Меняйте осторожно: неверные лимиты дают либо пустой мир, либо толпу мобов.

chunks

Сохранение и выгрузка чанков: auto-save-interval (по умолчанию берётся из bukkit.yml), delay-chunk-unloads-by (10 секунд), max-auto-save-chunks-per-tick (24). Эти ключи влияют на то, как часто сервер пишет на диск. Если диск медленный, лаги при сохранении заметны именно здесь.

Как поменять в панели EGN

Часть ключей уже вынесена в панель: не нужно открывать YAML вручную, если поле есть в интерфейсе. Из paper-world-defaults.yml это два ключа, о которых ниже, плюс дальности активации сущностей из spigot.yml.

Начало категории «Производительность» в «Настройках» панели EGN; продвинутые поля находятся ниже
Начало категории «Производительность» в «Настройках» панели EGN; продвинутые поля находятся ниже
  1. Откройте сервер в панели и перейдите в «Настройки».
  2. Выберите категорию «Производительность» слева.
  3. Найдите поля с пометкой «продвинутые», если нужного нет сразу. «Столкновений сущностей за тик» и «Быстрые взрывы» — это как раз collisions.max-entity-collisions и environment.optimize-explosions.
  4. Нажмите «Сохранить» и перезапустите сервер.

Панель сохраняет правку на месте: комментарии и порядок строк в YAML не меняются. Поля, которых нет в версии Paper, скрыты, а не показываются с ошибкой.

Если нужного ключа в панели нет, откройте «Файлы», перейдите в config/paper-world-defaults.yml и правьте строку вручную. Сохраните, перезапустите сервер и проверьте лог на ошибки YAML. Неверный отступ — самая частая причина, по которой Paper не стартует.

Пример YAML

Так выглядит фрагмент, если поменять пару ключей вручную:

YAML
collisions:
  max-entity-collisions: 6
environment:
  optimize-explosions: true
tick-rates:
  mob-spawner: 1
  grass-spread: 2

Отступы — два пробела, без табуляции. Значения true и false пишутся строчными буквами. Если ключа нет в вашей версии Paper, сервер просто его проигнорирует, но в логе может появиться предупреждение.

Связанные настройки в paper-global.yml

Файл config/paper-global.yml задаёт поведение всего сервера. Для производительности важны ограничения загрузки чанков на игрока. По документации PaperMC по умолчанию:

  • chunk-loading-basic.player-max-chunk-load-rate — 100 чанков в секунду на игрока;
  • chunk-loading-basic.player-max-chunk-send-rate — 75 чанков в секунду на игрока;
  • chunk-loading-basic.player-max-chunk-generate-rate — -1, то есть без ограничения.

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

Здесь же есть packet-limiter — защита от потока пакетов от одного клиента. По умолчанию действие KICK: игрока кикает при превышении. Не отключайте его ради «производительности»: это защита от спама.

Симптом → причина → решение

Симптом Вероятная причина Что поменять
Фермы мобов тормозят Много столкновений сущностей collisions.max-entity-collisions на 4–6
TNT-пушка или взрывы съедают тик Точный расчёт взрывов environment.optimize-explosions: true
Фермы растут медленно, MSPT в норме Слишком большой интервал тиков Вернуть tick-rates к 1
Мобы не спавнятся, мир пустой Занижены лимиты спавна Проверить spawn-limits в bukkit.yml и в paper-world-defaults.yml
Лаги при сохранении чанков Медленный диск или большой интервал Проверить диск, chunks
Paper не стартует после правки Ошибка в YAML Вернуть файл из бэкапа, проверить отступы

Практика: как не сломать мир

Перед правкой сделайте бэкап через «Бэкапы». Затем меняйте один ключ за раз, перезапускайте сервер и смотрите MSPT через /spark tps. Если цифры не изменились, откатите. Так вы поймёте, какой ключ на самом деле помогает.

Документация PaperMC меняется вместе с релизами. Ключ, которого нет в 1.21.x, может появиться в новой версии Paper, и наоборот. Перед правкой откройте страницу PaperMC для своей версии и сверьте имена. Именно поэтому в панели поля скрываются, если их нет в версии.

Несколько миров на одном сервере

Если сервер ведёт несколько миров, например обычный мир и мир для мини-игр, значения из paper-world-defaults.yml применяются ко всем. Для отдельного мира используется paper-world.yml в папке его измерения, значения в нём переопределяют общие.

Практический вывод: если в одном мире ферма, а в другом строительство, не выставляйте жёсткие лимиты для обоих. Настройте общий файл мягко, а для тяжёлого мира сделайте отдельное переопределение. Проверить можно так: откройте в «Файлах» папку измерения и найдите там paper-world.yml. Если в нём нет нужного ключа, мир берёт значение из общего файла.

Не путайте два уровня. Настройки в панели «Настройки» → «Производительность» обычно меняют общий файл. Панель правит строку на месте и не трогает остальной файл, но если вы позже сохраните то же поле в панели, оно перезапишет ваше ручное значение. Выберите один способ для ключа и держитесь его.

Что менять первым

Если вы не знаете, с чего начать, посмотрите на профиль spark и выберите один из трёх сценариев.

Что в профиле Что поменять первым Почему
Ветка столкновений сущностей collisions.max-entity-collisions Меньше проверок на тик, фермы легче
Взрывы в широкой ветке environment.optimize-explosions Упрощённый расчёт, заметный эффект на TNT
Частые тики спавнеров и посевов tick-rates Реже тикают механизмы, которые не нужны каждую секунду

Меняйте один ключ, перезапускайте, замеряйте MSPT. Если выигрыша нет, верните значение обратно.

Как проверить изменения

  1. Откройте «Бэкапы» и создайте копию мира.
  2. Снимите профиль spark в час пик. Запишите MSPT через /spark tps.
  3. Поменяйте один ключ в «Настройки» → «Производительность» или в config/paper-world-defaults.yml.
  4. Перезапустите сервер и подождите 15 минут, пока онлайн вернётся к обычному.
  5. Снова выполните /spark tps и /spark profiler start --timeout 300. Сравните ветки.

Пример из spigot.yml: дальности активации сущностей (это не лимит спавна, а радиус, за пределами которого сущности «засыпают»):

YAML
world-settings:
  default:
    entity-activation-range:
      monsters: 32
      animals: 32
      villagers: 32

Эти значения совпадают с настройками по умолчанию, которые показывает панель EGN. Уменьшение — например, monsters: 24 — снижает обработку мобов вдали от игроков, но мобы «засыпают» раньше.

Частые ошибки

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

Ставить tick-rates в -1 на фермах. Ферма перестанет работать совсем. Используйте тиковую задержку, а не отключение.

Включать optimize-explosions без проверки. Иногда постройки ведут себя иначе, и это замечают игроки, а не сервер.

Править YAML табуляцией. YAML не понимает табуляцию. Используйте пробелы.

Не перезапускать после сохранения. Большинство ключей читается при старте.

Итог

config/paper-world-defaults.yml — файл с настройками мира Paper, который влияет на столкновения сущностей, взрывы, частоту тиков и сохранение чанков. Основные поля видны в панели EGN в «Настройки» → «Производительность», там же можно поменять их без правки YAML. Для ручных правок откройте «Файлы», сверьтесь с документацией для своей версии Paper, сохраните бэкап и меняйте по одному ключу, проверяя MSPT.

Вопросы и ответы

Что такое paper-world-defaults.yml?

Файл Paper с настройками мира по умолчанию: столкновения сущностей, взрывы, тики ферм и спавнеров, сохранение чанков.

Какое значение collisions.max-entity-collisions по умолчанию?

8 согласно документации PaperMC. Меньшее значение снижает нагрузку на толпы мобов.

Можно ли поменять эти поля без ручной правки?

Да, большинство полей есть в панели EGN в разделе «Настройки» → «Производительность». Поля, которых нет в версии Paper, скрыты.

Нужен ли перезапуск после правки?

Да. Настройки применяются при запуске сервера.

Сервер под Minecraft за пару минут — egnetwork.ru

Читать далее

Вся рубрика →