Конфигурация сервера
Конфигурация сервера
Наш сервер работает на мощном оборудовании, чтобы обеспечить стабильную производительность даже при большом количестве игроков (за сезон нас посетило более 3500 человек!).
Процессор: AMD Ryzen 9 9950X, разогнан до 5.7 ГГц с водяным охлаждением.
Оперативная память: 64 ГБ.
Хранилище: 1 ТБ NVMe SSD от Samsung.
Операционная система: Debian 11.
Местоположение: Россия, Москва.
Ядро сервера
Мы используем Purpur — оптимизированное ядро, которое сочетает производительность и ванильное поведение Minecraft. Настройки ядра в этой документации относятся только к миру построек. В мире ферм изменений не проводилось.
Ограничения по мобам
Для обеспечения стабильной работы сервера мы ввели ограничения на количество мобов в каждом чанке:
Мирные мобы: до 25.
Монстры: до 25.
Жители: до 25.
Эти лимиты помогают избежать лагов и вылетов. Если вы строите фермы или механизмы, следите за количеством мобов в чанке, чтобы не превышать указанные значения.
Особенности работы с жителями
Жители могут создавать нагрузку на сервер, особенно при их большом количестве. Чтобы минимизировать это, в ядре Purpur используется функция lobotomize, которая "лоботомирует" жителей, если они не могут двигаться (например, застряли в блоках или узких пространствах). Лоботомированный житель теряет профессию (VillagerProfession.NONE), но сохраняет возможность торговли.
Код функции lobotomize:
if (!this.isAlive() || !this.world.isClient) {
// Lobotomize the villager if it cannot move
this.setVillagerData(this.getVillagerData().withProfession(VillagerProfession.NONE));
}
Как избежать лоботомии жителей:
Обеспечьте жителям достаточно пространства для передвижения (не менее 2x2 блоков).
Избегайте узких проходов и тесных помещений.
Если житель уже лоботомирован, переместите его в просторное место. Если это не помогает, замените его на нового жителя с той же профессией.
Почему мы используем лоботомию?
Лоботомия снижает нагрузку на сервер, сохраняя возможность использовать жителей без жестких ограничений их количества. Это компромисс между производительностью и свободой игроков.
Конфигурация сервера
Ниже приведены основные настройки из конфигурационных файлов сервера. Они определяют спавн, деспавн и поведение мобов, а также другие технические параметры.
bukkit.yml
spawn-limits: # Количество мобов на игрока
monsters: 20
animals: 5
water-animals: 2
water-ambient: 2
water-underground-creature: 3
axolotls: 3
ambient: 1
ticks-per: # Количество тиков на спавн мобов
animal-spawns: 400 # 20 сек
monster-spawns: 10 # 0.5 сек
water-spawns: 100 # 5 сек
water-ambient-spawns: 400 # 20 сек
water-underground-creature-spawns: 400 # 20 сек
axolotl-spawns: 400 # 20 сек
ambient-spawns: 400 # 20 сек
spigot.yml
world-settings:
default:
hanging-tick-frequency: 200 # Проверка декоративных сущностей
arrow-despawn-rate: 300 # 15 сек
trident-despawn-rate: 1200 # 60 сек
mob-spawn-range: 3 # Радиус спавна мобов (в чанках)
entity-activation-range: # Радиус активации сущностей
animals: 24
monsters: 24
raiders: 48
misc: 8
water: 8
villagers: 20
flying-monsters: 48
tick-inactive-villagers: false # Инактивные жители не тикают
entity-tracking-range: # Радиус видимости сущностей
players: 128
animals: 48
monsters: 48
misc: 32
other: 64
paper-global.yml
item-validation:
book-size:
page-max: 1280 # Ограничение размера книг (в байтах)
unsupported-settings:
allow-headless-pistons: true
allow-permanent-block-break-exploits: true
allow-piston-duplication: true
perform-username-validation: true
paper-world-defaults.yml
chunks:
auto-save-interval: 6000 # Автосохранение чанков
delay-chunk-unloads-by: 10s # Задержка выгрузки чанков
entity-per-chunk-save-limit:
area_effect_cloud: 8
arrow: 16
dragon_fireball: 3
egg: 8
ender_pearl: 8
experience_bottle: 3
experience_orb: 16
eye_of_ender: 8
fireball: 8
firework_rocket: 8
llama_spit: 3
potion: 8
shulker_bullet: 8
small_fireball: 8
snowball: 8
spectral_arrow: 16
trident: 16
wither_skull: 4
max-auto-save-chunks-per-tick: 8
prevent-moving-into-unloaded-chunks: true
collisions:
max-entity-collisions: 4 # Лимит столкновений сущностей
entities:
behavior:
pillager-patrols:
disable: true
spawning:
creative-arrow-despawn-rate: 400
despawn-ranges:
ambient: { hard: 54, soft: 32 }
axolotls: { hard: 54, soft: 32 }
creature: { hard: 54, soft: 32 }
misc: { hard: 54, soft: 32 }
monster: { hard: 54, soft: 32 }
underground_water_creature: { hard: 54, soft: 32 }
water_ambient: { hard: 54, soft: 32 }
water_creature: { hard: 54, soft: 32 }
duplicate-uuid:
mode: SAFE_REGEN
safe-regen-delete-range: 32
iron-golems-can-spawn-in-air: false
non-player-arrow-despawn-rate: 400
per-player-mob-spawns: true
fixes:
disable-unloaded-chunk-enderpearl-exploit: true
fix-curing-zombie-villager-discount-exploit: true
hopper:
cooldown-when-full: true
misc:
redstone-implementation: ALTERNATE_CURRENT
update-pathfinding-on-block-update: false
spawn:
keep-spawn-loaded: false # Спавн-чанки не прогружаются 24/7
tick-rates:
behavior:
villager:
validatenearbypoi: -1
container-update: 1
grass-spread: 4
mob-spawner: 2
sensor:
villager:
secondarypoisensor: 40
unsupported-settings:
fix-invulnerable-end-crystal-exploit: true
pufferfish.yml
enable-suffocation-optimization: true
enable-async-mob-spawning: true
projectile:
max-loads-per-tick: 10
max-loads-per-projectile: 8
dab:
enabled: true
start-distance: 12
max-tick-freq: 20
activation-dist-mod: 7
blacklisted-entities:
- VILLAGER
inactive-goal-selector-throttle: true
misc:
disable-method-profiler: true
disable-out-of-order-chat: false
enable-async-entity-tracker: true
enable-async-pathfinding: true
Механика спавна и деспавна мобов
Мы используем ванильную механику спавна мобов с одним изменением: значение Hard Despawn уменьшено с 128 до 54 блоков. Это снижает нагрузку на сервер и улучшает производительность.
Как работает спавн мобов:
Красная сфера (24–54 блока от игрока): зона появления мобов.
Зеленая сфера (до 24 блоков): безопасная зона, мобы не появляются.
Цилиндр (до 32 блоков): мобы активны и взаимодействуют с миром.
32–54 блока: мобы тикают медленнее.
За пределами 54 блоков: мобы мгновенно исчезают.

Почему фермы из старых версий работают медленнее?
После обновления до версии 1.19 высота мира изменилась (с Y0–Y265 на Y-64–Y320). Это повлияло на спавн мобов, так как игра теперь проверяет больше блоков для спавна. Фермы, построенные на высоте Y0, стали менее эффективными из-за дополнительных 64 блоков ниже.
Решения проблемы:
Перестройте ферму на высоте Y-64 (самый низкий уровень мира).
Очистите периметр от Y-64 до Y0, оставив только воздух.
Примите, что спавн мобов на многопользовательских серверах менее эффективен из-за механики per-player-mob-spawns.
Рекомендации для ферм:
Большой периметр: очищайте все возможные места спавна вокруг фермы.
Фермы эндерменов: стройте на Y-64 для максимальной эффективности.
Фермы в Нижнем мире: располагайте над крышей Нижнего мира, чтобы минимизировать спавн мобов вне платформы.
Last updated
Was this helpful?