Свой сервер

Оптимизация сервера Paper

Сервер лагает при двадцати игроках? Выберите, на чём он работает, — соберём правки bukkit.yml, spigot.yml и paper-world-defaults.yml с объяснением каждой. Фермы можно не трогать.

Какой сервер

6–8 ГБ, до 60 игроков.

Фермы

Результат

25 правок

server.properties

view-distance=8
simulation-distance=6

bukkit.yml

spawn-limits:
  monsters: 60
  water-ambient: 5
  ambient: 1
ticks-per:
  monster-spawns: 5

spigot.yml

world-settings:
  default:
    merge-radius:
      item: 2.5
      exp: 3.0
    arrow-despawn-rate: 300
    entity-activation-range:
      animals: 24
      villagers: 24
      tick-inactive-villagers: false
    entity-tracking-range:
      animals: 64
      monsters: 64
      misc: 48
    nerf-spawner-mobs: true

config/paper-world-defaults.yml

chunks:
  max-auto-save-chunks-per-tick: 12
  prevent-moving-into-unloaded-chunks: true
  entity-per-chunk-save-limit:
    experience_orb: 16
collisions:
  max-entity-collisions: 4
environment:
  optimize-explosions: true
  treasure-maps:
    find-already-discovered:
      villager-trade: true
hopper:
  ignore-occluding-blocks: true
misc:
  redstone-implementation: ALTERNATE_CURRENT
tick-rates:
  grass-spread: 4
Скачать правки

В файлах — только изменённые ключи. Впишите их в свои файлы на сервере и перезапустите его — настройки мира читаются при запуске.

Что меняется и зачем

КлючБылоСталоЧто даёт
view-distance
server.properties
10 8 Сколько чанков вокруг игрока отправляется ему. Главная статья расхода памяти и сети.
simulation-distance
server.properties
10 6 В каком радиусе чанков мир живёт: растут посевы, ходят мобы, работает редстоун.
spawn-limits.monsters
bukkit
70 60 Потолок враждебных мобов на игрока. Меньше мобов — меньше расчётов пути.
spawn-limits.water-ambient
bukkit
20 5 Рыбы в воде: их много, а играть они не мешают и не помогают.
spawn-limits.ambient
bukkit
15 1 Летучие мыши — бесполезная нагрузка в пещерах.
ticks-per.monster-spawns
bukkit
1 5 Как часто сервер пробует заспавнить монстра. Раз в 10 тиков вместо каждого.
world-settings.default.merge-radius.item
spigot
0.5 2.5 Выпавшие предметы рядом сливаются в одну стопку — меньше сущностей.
world-settings.default.merge-radius.exp
spigot
-1 3.0 Шары опыта сливаются в один — особенно заметно у ферм и на спавнерах.
world-settings.default.arrow-despawn-rate
spigot
1200 300 Застрявшие стрелы исчезают через 15 секунд, а не через минуту.
world-settings.default.entity-activation-range.animals
spigot
32 24 Животные дальше этого радиуса почти не думают — экономия на пастбищах.
world-settings.default.entity-activation-range.villagers
spigot
32 24 Жители за радиусом замирают — железная ферма вдали от игрока встанет.
world-settings.default.entity-activation-range.tick-inactive-villagers
spigot
true false Неактивные жители не работают за радиусом активации.
world-settings.default.entity-tracking-range.animals
spigot
96 64 С какого расстояния игрок видит животных. Меньше — меньше пакетов.
world-settings.default.entity-tracking-range.monsters
spigot
96 64 С какого расстояния видно монстров.
world-settings.default.entity-tracking-range.misc
spigot
96 48 Рамки, предметы на земле, опыт: видно ближе, грузит меньше.
world-settings.default.nerf-spawner-mobs
spigot
false true Мобы из спавнеров не думают — спавнерные фермы перестанут работать.
chunks.max-auto-save-chunks-per-tick
paper
24 12 Автосохранение размазывается по тикам — без рывков раз в пять минут.
chunks.prevent-moving-into-unloaded-chunks
paper
false true Игрок не влетает в незагруженные чанки — сервер не грузит их рывком.
chunks.entity-per-chunk-save-limit.experience_orb
paper
-1 16 Сколько шаров опыта чанк сохраняет — защита от лагов на брошенных фермах.
collisions.max-entity-collisions
paper
8 4 Со сколькими соседями моб считает столкновения. Толпы мобов дешевле.
environment.optimize-explosions
paper
false true Быстрый расчёт взрывов: динамитные пушки и криперы меньше роняют сервер.
environment.treasure-maps.find-already-discovered.villager-trade
paper
false true Карта сокровищ у жителя не ищет новый клад тысячи чанков — частый источник зависаний.
hopper.ignore-occluding-blocks
paper
false true Воронка под цельным блоком не ищет предметы над ним.
misc.redstone-implementation
paper
VANILLA ALTERNATE_CURRENT Быстрый редстоун. Порядок срабатывания чуть другой — тонкие схемы могут сбиться.
tick-rates.grass-spread
paper
1 4 Трава расползается в четыре раза реже — на глаз не видно.

Что нужно знать про оптимизацию Paper

  • Ключи — Paper 26.3. Список и значения по умолчанию — из документации PaperMC, тот же, что в вики «Конфиги сервера». На старой версии часть ключей может называться иначе.
  • Главное — дальность. view-distance и simulation-distance в server.properties дают больше, чем все остальные правки вместе: каждый чанк радиуса — это квадрат чанков вокруг каждого игрока.
  • Правки — не волшебство. Если сервер лагает из-за одного плагина или фермы на тысячу мобов, найти её поможет профилировщик spark, а не конфиг.
  • Память — отдельно. Сколько её выделить и с какими флагами запускать, соберёт файл запуска сервера.

Остальные строки server.properties объясняет конфиг server.properties.

Частые вопросы

Как оптимизировать сервер Paper?

Уменьшить view-distance и simulation-distance в server.properties, сузить радиус активации мобов в spigot.yml и включить быстрые алгоритмы в paper-world-defaults.yml. Страница соберёт правки под ваш сервер.

Почему после оптимизации сломалась ферма?

Часть правок замораживает жителей и мобов вдали от игрока, реже проверяет воронки или меняет порядок редстоуна. Галочка «Сохранить фермы» эти правки не делает.

Какой view-distance ставить на сервере?

6–8 чанков на обычном сервере: это главная статья расхода памяти и сети. simulation-distance — на 2 меньше.