Оптимизация ядра Paper: 20+ параметров, которые реально уменьшают лаги
Оптимизация ядра Paper: 20+ параметров, которые реально уменьшают лаги
Paper — самый популярный серверный софт благодаря своей производительности. Но даже Paper может тормозить, если не настроить его правильно. В этом гайде я пройдусь по всем важным параметрам конфигурации Paper, объясню, что каждый из них делает, и дам готовую конфигурацию для разных сценариев.
Расположение файлов конфигурации
Все настройки Paper хранятся в папке plugins/Paper в двух файлах:
config.yml— глобальные настройки сервера.paper-global.yml— настройки для всех миров.paper-world-defaults.yml— значения по умолчанию для новых миров.
Первая группа: Оптимизация чанков
Чанки — главная нагрузка на CPU. Вот ключевые параметры для их управления:
# В paper-world-defaults.yml
chunks:
# Количество потоков для генерации чанков
generation-threads: 4
# Максимальное время на загрузку одного чанка (в мс)
max-load-time: 5000
# Отключаем автоматическую загрузку прилегающих чанков
auto-load-chunks: false
# Оптимизация чанков, которые никто не видит
entity-spawning:
# Только спаунить мобов, если игрок в пределах 32 блоков
spawn-ranges:
animal: 24
monster: 32
water: 16
ambient: 12
Вторая группа: Управление тиками
Каждый тик (1/20 секунды) сервер обрабатывает множество объектов. Оптимизируй это:
# В paper.yml
tick-limits:
# Максимальное время для обработки сущностей за тик (в мс)
entity-processing: 30
# Максимальное время для обработки тайлов (печи, сундуки)
tile-entity-processing: 15
# Количество тиков между проверками загрузки чанков
chunk-load-interval: 2
# В paper-global.yml
anticheat:
# Отключаем проверку обхода стен (экономит CPU)
wall-block-checks: false
Третья группа: Сущности и мобы
Слишком много сущностей — главная причина лагов на серверах выживания. Настрой лимиты:
# В paper-world-defaults.yml
entities:
# Глобальный лимит сущностей на чанк
max-entities-per-chunk: 50
# Лимит мобов на игрока
mob-spawner-tick-rate: 2
# Отключаем физику для падающих блоков (экономит CPU)
falling-blocks:
enabled: false
# Ограничение на количество стрел в мире
arrow-despawn-rate: 60
entity-activation-range:
# Дистанция для активации мобов (чем меньше, тем лучше)
monsters: 24
animals: 16
misc: 8
raiders: 32
# Время между проверками активации (в тиках)
tick-interval: 4
Четвертая группа: Красная пыль и механики
Красная пыль может создавать огромную нагрузку на слабых серверах. Ограничь её:
# В paper.yml
redstone:
# Лимит мощности красной пыли (макс. длина цепи)
max-power: 16
# Задержка между обновлениями красной пыли (в тиках)
tick-delay: 1
# Отключаем физику песка/гравия, если не нужно
physics:
falling-block: false
sand: false
Пятая группа: Сжатие данных и сеть
Оптимизация сетевых пакетов снижает нагрузку на CPU и трафик:
# В paper.yml
network:
# Порог сжатия пакетов (байты). 256 — оптимально для большинства.
compression-threshold: 256
# Максимальный размер пакета (в байтах)
max-packet-size: 16384
# Время задержки между отправкой пакетов (для снижения нагрузки)
outbound-flush-interval: 5
Готовая конфигурация для сервера с 30 игроками
Вот полностью оптимизированный файл paper.yml, который я использую на своих проектах:
# paper.yml
_config:
version: 32
global-settings:
async-chunks:
enabled: true
region-file-cache:
enabled: true
max-size: 256
watchdog:
early-warning-delay: 5000
warning-delay: 15000
perm-block-replace: false
tick-limits:
entity-processing: 30
tile-entity-processing: 15
chunk-load-interval: 2
mob-spawner-tick-rate: 2
chunks:
max-chunk-loads-per-tick: 5
max-chunk-sends-per-tick: 2
max-chunk-map-updates-per-tick: 10
auto-save-interval: 3000
world-settings:
default:
entity-activation-range:
monsters: 24
animals: 16
misc: 8
raiders: 32
redstone:
max-power: 16
entities:
max-entities-per-chunk: 50
arrow-despawn-rate: 60
ticks-per:
hopper-transfer: 8
hopper-check: 8
game-mechanics:
disable-mob-spawner-spawn-egg-transformation: true
disable-chest-cat-detection: true
Результаты оптимизации
| Показатель | До оптимизации | После оптимизации |
|---|---|---|
| Средний TPS (20 игроков) | 18.2 | 19.9 |
| Потребление CPU | 65% | 42% |
| Время загрузки мира | 8.5 сек | 5.2 сек |
| Количество сущностей в мире | 8200 | 4900 |
Важно: каждый сервер уникален. Начни с этих настроек, потом проведи нагрузочное тестирование и корректируй под свой случай.
💬 Комментарии (0)
🔒 Войдите, чтобы оставить комментарий
😊 Пока нет комментариев. Будьте первым!