Настройка файла spigot yml

Обновлено: 07.07.2024

Spigot / Paper предлагает настройки, которые значительно улучшают производительность сервера Майнкрафт. В этом руководству представлены предлагаемые значения, позволяющие получить максимальную отдачу от вашего сервера без ущерба для игрового процесса.

Предварительная генерация карты

Предварительная генерация карты имеет большое влияние на устранение лагов на сервере Майнкрафт. Обязательно сделайте это на своем сервере.

  1. Установите плагин WorldBorder
  2. Поставьте разумное ограничение по размерам карты
  3. Пропишите команду: /wb fill
  4. Подождите… это может занять вплоть до нескольких часов в зависимости от размера карты. В идеале это нужно делать до того, как карта будет запущена, так как это вызовет задержку.
  5. Оставьте ограничение мира, чтобы чанки больше никогда не создавались (тогда вся карта будет сразу прогружена и не будет лагов из-за прогрузки чанков).

Bukkit.yml

spawn-limits
По умолчанию: monsters: 70, animals: 10, water-animals: 15, water-ambient: 20, ambient: 15
Оптимизировано: monsters: 50, animals: 8, water-animals: 7, water-ambient: 10, ambient: 1
Влияние на производительность: Большое

chunk-gc.period-in-ticks
По умолчанию: 600
Оптимизировано: 400
Влияние на производительность: Среднее

➫ Позволяет быстрее выгружать свободные чанки. Чем меньше тиков, тем выше будет показатель TPS, про который вы можете прочитать в конце этой статьи.

ticks-per.(type)-spawns
По умолчанию: monsters:1, water:1, water-ambient:1, ambient:1
Оптимизировано: monsters:5, water:11, water-ambient:21, ambient:31
Влияние на производительность: Среднее

➫ Этот параметр устанавливает, как часто (в тиках) сервер пытается породить сущности. Увеличение времени между попытками спавна не должно повлиять на игровой процесс. Смещение частоты тиков больше распределяет их по времени.

Примечание: Увеличивайте значение только в том случае, если у вас значительные потери тиков при выполнении задачи mobSpawn.

Spigot.yml

save-user-cache-on-stop-only
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Этот параметр отвечает за то, нужно ли серверу всегда хранить пользовательские данные (false) или отложить эту функцию до того момента, как сервер начнет перезапуск или выключится (true)? Это хорошая экономия TPS.

Примечание: регулярно делайте резервные копии, чтобы избежать потери данных в редких случаях фатального сбоя.

entity-activation-range
По умолчанию: animals:32, monsters:32, raiders: 48, misc:16
Оптимизировано: animals:16, monsters:24, raiders: 48, misc:8
Влияние на производительность: Среднее

➫ Существа за пределами этого диапазона будут отмечаться реже. Не устанавливайте слишком низкое значение, иначе вы можете нарушить поведение мобов (аггро, рейды и т.д.).

Примечание: Деревенских жителей следует оставлять в покое (если это возможно), чтобы защитить механику.

tick-inactive-villagers
По умолчанию: true
Оптимизировано: false
Влияние на производительность: Среднее

➫ Включение этого параметра предотвращает установку галочки для жителей за пределами диапазона активации.

Примечание: Ванильное поведение позволяет отмечать всех жителей в загруженных чанках. Включите опцию villagers-active-for-panic, чтобы спасти некоторые железные фермы от разрушения.

nerf-spawner-mobs
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Когда включено, мобы из спавнеров не будут иметь ИИ (не будут плавать/атаковать/двигаться). Это большая экономия TPS для массивных ферм мобов, но также ухудшает поведение. Плагин ограничителя фермы может быть лучшим решением.

Примечание: в Paper есть опция, позволяющая заставить мобов, получивших повреждения, прыгать/плавать. Это исправляет фермы, толкающие воду.

Paper.yml

max-auto-save-chunks-per-tick
По умолчанию: 24
Оптимизировано: 6
Влияние на производительность: Большое

➫ Сохранение мира будет происходить с замедлением сохранения чанков. Очень важная функция для современных серверов Майнкрафт.

Примечание: Ниже 6 ставить не рекомендуется, есть возможность несохранения чанков!

max-entity-collisions (в Spigot.yml в некоторых сборках)
По умолчанию: 8
Оптимизировано: 2
Влияние на производительность: Среднее

➫ Зажатые объекты (кофемолки, фермы и т.д.) будут меньше сталкиваться и потреблять меньше TPS в процессе.

grass-spread-tick-rate
По умолчанию: 1
Оптимизировано: 4
Влияние на производительность: Среднее

➫ Время (в тиках) до того, как сервер попытается разбросать траву по частям. Это не окажет влияния на геймплей большинства типов игр.

hopper.disable-move-event
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Это значительно уменьшит отставание хоппера, поскольку предотвратит вызов InventoryMoveItemEvent для КАЖДОГО слота в контейнере.

Предупреждение: Плагины, которые прослушивают InventoryMoveItemEvent, будут сломаны.

prevent-moving-into-unloaded-chunks
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Предотвращает попадание игроков в неактивный чанк. Такое происходит из-за лагов и может вызвать еще большие лаги.

use-faster-eigencraft-redstone
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Эта настройка сокращает анимацию и обновления работы редстоуна на 95%, при этом не ломая механизмы. Тестирование данной функции установило ускорение в 10 раз!

Server.properties

view-distance
По умолчанию: 10
Оптимизировано: 4-8
Влияние на производительность: Сильное

➫ Это самый важный параметр во всех ваших файлах, поскольку он ограничивает расстояние рендеринга чанков. Серверы с открытым миром (например, Survival) должны стремиться использовать значение 6+, но другие серверы с общим хостом, низкими характеристиками или большим количеством игроков могут использовать значение 4-5, если рендеринг чанков вызывает лаги.

Для сервера показатель TPS является очень важным и самое максимальное значение TPS равно 20, именно с этой скоростью он и выполняет все задачи. Например, поведение мобов, скорость роста урожая, добыча блоков и многое другое. Чем ниже будет падать TPS сервера, тем больше зависаний будет на сервере. Блоки будут выпадать с задержкой, мобы будут зависать и все в этом духе. Если TPS упадет слишком низко, это может привести даже к краху всего сервера.

Значения TPS

Пинг показывает, количество времени (в миллисекундах) требуемое для обработки данных игрока на сервере. Чем дальше игрок географически находится от сервера, тем дольше будет доходить данные и тем больше будет пинг. Как владелец сервера вы должны разместить свой сервер в регионе, где вы предпочитаете иметь свою базу игроков, или в регионе, который находится на близком расстоянии ко всей вашей аудитории.

Пример: Если взять хостинг с датацентром в США, а ваши игроки будут из России или других стран СНГ, тогда у всех игроков будет очень высокий пинг и у них будут задержки. Опять же если ваши игроки из России, необязательно покупать хостинг с датацентром в России, можно брать в Германии, Франции. Там достаточно играбельный пинг и многие проекты держат там сервера.

Показатели пинга

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Loading

Copy raw contents

Copy raw contents

mso

Лаги в майнкрафт сервере, что делать? — поверьте, это самый популярный вопрос, который возникает практически у каждого новичка в сфере серверов в этой замечательной игре. Не переживайте, так как вы уже сделали первый шаг к решению данной проблемы. Читайте весь репозиторий внимательно и выполняйте мои рекомендации постепенно.

Эта статья основана на версии 1.17.1 с ванильными ядрами. Если у вас моды — я не думаю, что вы нашли подходящее руководство. Также, обратите внимание на то, что результаты стабильности и корректной работоспособности сервера после оптимизации может отличатся в разных случаях. Если вы уверены, что я допустил ошибку или тут чего-то нехватает - пожалуйста, откройте проблему в разделе Issues.

TPS — сокращение от Ticks per Second — это число тактов за секунду. Чем выше данный показатель, тем большая производительность сервера. В среднем это значение варьируется от 19.8 до 20.0. Вы можете прописать /tps и посмотреть на цифры. У вас ниже 19.5 TPS? Сервер подлагивает.

Выбор ядра — очень важная вещь при сборке вашего сервера. Ядро напрямую влиет на производительность сервера. На данный момент существуют несколько ядер, которые я рекомендую использовать, но есть и те, от которых вам категорически нужно отказаться.

    — стабильное и довольно популярное ядро, набирающее обороты среди серверов. Поддерживается опытными разработчиками, патчи делают очень быстро. Форк Paper. — новое, качественное ядро. Мои тесты длились около 14 дней и можно сделать один вывод - эта штука очень быстрая, но у меня нет особого доверия к этому ядру, так как оно только разрабатывается и недавно появилось на свет. — ядро проверено временем. Хорошее мнение со стороны многих администраторов серверов, но оперативной памяти будет кушать больше, чем вышеперечисленные ядра. — форк Spigot. Самое популярное ядро в мире.

Для энтузиастов: SSSPigot. Подробности вы можете узнать в интернете. Это самое производительное ядро в мире, но платное.

    — это полный провал во всей истории ядер в Minecraft. Кстати, ядро больше не поддерживается и было заброшено. — Yatopia 2.0. Хоть оно и разрабатывается, но соддержит патчи от Yatopia. — эти ядра морально устарели. Их использовать категорически запрещено (если вы не мазохист, конечно же).
  • Sponge (для модов и sponge-плагинов) — лично моё мнение — полное дерьмо. Во-первых стабильности никакой нет, а во-вторых ограничение в плагинах: можно ставить только плагины для этого ядра, хотя есть ядро Magma, которое может поддерживать и плагины и моды одновременно.
  • Mohist - крайне нестабильное ядро (ещё и опасное).

Пожалуйста, остерегайтесь других ядер! В 99.99% случаев это скам. Ваш сервер и его данные могут пострадать.

Добавление сборщика мусора

Сборщик мусора обязательно должен стоять в каждом сервере, так как Java очень любит кушать оперативную память, но очищает её плохо.

Если у вас обычный хостинг, вам нужно вставить -XX:+UseSerialGC в строку запуска. По моим тестам, этот сборщик оказывается лучше, чем тот, который применён в флагах Aikar'а.

Если у вас VDS - этот сборщик вас нереально выручит! Перед использованием нужно прочитать статью.

Прогрузите карту с помощью плагина Chunky. Станьте на нулевые координаты карты и введите эти команды поочерёдно: /chunky center , /chunky radius 6000 , /chunky start . Готово! Теперь вам нужно подождать некоторое время, пока плагин прогрузит 6000 блоков, которые мы задали во второй команде. Желательно ограничить свой мир до 6-10 тыс. блоков. Поверьте, такого количества блоков будет вполне достаточно, чтобы всем было приятно играть. Если нужно увеличить размер карты до более высоких значений — вместо 6000 напишите своё число.

Есть и другой плагин для прогрузки карты — WorldBorder, если вам надо.

Никогда не ставьте плагины, которые заявляют, что они оптимизируют ваш сервер или плагины, которые изменяют генерацию мира. ClearLagg и ему подобные создают вопиющие лаги, а от EpicWorldGenerator и Iris можно ожидать проблем с нагрузкой процессора. Про платный React даже упоминать не буду, потому что это просто позор. Измерять нагрузку этого плагина нужно не в процентах, а в ядрах.

Ссылки на плагины, которые действительно оптимизируют сервер: ServerBooster, MFM.

view-distance - дистанция прогрузки чанков. Если на сервере много игроков и лаги происходят из-за чанков - снижайте этот параметр до 4-5 чанков. 6 чанков вполне достаточно для ванильного выживания.

spawn-limits - параметр, который отвечает за изменение количества мобов на одного игрока. Эти ограничения применяются только к животным или монстрам в загруженных чанках. Если вам не нужны летучие мыши - ambient ставьте на 0.

period-in-ticks - чем меньше, тем быстрее сервер будет выгружать пустые чанки. Если на вашем сервере играет больше 60 человек, желательно опустить этот параметр до 350.

autosave - если у сервера стоит HDD накопитель, вам придётся страдать от лагов из-за автоматического сохранения. Вы должны иметь SSD накопитель для нормальной работы сервера. Поднимите значение до 12000 для комфортной игры. Кстати, если у вас стоит плагин на автосохранение мира - удалите его, используйте этот параметр, он ничем не хуже.

entity-activation-range - это группа параметров, которая регулирует, насколько близко животные и мобы должны находиться к вам, чтобы активировать свой ИИ. Числа обозначают расстояние в блоках. Если вы выйдите из "зоны активации ИИ" - мобы не будут двигаться, подойдёте обратно - включат свой ИИ. Вот так это всё и работает.

mob-spawn-range - этот параметр регулирует радиус спавна мобов возле вас. Значение должно быть на единицу меньше от кол-ва чанков, которое вы выставили.

max-auto-save-chunks-per-tick - параметр замедляет частоту сохранения чанков. Не опускайте значение ниже 12, иначе некоторые чанки могут не сохраниться вообще.

mob-spawner-tick-rate - тики моба, вызванного спавнером. Не поднимайте значение выше.

prevent-moving-into-unloaded-chunks - если игрок каким-то образом попал в незагруженный чанк - он постоянно будет проваливаться вниз (в пустоту), а когда сервер прогрузит чанки, он может с ним сыграть в злую шутку, не телепортировав игрока обратно. Игрок может просто умереть в пустоте. Чтобы такого не произошло, нужно включить данный параметр.

armor-stands-tick - выключив данный параметр, сервер не будет проверять стенды для брони.


В Spigot по умолчанию отключено множество улучшений производительности, так как они часто изменяют сервер, чтобы он больше не воспроизводил обычное поведение. Это руководство создано, чтобы помочь вам настроить параметры для достижения оптимальной производительности, одновременно понимая, что вы на самом деле меняете. Если вы не понимаете настройку, о которой я говорю здесь, не меняйте ее.

Оптимизация paper.yml

Вам понадобится ядро Paper, это ворк от Spigot, чтобы paper.yml появился.
Это ядро менее стабильно, но оно очень быстрое, к тому же имеет ряд плюсов, которые

optimize-explosions

По умолчанию отключено, советуем поставить на true

Использует альтернативный, более эффективный алгоритм взрыва. Мгновенно удаляет мертвые сущности внутри взрыва.

mob-spawner-tick-rate

По умолчанию выставлено значение 1, советуем поставить на 2-3

Это изменяет количество проходов тиков, прежде чем спавнеры мобов попытаются создать мобов.
Значение 2 не должно сильно влиять на поведение ванильной версии. Если спаунеры мобов отстают от вашего сервера, это хорошее значение, чтобы поиграть.

disable-chest-cat-detection

По умолчанию false, советуем поставить на true

Этот параметр не позволит сундуку проверять сидит ли на нём оцелот/кошка, сидящие на сундуке, что позволит игрокам открыть его, даже если на нем сидит кошка.(Повышает производительность)

use-hopper-check

По умолчанию false, советуем поставить на true

container-update-tick-rate

По умолчанию 1, советуем поставить 3 - 4

Изменяет частоту отметки инвентаря (игрок, сундук, все они). Если установлено значение выше 5, инвентарь может показаться глючным / медленным.

queue-light-updates

По умолчанию false, советуем поставить на true

fire-physics-event-for-redstone

По умолчанию false, советуем поставить на true

Это мешает редстоуну запускать событие BlockPhysicsEvent.
Многие плагины слушают BlockPhysicsEvent, но ничего не делают с редстоуном. Поскольку на некоторых серверах красный камень может очень часто мерцать, это может привести к потере большого количества ресурсов процессора.
Это может быть серьезным улучшением задержки красного камня.

grass-spread-tick-rate

По умолчанию 1, советуем поставить 2 - 4

Тики между обновлениями травы.
Увеличение этого параметра приведет к снижению скорости разбрасывания травы! Убедитесь, что вы установили это значение, которое имеет смысл для вашего сервера. то есть серверы Skyblock могут вообще не захотеть это менять.

Оптимизация spigot.yml

late-bind

По умолчанию false, советуем поставить на true

Это не влияет на производительность и может сломать некоторые плагины.
Это заставляет ваш сервер ждать с подключением к любой сети, пока не будут включены все плагины. Я лично считаю это хорошей практикой и безопасностью, но это совершенно необязательно.

mob-spawn-range

По умолчанию 4, советуем поставить 3

Управляет расстоянием от созданных мобов.
Мы собираемся снизить частоту и количество мобов, которые могут появляться, поэтому уменьшение этого значения создаст иллюзию, что мы не снизили количество спавнов мобов.

entity-activation-range

По умолчанию стоит: animals:32, monsters:32, misc:16

Советуем поставить: animals:6, monsters:16, misc:2

Объекты за пределами этих диапазонов будут отмечаться реже. Животным обычно не нужно много. "разное" - это что-то вроде выпадения предметов. Установка значения 1 может предотвратить попадание предметов, например, в воду.
Это главный игрок в производительности сущностей!

hopper-transfer, hopper-check, hopper-amount

По умолчанию стоит: transfer:8, check:8, amount:1

Советуем поставить: transfer:24, check:24, amount:3

Это заставит воронки тикать в три раза медленнее, но перемещать по три предмета за раз. Это может нарушить некоторое поведение ванильного майна, особенно такие вещи, как часы из красного камня, в зависимости от времени загрузки. Может играть важную роль в задержке воронки . Требуется включить "use-hopper-check" в paper.yml

max-entity-collisions

По умолчанию 8, советуем поставить 1 - 2

Сколько раз объект может столкнуться за тик. Установка этого параметра на 1 обычно не имеет значения. Очень помогает с моб-фермами.

merge-radius

По умолчанию item:2.5, exp:3.0

Советуем поставить item:3.5, exp:6.0

Слияние предметов - мощный способ предотвратить задержку выпадения предметов (больше не нужно никаких ClearLag!). Установка для свойства предмета значения 3.5 означает, что предметы в радиусе 3,5 блоков будут «объединены» в один стак предметов. У Exp нет реального недостатка слияния на большом радиусе.

view-distance

По умолчанию 10, советуем поставить 3 - 5

Сколько блоков отправлено игроку. Я обычно рекомендую 4, так как установка его на 3 приведет к тому, что жемчужины Эндера разделятся на незагруженные чанки и, следовательно, не будут работать.

Предлагайте варианты оптимизации сервера майнкрафт в комментариях. И я их сюда добавлю

[Гайд] Создание сервера с использованием Spigot

Что такое Spigot?
Spigot — это глобальная серверная модификация, созданная на основе ядра CraftBukkit. Она призвана заменить "старшего брата" стабильностью и производительностью. Сегодня мы будем рассматривать создание сервера с нуля, поскольку стабильность — не единственное отличие Spigot от CraftBukkit.

Как установить Spigot?
Первым делом нам потребуется скачать одну из сборок Spigot. Общий репозиторий находится здесь. В меню справа можно найти все ранее выпущенные сборки:

[Гайд] Создание сервера с использованием Spigot

Нажимая на дату добавления сборки, Вы попадаете на страницу, где можно её скачать. Принадлежность сборки к определённой версии можно установить, посмотрев на версию, указанную после заголовка "Артефакты сборки". Для загрузки выбранной сборки нажмите на "spigot.jar".

После загрузки переместите файл "spigot.jar" в отдельную папку (Например: "Server") и создайте текстовый документ с расширением *.bat (Например: RUN.bat). Далее откройте созданный ранее файл в любом текстовом редакторе и напишите внутри него следующее:

После этого можно запускать только что созданный файл. Затем, когда процесс будет завершён, Вам потребуется открыть файл "eula.txt" и изменить строчку "eula=false" на "eula=true". Запустите *.bat файл ещё раз. После этого перед Вами появится консоль сервера и начнётся создание игрового мира.

Настройка конфигурационных файлов.
После создания сервера появится файл настроек игры, под названием "server.properties". О том, как его настроить, можно узнать, прочитав данную статью на WIKI.

Установка плагинов.
Для установки плагина, его требуется переместить в папку "plugins" в корне Вашего сервера. Все плагины, созданные для глобальной серверной модификации под названием "CraftBukkit", походят и для Spigot. В большинстве случаев после перезагрузки сервера в папке "plugins" создаётся папка с названием установленного плагина. В этой папке как правило есть конфигурационные файлы плагина, имеющие расширение *.yml.

Плагины можно русифицировать самостоятельно, редактируя конфигурационные файлы, либо найти готовый перевод на форуме проекта RUBukkit и в других источниках.

Читайте также: