Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Overwrite

Активный участник
Пользователь
Баллы
98
Имя в Minecraft
OverwriteMC
Давайте представим - вы владелец успешного сервера. До поры до времени всё идет хорошо, но вот игроков становится всё больше и ТПС начинает значительно падать. Вы лезете в статьи по оптимизации, но результата нет!
Чтожь, вероятно в таком случае проблема в ваших плагинах! Тут я собрал небольшой списочек из тех плагинов, которые могут есть ваши тики, а также способы, как их можно от этого отвадить.
​
⦁ 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
Довольно популярный (а ныне устаревший) плагин на РТП. По умолчанию он регулярно проверяет плагин на наличие обновлений и делает это в основном потоке, что не есть хорошо.
Вместо него рекомендуется использовать его продвинутую альтернативу - OvRandomTeleport

⦁ BetterRTP
Самый популярный плагин на ртп, не иначе.
Однако и в нём была найдена проблема - утечка памяти.
https://***********/attachments/1763558124298-png.41064/
И как и с предыдущем пунктом вновь альтернатива - OvRandomTeleport


⦁ 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)
upload_2023-11-16_1-39-25.png
upload_2023-11-16_1-39-49.png
Да, это можно исправить, удалив задержку на чат, отключив антиспам, но какой в этом толк, коли есть альтернатива?

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

Ну вот и всё, хоккей. В будущем этот список может быть дополнен и вы можете предлагать сюда свои плагины, которые могут замедлять работу сервера.
 
Последнее редактирование:
Про FramedImage и ImageFrame - как по мне оба плагина такое себе, ведь первый вообще только для админов, во втором придётся объяснять игрокам как пользоваться новым плагином и где их любимый томап
 
Последнее редактирование:
Про FramedImage и ImageFrame - как по мне оба плагина такое себе, ведь первый вообще только для админов, во втором придётся объяснять игрокам как пользоваться новым плагином и где их любимый томап
Ну каждый решает сам, будет ли его сервер падать от каждой установленной карты :D
 
добавь так же про плагины (я на 1.16.5 сервер делал):
RE4TNT - имеется почти во всех слитых ру сборках которые обычно новички берут за основу, - имеет утечку памяти
HolyBosses (и его форки по типу GoodTimeBosses) + либа psuapi для них - тоже имеются почти во всех слитых ру сборках, - это ру говнокод который лучше заменить на оптимизированный и современный MythicMobs

про citizens - лучше убери znpcs и оставь только znpcsplus т.к. znpcs заброшен (вдруг кто-то znpcs поставит хд)

ещё про плагины ItemsAdder 3 и SimpleVoiceChat - на 1.16.5 при использовании ядер Purpur или Tuinity эти оба начинали сильно грузить мой проц в таймингах (на ядре Paper такого нет)
 
Последнее редактирование:
HexAirDrop - тож нагружает серв лучше заменить на BAirDrop
 
добавь так же про плагины (я на 1.16.5 сервер делал):
RE4TNT - имеется почти во всех слитых ру сборках которые обычно новички берут за основу, - имеет утечку памяти

Ты имеешь ввиду именно слитый плагин имеет утечку памяти? Или в целом про этот плагин, даже про новые серии.
 
Ты имеешь ввиду именно слитый плагин имеет утечку памяти? Или в целом про этот плагин, даже про новые серии.
я про слитую версию 2.0
очень много где она стоит
про обновления его я хз вроде на вики его 2.0 и есть последняя верс - https://re4erka.gitbook.io/re4tnt-2.0/

ещё статью следует дополнить про раздел jsexpansion
также убедитесь, что все скрипты написаны корректно, чтобы избежать нагрузки
не столько скрипты из него могут вызывать нагрузку но и плагины в которых эти плейсхолдеры юзаются, например если в каком-то плагине несколько раз в секунду обновляется плейсхолдер и этот js плейсхолдер содержит например 50 проверок то серву ггвп при онлайне 100-200 чел - решение: не юзать в таких местах огромные скрипты либо если возможно то ограничить их обновление в конкретном плагине

так же думаю стоит добавить упоминание что плагинами от студий - MoonStudio (плагины с приставкой moon) и FrameDev (плагины с приставкой frame) лучше не пользоваться т.к. это 99% говнокод, да и вообще от кода русских "студий" лучше воздержаться.. аж вспомнил про framecases и moondisabler...
 
я про слитую версию 2.0
очень много где она стоит
про обновления его я хз вроде на вики его 2.0 и есть последняя верс - https://re4erka.gitbook.io/re4tnt-2.0/

ещё статью следует дополнить про раздел jsexpansion

не столько скрипты из него могут вызывать нагрузку но и плагины в которых эти плейсхолдеры юзаются, например если в каком-то плагине несколько раз в секунду обновляется плейсхолдер и этот js плейсхолдер содержит например 50 проверок то серву ггвп при онлайне 100-200 чел - решение: не юзать в таких местах огромные скрипты либо если возможно то ограничить их обновление в конкретном плагине

так же думаю стоит добавить упоминание что плагинами от студий - MoonStudio (плагины с приставкой moon) и FrameDev (плагины с приставкой frame) лучше не пользоваться т.к. это 99% говнокод, да и вообще от кода русских "студий" лучше воздержаться.. аж вспомнил про framecases и moondisabler...

Так не пользуйся, да и вообще не используйте ничего слитого.
 
добавь так же про плагины (я на 1.16.5 сервер делал):
RE4TNT - имеется почти во всех слитых ру сборках которые обычно новички берут за основу, - имеет утечку памяти
HolyBosses (и его форки по типу GoodTimeBosses) + либа psuapi для них - тоже имеются почти во всех слитых ру сборках, - это ру говнокод который лучше заменить на оптимизированный и современный MythicMobs
HolyStructures - заменить на BAirDrop лучше

про citizens - лучше убери znpcs и оставь только znpcsplus т.к. znpcs заброшен (вдруг кто-то znpcs поставит хд)

ещё про плагины ItemsAdder и SimpleVoiceChat - на 1.16.5 при использовании ядер Purpur или Tuinity эти оба начинали сильно грузить мой проц в таймингах (на ядре Paper такого нет)
Я не буду добавлять слитый мусор в эту статью.
Это и ежу понятно, что если это слитый плагин от РУ разработчиков - там один хрен будет что-либо "интересное".
 
про слитую версию 2.0
очень много где она стоит
про обновления его я хз вроде на вики его 2.0 и есть последняя верс - https://re4erka.gitbook.io/re4tnt-2.0/
Эх, жаль. А то планировал купить, так как актуальных аналогов по функционалу не нашёл. Разве что через executable blocks пробовать такое делать
 
Я не буду добавлять слитый мусор в эту статью.
Это и ежу понятно, что если это слитый плагин от РУ разработчиков - там один хрен будет что-либо "интересное".
Например ддосилка серверов пентагона.
 
Это и ежу понятно, что если это слитый плагин от РУ разработчиков - там один хрен будет что-либо "интересное"
явно не всем когда такие плагины я вижу на каждом 2-3 новом сервере))


А то планировал купить, так как актуальных аналогов по функционалу не нашёл
мб напиши его разрабу пусть пофиксит
 
явно не всем когда такие плагины я вижу на каждом 2-3 новом сервере))
Ну тут уж вопрос к тем людям, которые какими-то путями эти плагины получают.
Я не знаю источника, где такие плагины можно было бы скачать так сказать "легально"
 

Поделиться этой страницей

Назад
Верх