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

Помнить про память (ОЗУ)

Перед продолжением прочтения статьи проверьте своё количество памяти и версию сервера: Если у вас стоит ядро версии 1.14.4 и выше, но при этом у вас куплено всего 500mb памяти — дальнейшее прочтение статьи бессмысленно, т.к эти версии для стабильной работы требуют минимум 2 Гб ОЗУ.

Методы решения:

  • Докупить память (На нашем хостинге можно просто сменить тариф, но за это спишутся дни аренды вашего сервера)
  • Сменить версию сервера (Оптимальная версия - 1.12.2)

Удалить нагружающие плагины

Самые нагружающие плагины, которые стоит оптимизировать и/или удалить с сервера:

  • CoreProtect - Полезный плагин, который логирует все действия игроков, и в любую секунду позволит откатить назад снесённый дом.
  • MultiWorld, Multiverse Core - Плагины, которые добавляют на сервер возможность создания мульти-миров. Каждый мир будет потреблять минимум 200мб ОЗУ при нулевом онлайне.
  • AutoSaveWorld и ему подобные плагины попросту бесполезны — их функция есть в файле bukkit.yml, но об этом позже.
  • Непонятные плагины, скачанные с пабликов ВКонтакте, ютуба и BlackSpigotMc. Мало того, что эти плагины написаны непонятно кем, непонятно на чём, непонятно, насколько они могут быть кривыми. Но добавляет ужаса сюда то, что эти плагины могут не только лагать, но и открывать лёгкую лазейку для сноса вашего сервера — в подобные плагины нередко вшиваются хаки и бэкдоры.
  • Моды: DivineRPG

Методы решения:

  • Все плагины и моды для своего сервера стоит скачивать только с официальных источников: https://bukkit.org/, https://www.spigotmc.org/, https://www.curseforge.com/
  • Удалить CoreProtect и MultiWorld / MultiVerse, если нет жесткой необходимости их использовать
  • Если у вас сервер с модами, необходимо докупить RAM.

Настройка основных конфигов майнкрафт сервера

bukkit.yml - рекомендуемые значения

  • Устанавливаем лимиты спавна мобов. Если вам не нужны летучие мыши вообще, то можете поставить ambient на 0.
spawn-limits:
    monsters: 35
    animals: 10
    water-animals: 3
    ambient: 1
  • autosave — параметр, который отвечает за авто-сохранение.
ticks-per:
    animal-spawns: 400
    monster-spawns: 3
    autosave: 16000
  • включаем авто-очистку неактивных чанков. Заметно улучшает производительность. Если у вас нет третьей строки (load) — не добавляйте её.
chunk-gc:
    period-in-ticks: 600
    load-threshold: 300
  • отключаем авто-обновление плагинов.
auto-updater:
    enabled: false

spigot.yml - рекомендуемые значения

  • снижение нагрузки от спавнеров мобов.
nerf-spawner-mobs: true
  • оптимизация дистанции: снижая дистанцию, с которой будут активироваться сущности.
entity-activation-range:
    animals: 8
    monsters: 10
    misc: 2
  • оптимизация воронок (передачу предметов по ним)
ticks-per:
    hopper-transfer: 24
    hopper-check: 24
    hopper-amount: 3
  • снижение количества мобов, которые могут появиться на 1 блоке.
max-entity-collisions: 1
  • увеличение дистанции, на которой айтемы и опыт будут собираться в стак.
merge-radius:
    item: 4
    exp: 6

Ограничиваем размер мира.

Размер мира является ключевым параметром, который влияет на производительность вашего майнкрафт сервера.

Методы решения:

  • ограничить мир: /worldborder center ~ ~ - прописываем команду, стоя на спавне на блоке. после этого /worldborder set 18000. Мир ограничен 18000 блоками. Этого хватит для многих стандартных серверов.