paper-world-defaults.yml: настройки Paper для производительности Minecraft-сервера
Где лежат настройки Paper, что делает config/paper-world-defaults.yml, какие ключи влияют на тик и как поменять их в панели EGN без ручной правки YAML.
Содержание 23
- Коротко
- Где что лежит
- Ключи, которые влияют на тик
- collisions.max-entity-collisions
- environment.optimize-explosions
- tick-rates
- entities.spawning
- chunks
- Как поменять в панели EGN
- Пример YAML
- Связанные настройки в paper-global.yml
- Симптом → причина → решение
- Практика: как не сломать мир
- Несколько миров на одном сервере
- Что менять первым
- Как проверить изменения
- Частые ошибки
- Итог
- Вопросы и ответы
- Что такое paper-world-defaults.yml?
- Какое значение collisions.max-entity-collisions по умолчанию?
- Можно ли поменять эти поля без ручной правки?
- Нужен ли перезапуск после правки?
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 разделяет настройки по областям. Вот простая таблица, которая помогает найти нужный файл.
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). Сверяйте с вашей версией: набор меняется между релизами.
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.
- Откройте сервер в панели и перейдите в «Настройки».
- Выберите категорию «Производительность» слева.
- Найдите поля с пометкой «продвинутые», если нужного нет сразу. «Столкновений сущностей за тик» и «Быстрые взрывы» — это как раз
collisions.max-entity-collisionsиenvironment.optimize-explosions. - Нажмите «Сохранить» и перезапустите сервер.
Панель сохраняет правку на месте: комментарии и порядок строк в YAML не меняются. Поля, которых нет в версии Paper, скрыты, а не показываются с ошибкой.
Если нужного ключа в панели нет, откройте «Файлы», перейдите в config/paper-world-defaults.yml и правьте строку вручную. Сохраните, перезапустите сервер и проверьте лог на ошибки YAML. Неверный отступ — самая частая причина, по которой Paper не стартует.
Пример 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. Если выигрыша нет, верните значение обратно.
Как проверить изменения
- Откройте «Бэкапы» и создайте копию мира.
- Снимите профиль spark в час пик. Запишите MSPT через
/spark tps. - Поменяйте один ключ в «Настройки» → «Производительность» или в
config/paper-world-defaults.yml. - Перезапустите сервер и подождите 15 минут, пока онлайн вернётся к обычному.
- Снова выполните
/spark tpsи/spark profiler start --timeout 300. Сравните ветки.
Пример из spigot.yml: дальности активации сущностей (это не лимит спавна, а радиус, за пределами которого сущности «засыпают»):
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
Читать далее
Вся рубрика →Чек-лист оптимизации Minecraft-сервера: 10 шагов от первого замера до стабильного MSPT
Пошаговый чек-лист для сервера Minecraft в панели EGN: замер MSPT, память, дальность, Chunky, расписание перезапуска, бэкапы и проверка после каждого изменения.
Почему лагает Minecraft-сервер при 10 игроках и что с этим делать
Типичные причины лагов на сервере на 10 игроков: процессор, память, диск, дальность и фермы. Как понять, что именно тормозит, и какие шаги в панели EGN помогают.
Обновление плагинов Minecraft без поломок: порядок действий
Как читать changelog, обновлять плагины по одному, проверять лог после запуска и откатываться через историю в панели EGN. С таблицей симптомов и причин.