Чек-лист оптимизации Minecraft-сервера: 10 шагов от первого замера до стабильного MSPT

Пошаговый чек-лист для сервера Minecraft в панели EGN: замер MSPT, память, дальность, Chunky, расписание перезапуска, бэкапы и проверка после каждого изменения.

Команда EGN 8 мин чтения
Чек-лист оптимизации Minecraft-сервера: 10 шагов от первого замера до стабильного MSPT
Содержание 22
  1. Коротко
  2. Перед тем как начать
  3. Шаг 1. Замерьте MSPT
  4. Шаг 2. Снимите профиль
  5. Шаг 3. Проверьте память
  6. Шаг 4. Снизьте дальность
  7. Шаг 5. Настройте Paper
  8. Шаг 6. Предгенерируйте мир
  9. Шаг 7. Проверьте оптимизаторы модов
  10. Шаг 8. Настройте расписание перезапуска
  11. Шаг 9. Следите за диском
  12. Шаг 10. Проверьте результат и запишите
  13. Симптом → причина → решение
  14. Журнал изменений
  15. Сравнение с предыдущим замером
  16. Частые ошибки
  17. Итог
  18. Вопросы и ответы
  19. С чего начать оптимизацию сервера Minecraft?
  20. Какие значения дальности поставить по умолчанию?
  21. Как настроить перезапуск с предупреждением?
  22. Что делать, если после правок мир не запускается?

Оптимизация сервера Minecraft похожа на ремонт без плана: если менять всё сразу, непонятно, что помогло и что сломалось. Этот чек-лист собирает всё из серии статей про производительность в одну последовательность. Идите по шагам сверху вниз, меняйте по одному параметру и записывайте цифры до и после.

Коротко

Чек-лист оптимизации: замерить MSPT через /spark tps, снять профиль /spark profiler start --timeout 300, проверить память в разделе «Запуск», снизить дальность в «Настройки» → «Производительность», при необходимости сделать предгенерацию Chunky, настроить Paper и расписание перезапуска, а перед каждым изменением делать бэкап через «Бэкапы».

Перед тем как начать

Оптимизация начинается не с настроек, а с правильного состояния сервера. Перед первой правкой проверьте три вещи.

  • Есть ли бэкап мира. Откройте «Бэкапы» и создайте копию. Любая правка может сломать мир, и откатиться без копии трудно.
  • Знаете ли вы типичную нагрузку. Посмотрите на онлайн в вечерний пик и запишите, в какое время он приходится.
  • Есть ли у вас список установленных модов и плагинов. Откройте «Моды и плагины» → «Установлено», чтобы понимать, что уже работает на сервере.

Если хотя бы одно из трёх не выполнено, сначала сделайте это.

Шаг 1. Замерьте MSPT

Откройте «Консоль» и выполните:

Терминал
/spark tps

Запишите MSPT и загрузку CPU. Сделайте замер дважды: в спокойное время и в час пик. Это ваша отправная точка. Если MSPT ниже 50 в пик и игроки не жалуются, остальные шаги можно пропустить: сервер в порядке.

Подробнее о цифрах — в статье TPS и MSPT.

Шаг 2. Снимите профиль

В час пик выполните:

Терминал
/spark profiler start --timeout 300

Через пять минут откройте ссылку на отчёт и найдите самую широкую ветку тика. Она покажет, что реально тормозит: сущности, чанки, плагин или сохранение. Все дальнейшие шаги зависят от того, что вы увидите здесь.

Подробнее — в статье Spark: как найти причину лагов.

Шаг 3. Проверьте память

Откройте «Запуск» и посмотрите блок «Память и производительность». Нужен запас системе, а не ноль. Если запас очень мал, а сервер падает или часто собирает мусор, помогает тариф с большим объёмом памяти. Ручной -Xmx выше памяти тарифа не ставьте.

Версия Java тоже проверяется здесь. Для Minecraft 1.20.5–1.21.x нужна Java 21, для 26.x — Java 25.

Блок памяти в «Запуске»: память по тарифу, часть для Java, запас системе
Блок памяти в «Запуске»: память по тарифу, часть для Java, запас системе

Подробнее — в статье флаги JVM.

Шаг 4. Снизьте дальность

Откройте «Настройки» → категория «Производительность». Выставьте прорисовку 8 и симуляцию 4–6. Для серверов с большими фермами симуляцию можно опустить ещё, но не ниже комфорта игроков.

Нажмите «Сохранить» и перезапустите сервер кнопкой перезапуска в шапке. Настройки применяются при запуске, поэтому перезапуск обязателен.

Замерьте MSPT снова в тот же час, что и на шаге 1. Если разница есть, фиксируйте значение.

Подробнее — в статье view-distance и simulation-distance.

Шаг 5. Настройте Paper

Если сервер на Paper и профиль показывает сущности или взрывы, посмотрите параметры мира. В той же категории «Производительность» есть «Столкновений сущностей за тик» и «Быстрые взрывы». Они соответствуют collisions.max-entity-collisions и environment.optimize-explosions в config/paper-world-defaults.yml.

Для толпы мобов разумно пробовать max-entity-collisions 4–6. Для TNT-пушек — включить быстрые взрывы и проверить постройки. Меняйте одно за раз.

Подробнее — в статье paper-world-defaults.yml.

Шаг 6. Предгенерируйте мир

Если лаги связаны с исследованием новых чанков, установите Chunky через «Моды и плагины» → «Каталог» и создайте чанки заранее:

Терминал
/chunky center 0 0
/chunky radius 1500
/chunky start

Запускайте ночью или на пустом сервере. При нагрузке ставьте /chunky pause, а после — /chunky continue. Радиус 1500 блоков — примерно 27 600 чанков в круге, это уже серьёзная задача, поэтому начинайте с 1000.

Подробнее — в статье Chunky.

Шаг 7. Проверьте оптимизаторы модов

Для модового сервера посмотрите, стоят ли FerriteCore, ModernFix и Lithium там, где они подходят по загрузчику. Lithium для Forge не выпускается. Ставьте только то, что совпадает с вашим ядром.

Установка идёт через «Моды и плагины», проверки версии делает панель.

Подробнее — в статье оптимизаторы Lithium, FerriteCore, ModernFix.

Шаг 8. Настройте расписание перезапуска

Перезапуск по расписанию помогает держать сервер в форме: сбрасываются утечки и кэши. Но перезапуск посреди игры раздражает. Сделайте так, чтобы игроки получили предупреждение.

Откройте «Расписания» → «Новое расписание». Для ночного перезапуска:

  1. Повтор: «Каждый день», время: например 05:00 по Москве.
  2. Шаг 1: «Предупредить игроков» за 5 минут. В панели есть и готовый пресет «Ночной перезапуск»: каждый день в 05:00 с предупреждением за 5 минут.
  3. Шаг 2: «Перезапустить сервер».
  4. Включите «Только если сервер запущен», чтобы расписание не стартовало на выключенном сервере.
  5. Нажмите «Создать расписание».
Расписание в панели EGN: предупреждение игрокам за 5 минут и перезапуск в 05:00
Расписание в панели EGN: предупреждение игрокам за 5 минут и перезапуск в 05:00

Не ставьте перезапуск на время, когда идёт предгенерация Chunky: задача оборвётся.

Шаг 9. Следите за диском

Медленный или переполненный диск даёт редкие длинные тики при сохранении. Проверьте, сколько диска занято, в «Консоли»: блок «Disk» показывает занятое место и лимит. Если диск почти полон, освободите место: удалите старые бэкапы, логи, ненужные миры.

Следите и за логами. Если в консоли видны предупреждения о задержках сохранения, а MSPT в норме, проблема в диске, а не в процессоре.

Консоль сервера: запуск Paper и строка spark, блоки загрузки CPU, памяти и диска
Консоль сервера: запуск Paper и строка spark, блоки загрузки CPU, памяти и диска

Шаг 10. Проверьте результат и запишите

После каждого изменения замеряйте MSPT в тот же час, что и на шаге 1. Запишите цифры в заметки: дата, что поменяли, MSPT до и после. Через неделю это станет инструкцией для вас и для следующего администратора.

Если MSPT стабилен ниже 50 в пик, оптимизацию можно считать законченной на ближайшее время. Пересматривайте её при установке новых модов, росте онлайна или обновлении Paper.

Симптом → причина → решение

Симптом Шаг чек-листа Что делать
MSPT выше 50 в пик 1, 2 Профиль spark, найти ветку
Сервер часто падает с кодом 137 3 Тариф с большим объёмом памяти
Лаги в фермах мобов 4, 5 Дальность и max-entity-collisions
Лаги при исследовании 6 Предгенерация Chunky
Рывки раз в несколько минут 9 Проверить диск и сохранение
Игроки жалуются на перезапуск 8 Предупреждение за 5 минут
Мод не встаёт 7 Проверить загрузчик и версию
После правок мир не запускается Перед всем Восстановить бэкап

Журнал изменений

Чтобы через месяц понимать, что работает, ведите простой журнал. Его можно хранить в заметках рядом с панелью. Ниже условный пример, цифры не реальные:

Дата Что поменяли MSPT до MSPT после Заметка
13.11 Прорисовка 10 → 8 55 мс 49 мс Пик 20:00
14.11 Симуляция 10 → 5 49 мс 44 мс Ферма на 800 мобов
16.11 Предгенерация 1000 блоков 44 мс 42 мс Ночью, пауза в пик
18.11 Расписание перезапуска 05:00 — — Предупреждение за 5 минут

Пишите в журнал каждое изменение, даже если результат не понравился. Пустые строки тоже полезны: они показывают, что вы уже пробовали.

Журнал помогает и при смене администратора. Новый человек видит, какие значения стоят и почему, и не возвращает их обратно без причины.

Сравнение с предыдущим замером

Сравнивайте MSPT в одинаковых условиях: тот же час, похожий онлайн, тот же мир. Разница в 3–5 мс может быть шумом, а разница в 15 мс и больше — реальным эффектом. Если цифры близки, повторите замер через день.

Частые ошибки

Менять всё за один вечер. Непонятно, что помогло. Меняйте по одному параметру и замеряйте.

Пропускать бэкап. Один неверный ключ в YAML может не дать серверу стартовать. Бэкап экономит часы.

Ставить максимальную дальность «для игроков». Это первая причина лагов. Игроки почти не замечают разницу между 8 и 10 чанками, а сервер замечает.

Перезапускать сервер вместо анализа. Перезапуск даёт временный эффект. Причина остаётся.

Забывать про расписание. Без предупреждения игроки теряют прогресс в шахте, а предгенерация обрывается.

Итог

Оптимизация сервера Minecraft — это цикл: замер, профиль, одна правка, повторный замер. Чек-лист из десяти шагов покрывает всё, что обычно тормозит: MSPT, профиль, память и Java, дальность, Paper, предгенерацию, моды, расписание, диск и запись результатов. Начинайте с замеров в час пик, и большинство проблем станут понятными, а не загадочными.

Вопросы и ответы

С чего начать оптимизацию сервера Minecraft?

С замера MSPT через /spark tps в час пик и снятия профиля /spark profiler start --timeout 300. Без цифр остальные шаги — догадки.

Какие значения дальности поставить по умолчанию?

Прорисовка 8, симуляция 4–6 — хорошая стартовая точка для большинства серверов. Дальше смотрите MSPT.

Как настроить перезапуск с предупреждением?

В «Расписаниях» создайте расписание: шаг «Предупредить игроков» за 5 минут, затем «Перезапустить сервер». Включите «Только если сервер запущен».

Что делать, если после правок мир не запускается?

Откатиться к бэкапу из раздела «Бэкапы» и проверить последнюю правку. Частая причина — ошибка в YAML, например табуляция вместо пробелов.

Сервер под Minecraft за пару минут — egnetwork.ru

Читать далее

Вся рубрика →