- Баллы
- 98
- Имя в Minecraft
- OverwriteMC
Перед началом непосредственно инструкции, небольшая заметка:
Данная инструкция является лишь сборником стандартных советов, которые помогут вам в решении проблемы возникающих лагов. Глубокого погружения в тему тут нет. А также данный гайд НЕ предназначен для ядер которые не являются основанными на bukkit и только на нём. Любые модво-плагиновые ядра - не приветствуются, а с исключительно модовыми ядрами разговор иной.
Шаг 1 - Базовый чек-листДанная инструкция является лишь сборником стандартных советов, которые помогут вам в решении проблемы возникающих лагов. Глубокого погружения в тему тут нет. А также данный гайд НЕ предназначен для ядер которые не являются основанными на bukkit и только на нём. Любые модво-плагиновые ядра - не приветствуются, а с исключительно модовыми ядрами разговор иной.
Перед тем, как вообще спрашивать о решении проблемы с лагами удостоверьтесь, что ваш сервер соответствует данным требованиям:
1) На сервере установлено ядро Paper или же форк данного ядра. (т.е. НЕ spigot)
2) На сервере НЕ установлены максимально устаревшие плагины, по типу PermissionsEx и подобные. (Подробнее про основные плагины майнкрафт сервера: https://rubukkit.org/threads/osnovnye-plaginy-dlja-servera-minecraft.181543/)
3) Сервер запущен с флагами Aikar, точь в точь соответствуя инструкциям.
4) В сборке сервера не должно быть вирусов. Любых. (Всегда проверяйте сборки на наличие вирусов любого вида. Вы должны быть на 100% уверены в том, что сборка чиста)
Если сервер не соответствует данным простым требованиям - ваша задача их выполнить, после чего, если проблема сохраняется - продолжить следовать инструкциям.
Шаг 2 - Конфиги ядра
Без оптимизации конфигов ядра безусловно никуда.
1) Перейдите по ссылке
2) Следуйте гайду.
Шаг 3 - Ненасытные плагины
В большинстве случаев - плагины являются проблемой
1) Проверяем, нет ли у вас проблемы, описанной в данной статье - https://rubukkit.org/threads/plagin...ginov-ili-skruchivaem-lishnie-koljosa.182194/
2) Проверяем свои плагины на возможные альтернативные оптимизированные версии - https://rubukkit.org/threads/plaginy-zalagivajuschie-vash-server-i-kak-ix-ispravljat.189717/
Шаг 4 - Замеры замеры и еще раз замеры
Для того, чтобы определить причину лагов - нам потребуется профилировщик. Таковым выступает плагин spark.
1) Устанавливаем его на сервер.
2) Делаем замер при помощи команды /spark profiler start --only-ticks-over 50 --timeout 600 (Однако, важно сказать о том, что такой замер будет поверхностным, рекомендуется ознакомиться с простым гайдом на использование спарка)
3) Открываем ссылку на результат профайлинга
Далее в первую очередь открываем вкладку plugins и смотрим на то, какие плагины нагружают более всего, ибо не смотря на проделанную в пункте 3 работу - никогда нельзя предугадать, какой плагин станет проблемой.
Если проблема видна сразу - ищем плагин(у/ам) альтернатив(у/ы).
Если нет - делаем более глубокий замер, согласно гайду.
Если замер показывает, что плагины не виновны - обращаем внимание на раздел all.
1) Разворачиваем так много как только можем (как на примере):

2) Смотрим на очевидное (на скриншоте видно, что рандом тик блока травы со снегом потребляет много ресурсов)
Если ничего более или менее очевидного, в чем может быть проблема нет, то идем далее.
Шаг 5 - А что насчет флагов?
Флаги Aikar это конечно хорошо, однако есть и некоторые флаги, которые могут слегка помочь вам в вопросе производительности, хотя если вы дошли до сюда - они вам вероятно мало помогут, однако вариант есть вариант.
1) Ознакамливаемся с данной заметкой: https://rubukkit.org/threads/pro-stati-s-optimizirujuschimi-flagami-dlja-vashego-servera.189723/
2) Эксперементируем с дополнительными флагами запуска.
Ну а если и это не даёт результатов...
Шаг 6 - А что насчет сборщика мусора?
Ну чтож, если ничего ранее не помогло, а также если вы встречаете лаги, происходящие не постоянно, а к примеру каждую минуту - может быть дело в сборщике?
1) Включаем /spark gcmonitor
2) Смотрим на показатели.
3) Если сборка мусора занимает более чем пол секунды - это повод задуматься над утечками памяти.
4) Проверяем фактическое их наличие профилировщиками памяти (к примеру - jprofiler)
5) Если подтверждается - устраняем проблему, а если нет...
Шаг 7 - Позиционный тупик
Если гипотеза с утечкой не подтверждается или если лаги вы испытываете постоянные, а не всплесками, то тут остаётся не так и много вариантов
1) Обновление java: Вы можете попробовать использовать более высокие стабильные версии java. К примеру, если вы использовали java 8, 11 или 16 - вы можете попробовать перейти на 17 или даже 21. В новейших версиях jit компилятор более эффективно оптимизирует код, что может сказаться на производительности.
2) Замена java: Вы можете попробовать использовать альтернативные jvm, такие как graalvm, которые могут потенциально улучшить производительность сервера.
3) Смена хостинга: Вполне возможно, что ваш хостинг может не выдавать указанных в тарифе ресурсов. Если ни вы ни ваш хост не можете подтвердить, что ресурсы, которые вам выданы - не липа, то весьма желательно будет найти более достойного хостера.
А может быть майнкрафт сервера это не ваше?