Предположим, вы являетесь владельцем успешного игрового сервера, который стал сталкиваться с проблемами низкой производительности (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
Этот плагин является очень популярным на ванильных серверах благодаря своим функциям логирования и отката действий гриферов. Однако, в неопытных руках он может стать вредным плагином, потребляющим большое количество процессорного времени и занимающим гигабайты места на жестком диске.
Чтобы избежать таких проблем, достаточно просто настроить следующие значения в конфигурационном файле плагина:
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".
Применяя эту рекомендацию, вы сможете избежать ненужной нагрузки на сервер, вызванной проверкой обновлений плагина РТП.
Понимаю, что некоторые плагины могут быть сложными для оптимизации. В таких случаях, предлагаю рассмотреть альтернативные плагины, которые могут предоставить аналогичный функционал с более эффективной производительностью. Вот несколько примеров:
Citizens
Разумеется, мы понимаем, что плагин, имеет проблемы, о которых уже все знают. Его частая отслеживание положения каждого игрока в основном потоке может приводить к значительной нагрузке на сервер и вызывать лаги, особенно при наличии большого количества игроков.
Вместо этого плагина, вы можете рассмотреть использование альтернативных плагинов, таких как
ZNPCsPlus или
ZNPCs. Эти плагины более оптимизированы и предоставляют схожий функционал. Они могут более эффективно обрабатывать данные о положении игроков, снижая нагрузку на сервер и помогая избежать лагов.
Рекомендуется провести сравнительное тестирование и выбрать плагин, который лучше соответствует вашим требованиям по производительности и функциональности.
IRandomTeleport
Существует плагин, который иногда вызывает проблемы производительности на сервере, и многие пользователи отмечают его негативное влияние на систему. Несмотря на это, возможно, будет полезно обратиться к альтернативным вариантам, представленным в вашем сборнике, для выбора античита, который лучше соответствует вашим потребностям.
HolographicDisplays
Существует плагин, который может негативно влиять на производительность сервера из-за недостаточной оптимизации, возможно, из-за использования протоколлибы. Лично я не изучал подробности, но такое предположение возникает.
В качестве альтернативы, мы бы вам хотели предложить плагин
DecentHolograms. Он предоставляет функционал, аналогичный предыдущему плагину, и даже предлагает миграцию с HolographicDisplays, что облегчает переход, за исключением случаев, когда у вас есть другие плагины, зависящие от HolographicDisplays.
Рекомендуется обратиться к DecentHolograms в качестве альтернативного плагина, который может предоставить аналогичные функции с лучшей оптимизацией и минимальным влиянием на производительность сервера.
Давайте обсудим некоторые аспекты, связанные с возможными узкими местами в производительности некоторых плагинов, а также способы дальнейшего улучшения производительности. Улучшения могут оказаться разнообразными, и стремление к достижению идеала стоит поощрять.
Удаление ненужных плагинов: Рекомендуется провести аудит существующих плагинов и удалить те, которые дублируют функционал других плагинов или выполняют задачи менее эффективно. Это может помочь избежать излишней нагрузки на сервер и повысить производительность.
Отключение проверок на обновления: В некоторых плагинах есть функционал, который регулярно проверяет наличие обновлений. Если вы не считаете это необходимым, отключение этих проверок может сэкономить ресурсы процессора, особенно если проверки выполняются в основном потоке. Важно оценить влияние отключения проверок на обновления на безопасность и актуальность плагинов.
Отключение проверок на обновления: В некоторых плагинах есть функционал, который регулярно проверяет наличие обновлений. Если вы не считаете это необходимым, отключение этих проверок может сэкономить ресурсы процессора, особенно если проверки выполняются в основном потоке. Важно оценить влияние отключения проверок на обновления на безопасность и актуальность плагинов.
Важно помнить, что каждое изменение должно быть тщательно протестировано, чтобы убедиться, что оно действительно улучшает производительность и не вызывает нежелательных побочных эффектов. Также рекомендуется регулярно следить за обновлениями плагинов, чтобы использовать последние версии, которые могут содержать оптимизации и исправления ошибок.
Надеюсь, эти рекомендации помогут вам улучшить производительность сервера и достичь желаемых результатов.