База знаний / Настройка конфигов Paper

🛠️ Настройка сервера

Настройка конфигов Paper

На современном Paper (и Purpur) настройки ядра лежат в папке config/:

  • paper-global.yml − на весь сервер: прокси, лимиты пакетов, нагрузка на чанки, spark;
  • paper-world-defaults.yml − дефолты для миров: anti-xray, сущности, сейв чанков. Переопределение мира − в worlds/<имя_мира>/paper-world.yml.

На старых сборках мог быть один paper.yml в корне.

Связанные конфиги: bukkit.yml, spigot.yml, server.properties.

Меняйте при остановленном сервере или сразу перезапускайте после сохранения. Перед экспериментами рекомендуется сделать бэкап.

paper-global.yml: proxies

velocity − Modern Forwarding для Velocity:

  • enabled − включить forwarding;
  • online-mode − как у Velocity (обычно true);
  • secret − общий секрет с прокси.
  • bungee-cord: online-mode − как трактовать UUID за BungeeCord/Waterfall (как у прокси).

paper-global.yml: защита от флуда

packet-limiter.all-packets − базовый антифлуд пакетов:

  • interval − окно в секундах;
  • max-packet-rate − сколько пакетов от игрока допускается за окно;
  • action − что делать при превышении: KICK или DROP;
  • kick-message − текст кика (если action = KICK).
  • spam-limiter − пороги спама пакетов, tab-complete и кликов по рецептам;
  • misc: max-joins-per-tick − сколько игроков максимум завершают вход за один тик.

Эти параметры дополняют базовую защиту, но не заменяют её.

paper-global.yml: чанки и нагрузка

chunk-loading-basic − лимиты на игрока (-1 = без лимита):

  • player-max-chunk-send-rate − скорость отправки чанков клиенту;
  • player-max-chunk-load-rate − скорость загрузки чанков;
  • player-max-chunk-generate-rate − скорость генерации новых чанков.

player-auto-save:

  • rate − как часто сохранять данные игроков (в тиках; -1 = как в bukkit.yml);
  • max-per-tick − сколько игроков максимум сейвить за один тик.

paper-global.yml: полезное ещё

unsupported-settings − разрешить ванильные эксплойты:

  • allow-headless-pistons − поршни без головки;
  • allow-piston-duplication − дуплы через поршни (TNT, рельсы, ковры…);
  • allow-permanent-block-break-exploits − ломание неломаемых блоков.
  • misc: enable-nether − включён ли Незер;
  • spark: enabled − встроенный spark;
  • messages: kick.* − тексты киков (часто MiniMessage).

paper-world-defaults.yml: anti-xray

anticheat: anti-xray − обфускация руд для игрока (подмена внешнего вида невидимых руд):

  • enabled − включить anti-xray;
  • engine-mode − алгоритм обфускации:
    • 1 − подменяет скрытые блоки «обычным» камнем мира (stone/deepslate, netherrack, end stone). Обычно хватает и легче всего для сервера;
    • 2 − раскидывает фейковые руды/блоки из hidden-blocks по чанку (и hidden, и replacement). Сильнее против x-ray, заметно тяжелее для процессора и сети;
    • 3 − как режим 2, но на каждом вертикальном слое чанка один случайный блок из списка. Тоже тяжёлый.
  • hidden-blocks − какие блоки прятать/подменять;
  • replacement-blocks − чем заменять (для режимов 2/3).

paper-world-defaults.yml: чанки и сущности

chunks:

  • auto-save-interval − интервал сейва мира (перекрывает autosave из bukkit.yml);
  • max-auto-save-chunks-per-tick − сколько чанков сейвить за тик;
  • prevent-moving-into-unloaded-chunks − не пускать в ещё не загруженный чанк.
  • collisions: max-entity-collisions − после скольких коллизий сущностей дальше не считать;
  • entities: armor-stands: tick − тикать ли стойки для брони (false помогает на картах с тысячами стоек);
  • entities: behavior: nerf-pigmen-from-nether-portals − упростить поведение пиглинов из порталов.

Грубая настройка поведения сущностей − в spigot.yml (entity-activation-range).

При лагах можно использовать spark для отладки.

Полная документация