Files
DeltaZern/zernmc-config

ZernMC configs

Тюнинг под профиль: 4 vCPU / 8 GB RAM, 30–40 игроков, боевой сервер с плагином, который спавнит много Display/Marker сущностей и частиц (BlackKnife как референс).

Все файлы парциальные — Paper/Spigot дополняет недостающие ключи дефолтами, поэтому их можно копировать поверх существующих конфигов.

Куда класть

Файл Путь на сервере
spigot.yml <сервер>/spigot.yml
paper-world.yml <сервер>/<мир>/paper-world.yml — у каждого мира свой
paper-global.yml <сервер>/config/paper-global.yml
server.properties.patch ключи из него в <сервер>/server.properties

Что где меняем и зачем

spigot.yml

  • view-distance 8 / simulation-distance 5 — на 4 ядрах это самый ощутимый рычаг: симуляция шириной 10 стоит в разы дороже 5.
  • entity-tracking-range.display 128 → 48 — главный фикс. Display, ItemDisplay, TextDisplay, Marker шлются игрокам пачками; при спаме боеспособностей 128 это десятки пакетов на тик.
  • misc 96 → 48, other 64 → 32, animals/monsters 96 → 64, players 128 → 96 — то же, но по остальным типам.
  • entity-activation-range — сужаем радиусы, в которых сущности вообще тикают; tick-inactive-villagers: false — самый частый выигрыш.
  • ticks-per.hopper-check 1 → 8 — хопперы по умолчанию проверяются каждый тик, 8 экономит заметно и не ломает фермы.
  • merge-radius.item 0.5 → 2.5 — меньше сущностей-дропа на земле.
  • item-despawn-rate 6000 → 3000, arrow-despawn-rate 1200 → 300.
  • mob-spawn-range 8 → 6, max-tnt-per-tick 100 → 30.

paper-world.yml

  • misc.redstone-implementation: ALTERNATE_CURRENT — быстрее распространение редстоуна. Ломает 0-tick и двери-контры, предупредить игроков перед включением.
  • tick-rates — рост травы, обновление контейнеров, спавнеры в 3 тика.
  • collisions.max-entity-collisions 8 → 5.
  • environment.disable-thunder, optimize-explosions, max-block-ticks/max-fluid-ticks пополам.
  • hopper.disable-move-event: true — ломает плагины, слушающие InventoryMoveItemEvent (авто-сортировки, economy-логики).
  • entities.spawning.spawn-limits — потолок мобов на чанк.

paper-global.yml

  • chunk-system.io-threads: 2, worker-threads: -1 — не даём чанковой системе съесть 4 ядра.
  • chunk-loading.advanced.player-max-concurrent-chunk-loads/generates — защита от флуда генерацией при скоростном облёте.

Что НЕ трогаем

  • Moonrise (чанковая система) — уже многопоточный, отдельный патч не нужен.
  • wake-up-inactive.* — баланс, не перф.

Порядок применения

  1. Остановить сервер.
  2. Скопировать файлы.
  3. paper-world.yml положить в каждый мир: world/, world_nether/, world_the_end/.
  4. Старт → в логе не должно быть Error occurred while loading по этим файлам.
  5. Проверить: /paper entity (tracking ranges), spark для TPS/MSPT.