Files
DeltaZern/zernmc-config/README.md
T
root 85b376b81e
Build Paper / build (push) Failing after 1s
Build Paper / Event File (push) Failing after 0s
add tuned server configs for 4 vCPU / 8 GB / 40 players (tracking, activation, hopper, chunk IO)
2026-09-30 07:39:24 +00:00

64 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.