Плагины, залагивающие ваш сервер и как их исправлять.

Руководство Плагины, залагивающие ваш сервер и как их исправлять.

Поддерживаемые версии
  1. Отсутствует
Давайте представим - вы владелец успешного сервера. До поры до времени всё идет хорошо, но вот игроков становится всё больше и ТПС начинает значительно падать. Вы лезете в статьи по оптимизации, но результата нет!
Чтожь, вероятно в таком случае проблема в ваших плагинах! Тут я собрал небольшой списочек из тех плагинов, которые могут есть ваши тики, а также способы, как их можно от этого отвадить.

aJLeaderBoard
Довольно популярный плагин на топы, который может жрать невероятное количество ресурсов машины. Мало кто вдаётся в подробности, почему он ест так много, а зря, ведь если хорошо изучить репорты спарка и конфиг плагина, станет понятно, что по умолчанию в нем включено использование собственных контекстов на LuckPerms. Чтобы он не потреблял много ресурсов - достаточно будет отключить их использование и дело в шляпе.
В конфиге плагина установите register-lp-contexts: на false, после чего перезапустите сервер и радуйтесь
(спустя время работяги добились того, что теперь это отключено в плагине по умолчанию)

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

AuctionHouse
Довольно популярный плагин на аукцион, но не без грешка. Дело в том, что отсчет до момента истечения предмета это конечно круто и всё такое, но поскольку он обновляет сразу все предметы, то закономерно - это вызывает лаги. Представьте, что сразу много игроков откроют меню аука и каждому нужно будет его ежесекундно обновлять? Просто ужас. Но благо, автор дал возможность нам это изменить.
В конфиге измените значение updateTicks: на 72000, что уберет постоянный отсчет времени в меню и соответственно его постоянное обновление. Да, придется пожертвовать красотой, но это всё во благо оптимизации!
Ну или можно просто заменить его на аналоги, вроде zAuctionHouse или CrazyAuctions

⦁ Matrix
Самый популярный античит для майнкрафт серверов, тем не менее не могущий похвастать хорошей производительностью... Тем не менее, мы можем довольно эффективно улучшить его производительность, отключив в конфиге проверку на лаги при помощи
tps_protection:
enable: false.
Не бойтесь за возможные проблемы, которые могут возникнуть из за этого, т.к. ваш сервер наврядли будет лагать так активно, чтобы это вызвало проблемы с ложными срабатываниями. А если он не будет лагать - то зачем нам лишняя и весьма нагружающая проверка?

CoreProtect
Весьма полезный плагин на логирование и откат действий гриферов и прочих личностей. Однако в неумелых руках он может стать довольно таки вредным плагином, съедающим ваши тики и гигабайты жесткого диска.
Чтобы такого не происходило, достаточно всего лишь выставить в его конфиге следующие значения:
rollback-entities: false - отключаем восстановление убитых ентити (снижает нагрузку при откате)
skip-generic-data: true - отключаем логгирование бесполезных вещей (по типу сгорания зомби на солнце)
leaf-decay: false - отключаем логгирование опадания листвы (вам реально это нужно? сэкономьте память!)
portals: false - отключаем логгирование создания порталов (можно не отключать)
player-sessions: false - отключаем логгирование входа/выхода игроков (это есть логах сервера)

CMI
Как много в этих трёх буквах. Много функционала, многих плагинов и много съеденных тиков. Да, ест он их неплохо, но всё это решается прямыми руками настройщика!
В настройках плагина можно найти следующие строки
FileSave:
Async: false
Выставьте значение на true и увидите большой прирост производительности.

IRandomTeleport
Довольно популярный плагин на РТП. По умолчанию он регулярно проверяет плагин на наличие обновлений и делает это в основном потоке, что не есть хорошо.
Тут говорить особо не о чем. Отключите проверку на обновления, поставив checkForUpdates: на false
(А также прогрузите карту перед использованием...)

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

TAB
Единственный и не повторимый плагин на таб, который мы все обожаем. По сути, он практически не нагружает систему, т.к. сделан так сказать на совесть. Однако, я рекомендую всем его пользователям прочесть, что автор пишет о возможной оптимизации работы его плагина
Spark
Обязательный плагин (и даже встроенный в purpur как правоприемник пейперовских таймингов), который почти в 90% случаев должен стоять у вас на сервере, чтобы в любое время вы могли определить причину лагов вашего сервера. Но тут всё не так гладко. По умолчанию Spark запускает профайлер в фоне, и не смотря на его низкий интервал - он может задействовать много ресурсов вашего сервера. Для сохранения ресурсов процессора будет весьма предпочтительно его отключить.
Для этого в конфиге spark необходимо выставить "backgroundProfiler": false

Далее пойдут так сказать "неисправимые плагины". Их нельзя никак оптимизировать, по этому за место них будут предложены альтернативы.

Citizens
Наверное, уже все знают, что с этим плагином не так, но о нем разумеется нужно рассказать. Этот плагин каждую 0.05 секунд отслеживает положение каждого игрока. Делается это всё в основном потоке. Чем больше игроков - тем больше нагруз и тем больше лагов.
В качестве альтернативы можно использовать ZNPCsPlus, который куда более оптимизирован. (И в отличие от своего прородителя - ZNPCs - не имеет утечек)

Spartan
Будем честны - один из худших античитов для вашего сервера. Любой пользователь данного плагина расскажет вам о том, как сильно он нагружает систему. Сделать с этим ничего нельзя, т.к. автор(ы?) не умеют ни в асинхрон, ни во что.

⦁ HolographicDisplays
Плагин сам по себе весьма сильно нагружает сервер. Почему он столь неоптимизирован - лично я не смотрел, но судя по всему - дело в протоколлибе.
На замену ему даже сам автор рекомендует DecentHolograms. В нем есть миграция с HolographicDisplays, так что проблем с переходом быть не должно, если конечно у вас нет плагинов, зависящих от HD.

⦁ Imageonmap
Опишу всё просто. Данный плагин просто поедает невероятное количество ресурсов при размещении больших картинок.
Я просто дам вам аналоги, которые будут в разы производительнее и эффективнее: FramedImage, ImageFrame

⦁ JavaScriptExpansion (для Papi)
Имеет доказанные утечки памяти и невероятные проблемы с производительностью. (там даже issue есть), а также имеет возможность выполнять код на вашем устройстве при помощи своих же команд, что позволяет облегчить работу взломщикам.
Ни при каких обстоятельствах не используйте его на своих серверах, не подвергайте себя риску.

⦁ Chatex
На удивление довольно жрущий плагин на чат. Нет, ест он не ваши тики, а вашу память! Для сравнения покажу вам 2 скриншота. 1 - с chatex, 2 - без chatex (В качестве альтернативы был использован Chatty)
1705260685051.png
1705260696232.png
Да, это можно исправить, удалив задержку на чат, отключив антиспам, но какой в этом толк, коли есть альтернатива?

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

1) Удалите ненужные плагины
Речь идет о плагинах, имеющих в себе функционал других плагинов. К примеру для отключения входа и выхода вам за частую не нужен отдельный плагин. Больше, о таких примерах вы можете почитать в моей статье: Плагины, которые имеют в себе функции других плагинов или скручиваем лишние колёса
(Кол-во плагинов на деле влияет на сервер не особо сильно, но за частую доп.плагины фактически не нужны, т.к. могут выполнять задачи куда как медленнее, чем аналоги, в которых это вшито)
2) Отключите проверки на обновления в плагинах
Да, этого лучше не делать без необходимости, но так вы можете сэкономить немного ресурсов процессора, если плагины проверяют обновления регулярно и особенно, если делают это в основном потоке.
3) Отключите метрики(?)
Этого тоже лучше не делать, ведь метрики едят ну совсем не много ресурсов, но вот если у вас очень слабая машина и вам нужен буквально каждый процентик процессора - можно будет отключить их полностью. Отключите их во всех плагинах, где можете, а также в папке bStats в конфиге выставьте enabled=false

Ну вот и всё, хоккей. В будущем этот список может быть дополнен и вы можете предлагать сюда свои плагины, которые могут замедлять работу сервера.
Автор
Overwrite
Просмотры
2,618
Первый выпуск
Обновление
Оценка
5.00 звёзд 1 оценок

Другие ресурсы пользователя Overwrite

Поделиться ресурсом

Последние рецензии

Да много чего у себя отключил по данной статье и тпс вырос и стало меньше просадок, рекомендую
Назад
Сверху Снизу