June 28

Гайд по Spark

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

Установка Spark

  1. Перейдём на официальный сайт для скачивания.
  2. После скачивания, установим Spark на сервер.
    Зайдя в директорию plugins или mods, нажимаем
    кнопку "Загрузить" и выбираем наш файл spark.jar
  3. После перезагружаем сервер.
  4. Готово!

Как пользоваться Spark

Для начала перейдём в консоль сервера, и выполним команды:
/spark profiler start - Для запуска профайлера, чтобы считывать данные сервера, нагрузки, количество сущностей, и так далее.
После включения профайлера, нужно подождать чтобы считались данные, либо сразу открыть его с помощи команды /spark profiler open (если данных ещё нет, необходимо подождать).
После ввода этой команды, создаётся временная ссылка, по которой можно перейти в панель Spark.
Панель Spark выглядит вот так, при первом входе в него(данные обновляются в реальном времени):

Для включение дополнительной информации нужно нажать кнопки:

Категория "plugins" в ней можно узнать о всех плагинах на сервере, как сильно они нагружают сервер(в самом верху находятся плагины которые нагружают сервер больше всех):

Информацию о состоянии ваших миров можно узнать во вкладке World
В ней пишут о количестве сущностей в том или ином мире:

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

Как уменьшить количество сущностей


Файл:
bukkit.yml (рекомендуемые настройки, можно сделать по своему) spawn-limits:
monsters: 40
animals: 5
water-animals: 7
water-ambient: 10
ambient: 5

Основные ошибки

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

  1. Плохая оптимизация сервера, не прогружают чанки с помощи Chunky. Как это сделать, можно посмотреть в нашем гайде.
  2. Скачивают сливы плагинов, с различных Ликов, так же сборки.
  3. Ставят большие сборки на слабый тариф, сборки в которых много модов / плагинов требуют дорогой тариф.(Не стоит надеяться что любой платный тариф потянет вашу сборку).
  4. Ставят не оптимизированные ядра, лучше ставить Paper,Purpur для плагинов.
    Mohist,Arclight для модов.

Как решить проблему с лагами и зависаниями

Найти во вкладке "plugins" в spark плагины которые нагружает сервер, больше 20% и удалить его.
Как упоминалось выше не стоит ставить готовые сборки, много плагинов,модов, на ваш сервер, ведь в них могут быть вирусы, которые просто так могут нагружать вашу ОЗУ,CPU. Из-за чего будет падать ваш TPS на сервер.

Основные плагины которые могут нагружать ваш сервер.

AuctionHouse

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

В конфигурационном файле плагина измените значение "updateTicks" на 72000, чтобы убрать постоянное обновление времени в меню и, следовательно, его постоянную перерисовку. Да, это может снизить визуальную привлекательность, но это будет в пользу оптимизации!

Если вы не хотите жертвовать внешним видом, вы также можете рассмотреть альтернативные плагины, такие как zAuctionHouse или CrazyAuctions.

CoreProtect

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

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

rollback-entities: false - отключение возможности восстановления уничтоженных сущностей (это снизит нагрузку при процессе отката).

skip-generic-data: true - отключение логирования ненужных данных (например, сгорание зомби на солнце или аналогичные события, которые не представляют интереса).

leaf-decay: false - отключение логирования опадания листвы.

portals: false - отключение логирования создания порталов.

player-sessions: false - отключение логирования входа/выхода игроков.

С помощью этих настроек вы сможете существенно снизить нагрузку на сервер, сохранить процессорное время и освободить место на жестком диске, не жертвуя при этом функциональностью плагина.

CMI

Плагин CMI (Customizable Minecraft Interface) предлагает множество возможностей и взаимодействует с различными другими плагинами, но также может иметь некоторую нагрузку на сервер, потребляя большое количество тиков. Однако, с помощью правильных настроек можно решить эту проблему.

В настройках плагина CMI найдите раздел "FileSave" и параметр "Async". Если вы установите значение этого параметра в "true", то увидите значительное улучшение производительности. Это позволит выполнение операций в асинхронном режиме, что может сократить время обработки и снизить нагрузку на сервер.

Выставив параметр "Async" в "true", вы сможете существенно улучшить производительность сервера при использовании плагина CMI.

FAWE

FAWE (FastAsyncWorldEdit) является очень полезным плагином, особенно если вам часто приходится редактировать территорию. Однако, помимо стандартных функций WorldEdit, FAWE добавляет некоторые особенности, которые могут потреблять дополнительные ресурсы.

Вам рекомендуется отключить tick-limiter в настройках плагина, установив значение параметра "enabled" на "false". Это позволит снизить потребление ресурсов. Если вам все же необходим этот функционал, вы можете увеличить интервал между регулярными проверками, установив значение параметра "interval" на 60 (3 секунды).

С помощью этих настроек вы сможете оптимизировать использование FAWE, уменьшив его нагрузку на сервер и сохраняя необходимый функционал для вашей работы с территорией.

Citizens

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

Вместо этого плагина, вы можете рассмотреть использование альтернативных плагинов, таких как ZNPCsPlus или ZNPCs. Эти плагины более оптимизированы и предоставляют схожий функционал. Они могут более эффективно обрабатывать данные о положении игроков, снижая нагрузку на сервер и помогая избежать лагов.

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