Оптимизация сервера

Привет. В этой статье я расскажу, как правильно и зачем оптимизировать сервер

Ты, наверное, задавал себе вопросы:

  • Как оптимизировать сервер майнкрафт?
  • Почему лагает сервер майнкрафт?
  • Почему сильно тормозит сервер майнкрафт?
  • Почему низкий TPS на сервере майнкрафт?
  • Как избавится от лагов сервера майнкрафт?

Введение - ТПС

Каждый сталкивался с такой проблемой, что тормозит сервер. При таких условиях будет низкий TPS

Что такое TPS?
TPS (Ticks per Second) — это число тактов за секунду. Чем более высокий данный показатель, тем большая производительность сервера. В норме показатель 20.0. TPS может существенно снижаться в случае значительной нагрузки на сервер. И в консоль выводятся такие строчки: [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 9999ms or 9999 ticks behind

Чтобы посмотреть значение TPS введите команду: /tps

Показатели:

  • 20.0 = Супер!
  • 19.95-19.99 = Средне. Незаметная потеря. Большинство серверов находятся на таком значении.
  • 18.5-19.94 = Не очень хорошо, но в игре это незаметно.
  • 16.0-18.4 = Плохо. Вам определенно нужно исправить это, если это ваш средний показатель.
  • <16.0 = Неиграбельно

Если вдруг у вас низкий TPS, то введите эти команды поочередно: /timings on, подождите минут 10, /timings report, /timings off

Вам в консоль отобразится ссылка. Переходим по ней

Что это все значит?

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

Поскольку описывать все тайминги и их анализ - слишком долго, можно посмотреть гайд по ним от их же автора на YouTube

Введение - Пинг

Ping - отражает, сколько времени (в миллисекундах) требуется данным для обработки и перемещения между клиентом и сервером. Чем дальше клиент отдален от сервера, тем больше времени может занять этот перенос. Другими распространенными факторами, влияющими на пинг, являются перегруженные или медленные соединения.Если вы хотите уменьшить пинг, то берите сервера ближе к своим игрокам: Москва, Франция, Германия...

Показатели (для Minecraft):

  • 1-90 = Супер!
  • 91-179 = Хорошо. Возможно, небольшие проблемы в PVP. В выживании это не заметно.
  • 180-299 = Плохо.
  • 300-499 = Очень плохо.
  • 500+ = Ужасно.

Ядро

Если вы только начинаете свой путь в серверостроении, то можете начать с Paper.

Для более опытных, советую: Purpur, Airplane, Pufferfish

Плагины

WorldBorder - Позволяет ограничить/прогрузить мир
LagAssist - Плагин включает в себя множество инструментов, которые можно использовать для поиска источников задержек и их удаления
Mob Farm Manager Hopper support - Ограничение мобов на чанк, оптимизированные воронки и много другого
Farm Control - Полезен, если на сервере много ферм, он отключает ИИ мобам, убирает толкание между ними, ограничивает спавн мобов, и много другого
Chunky - Позволяет прогрузить мир

Прогрузка мира

1. Скачай Chunky из раздела выше
2. Заходим в игру: Определись, какой размер карты хочешь. Рекомендую ограничивать также и дополнительные миры (Нижний, Край). Также не забывай, что чанки весят достаточно много, для большой карты нужно будет больше места на жестком диске сервера
3. Пишем команды:
/chunky radius Число_В_Каждую_Сторону (Пример: /chunky radius 24000)
/chunky world Мир (Пример: /chunky world world)
/worldborder set 48000 (Умножаем на 2, число из первой команды)
/chunky start
4. Не мешаем серверу прогружать мир:
Выходим с сервера и не пускаем туда игроков. Но, если у тебя довольно мощный процессор, можно играть
Время прогрузки зависит только от размеров карты и ядра, которые ты выбрал
Например, i9-10990k на Purpur (1067 сборка) прогрузил карту 30х30к примерно за сутки

Оптимизация конфигов

Используй связку клавиш CTRL+F, чтобы найти данные строки в конфигах
Данный текст предназначен для оптимизации конфигов ядра Paper и его форков, а также для плагина CoreProtect
В случае нужного толкования действия, рядом с строкой будет стоять '*'

Ссылки на конфиги:

1. Bukkit.Yml - клик
2. Server.Properties - клик 
3. Paper.Yml - клик [ дополнение 1 | дополнение 2 ]
4. Spigot.Yml - клик
5. Purpur.Yml - клик
6. CoreProtect - клик

Фикс эксплоитов

Один из игроков может сидеть с чит клиента, и посылать слишком много пакетов, что заставит сервер тормозить, и даже положить его. Также пользование предметов с 1000 LVL может тоже замедлять работу сервера


ExploitFixer - фикс пакетов, предметов, блок запрещенных команд, uuidspoof и многое другое
HamsterAPI - библиотека для ExploitFixer
ItemFixer - фикс 1000 LVL
PacketLimiter - ограничение пакетов
PacketsBookFix - фикс с багом в книжке

Совет: На свой выбор. Некоторые плагины могут конфликтовать с друг другом. Не ставьте их всех подряд

Флаги запуска

Создай нужные именно тебе флаги для запуска сервера:

1. Здесь
2. Здесь
3. Флаги для новых версий Java (советую)


2251 views
0 комментариев
Пожалуйста, создайте учетную запись или
авторизуйтесь прежде чем оставлять комментарии