💔Проблемные и хорошие плагины, тормозившие/оптимизирующие ваш сервер

Оптимизация сервера, как оптимизировать на нём плагины

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

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

Откройте, если вы используете ядро Spigot/Bukkit или плагин на права PermissionsEx

Сведения: Меняете эти ядра на более оптимизированные, хороший вариант - это ядро Paper и плагин PermissionsEx меняйте на плагин LuckPerms

aJLeaderBoard

Существует плагин, который пользуется широкой популярностью в сообществе и может потреблять значительное количество ресурсов компьютера. Немногие обращают внимание на причину его высокого потребления, однако, если внимательно изучить отчеты Spark и конфигурацию этого плагина, становится понятно, что по умолчанию включено использование собственных контекстов для LuckPerms. Для уменьшения потребления ресурсов достаточно отключить эту функцию, и проблема будет решена. В конфигурационном файле плагина установите значение "register-lp-contexts" на "false", затем перезапустите сервер и наслаждайтесь улучшенной производительностью. (С течением времени разработчики плагина учли этот фактор и отключили использование собственных контекстов по умолчанию.)

IllegalStack

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

В конфигурационном файле плагина в разделе "OverStack" установите все значения на "false". Кроме того, установите значение "ItemScanTimer" на 72000 или больше, чтобы плагин выполнял проверку инвентарей игроков раз в час или реже.

AuctionHouse

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

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

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

CoreProtect

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

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

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". Это позволит снизить потребление ресурсов. Однако, если вам все же необходим этот функционал (например, для защиты от лаговых ситуаций с песком, с которым FAWE отлично справляется), вы можете увеличить интервал между регулярными проверками, установив значение параметра "interval" на 60 (3 секунды).

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

TAB

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

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

IRandomTeleport

Речь идет о популярном плагине для случайного телепорта (РТП). По умолчанию, этот плагин регулярно проверяет наличие обновлений и делает это в основном потоке, что может быть нежелательно.

Рекомендуется отключить проверку на обновления, чтобы избежать негативного влияния на производительность. Для этого необходимо установить значение параметра "checkForUpdates" в "false". Применяя эту рекомендацию, вы сможете избежать ненужной нагрузки на сервер, вызванной проверкой обновлений плагина РТП.

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

HolographicDisplays

Существует плагин, который может негативно влиять на производительность сервера из-за недостаточной оптимизации, возможно, из-за использования протоколлибы. Лично я не изучал подробности, но такое предположение возникает. В качестве альтернативы, мы бы вам хотели предложить плагин DecentHolograms. Он предоставляет функционал, аналогичный предыдущему плагину, и даже предлагает миграцию с HolographicDisplays, что облегчает переход, за исключением случаев, когда у вас есть другие плагины, зависящие от HolographicDisplays. Рекомендуется обратиться к DecentHolograms в качестве альтернативного плагина, который может предоставить аналогичные функции с лучшей оптимизацией и минимальным влиянием на производительность сервера. Давайте обсудим некоторые аспекты, связанные с возможными узкими местами в производительности некоторых плагинов, а также способы дальнейшего улучшения производительности. Улучшения могут оказаться разнообразными, и стремление к достижению идеала стоит поощрять.

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

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

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

Также советуем прочитать статью, она поможет грамотно оптимизировать стандартный конфигурации.

Last updated