Сервер показывает 20 TPS на спавне, а потом складывается ровно в тот момент, когда пятеро игроков улетают в новые чанки или включается ферма. В этом и есть неприятность производительности Minecraft: проблема почти никогда не сводится к «мало оперативки». Если ты разбираешься, как починить низкий TPS, воспринимай это как задачу про время тика. Найди, что съедает каждые 50 миллисекунд, убери лишнюю работу и убедись, что железо тянет тот мир, который ты хочешь держать.

TPS — это тики в секунду. Minecraft целится в 20 TPS, то есть у сервера есть 50 мс на обработку каждого тика. На 15 TPS редстоун-тактовики замедляются, мобы реагируют с опозданием, а игроки чувствуют рывки даже при нормальном пинге. Полезный напарник этой метрики — MSPT, миллисекунды на тик. Чем меньше, тем лучше. Всё, что стабильно выше 50 MSPT, означает: сервер не может держать 20 TPS.

Сначала диагностика, потом изменения

Не начинай с удаления случайных плагинов или удвоения оперативки. У сервера может быть куча свободной памяти, и он всё равно будет лагать, потому что одно ядро CPU забито сущностями, генерацией чанков или плохо ведущим себя модом. Сперва посмотри на характер просадок.

Если TPS падает только когда игроки исследуют мир — скорее всего, виновата генерация местности. Если проседает на конкретной базе — смотри мобов, воронки, кучи предметов, редстоун и модовые механизмы. Если деградирует через несколько часов аптайма — ищи утечку памяти, раздувшийся мир или сущности, накапливающиеся в местах, которые кажутся выгруженными.

Профилировщик даёт ответ быстрее любых догадок. На Paper или Purpur сними отчёт через spark прямо во время активных лагов. На Forge или Fabric используй профилировщик, который поддерживает твой загрузчик и сборка. Запускай его, пока игроки делают то, из-за чего всё тормозит, а не когда все стоят на спавне.

Обрати внимание на типичных пожирателей тика:

  • Тикание сущностей, особенно плотные фермы животных, жители, выпавшие предметы и стойки для брони.
  • Генерация чанков, когда игроки летают на элитрах, телепортируются далеко или заходят на неисследованную карту.
  • Тайл-энтити и механизмы в модпаках: трубы, кабели, системы хранения, автокрафт.
  • Плагины, которые сканируют мир, дёргают большие базы данных, слишком часто обновляют скорборд или гоняют тяжёлые задачи в главном потоке.
  • Редстоун-тактовики и сети воронок, работающие каждый тик, даже когда ими никто не пользуется.

Задача не в том, чтобы обвинить игроков или вырезать все интересные механики. Задача — понять, какие одна-две нагрузки забирают наибольшую долю тика. Торговый зал на 300 жителей чинится иначе, чем медленная генерация чанков, а сломанная задача плагина — иначе, чем оба варианта.

Сначала разгружай мир

Постройки, забитые сущностями, — самый частый убийца TPS на выживалках. Начни с лимитов, которые игроки поймут. Сократи число жителей в торговом зале, держи размножение животных под контролем и аккуратно настраивай очистку предметов. Удаление всех выпавших предметов каждые несколько минут защищает TPS, но заодно стирает лут, который игроки обоснованно рассчитывали забрать.

Воронки заслуживают отдельного внимания. Длинная линия воронок непрерывно проверяет инвентари, и сотня таких линий складывается очень быстро. Замени ненужные цепочки воронок водными потоками, вагонетками там, где они действительно нужны, или более умными системами хранения. Накрывай воронки компостерами или другими контейнерами, где это уместно, — так они реже проверяют инвентарь.

На Paper и Purpur настраивай дальность прорисовки и симуляционную дистанцию по отдельности. View distance отвечает за то, что игроки видят. Simulation distance — за то, какие ближние чанки активно обрабатывают сущности, редстоун и посевы. Снижение симуляционной дистанции с 10 до 6 часто заметно срезает работу тика, при этом мир не начинает казаться тесным. Правильное значение зависит от онлайна и стиля игры: тихая вайтлист-выживалка спокойно живёт на настройках выше, чем публичный сервер с 80 игроками.

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

Порядок действий, который работает

Сначала убери лишнюю работу, потом подкрути настройки, и только потом меняй железо. Один профиль spark во время настоящих лагов даёт больше, чем неделя догадок: он сразу показывает, кто именно съедает 50 миллисекунд. Меняй по одному параметру за раз и смотри MSPT — иначе не поймёшь, что именно помогло.

Проверь плагины, моды и ядро сервера

Правильное ядро уже имеет значение. Для плагинных серверов Paper — крепкая база, а Purpur даёт админу больше геймплейных и производительных настроек. Ванильное ядро уместно, когда нужно строгое ванильное поведение, но вариантов оптимизации там меньше. И не ставь плагины под Paper на сервер, которому нужны моды Forge, ожидая стабильности.

На Fabric и Forge моды-оптимизации помогают, но совместимость важнее. Добавляй их по одному, перезапускай и проверяй те сценарии, которыми пользуются игроки. Свалить в папку все моды из списка «топ оптимизаций» — верный способ получить краши, сломанный рендер или странное поведение мира, которое отнимет больше времени, чем сэкономит.

Плагины и моды должны оправдывать своё место. Отключай неиспользуемое, обновляй живые проекты и читай changelog после апдейта версии Minecraft. Плагин скорборда, который обновляется каждый тик для каждого игрока, выглядит нарядно, но на загруженном сервере обходится дорого. То же касается рендера карты, сканов античита, косметических партиклов и экономических плагинов с неэффективными запросами к базе.

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

Дай Minecraft то железо, которое он реально использует

Главный тик-луп Minecraft сильно зависит от частоты одного ядра CPU. Дополнительные vCPU помогают вспомогательным задачам, но не чинят автоматически главный поток, которому нужно 90 мс на тик. Именно поэтому дешёвый перепроданный хостинг лагает даже там, где в тарифе щедро расписана оперативка.

Быстрая инфраструктура на Ryzen и EPYC, высокая частота CPU и диски NVMe Gen4 дают практическую разницу. Частота CPU тянет тики, быстрый диск помогает с загрузкой чанков, сохранениями мира, бэкапами и рестартами. Защита от DDoS тоже важна для публичных серверов: сетевая атака не должна становиться пятничным вечерним даунтаймом для твоего сообщества.

Оперативка всё ещё имеет значение, особенно для модпаков, но выделить больше, чем сервер может использовать, — не бесплатный апгрейд. Слишком мало памяти даёт давление на сборщик мусора и краши. Слишком много — более долгие паузы сборки мусора. Небольшая Paper-выживалка комфортно живёт на 4–6 ГБ, а крупной сборке Forge может понадобиться 8–12 ГБ и больше в зависимости от модов и активности. Смотри реальное потребление, а не выбирай число по самому дорогому тарифу.

Используй разумные JVM-флаги под свою версию Java и тип сервера, но не жди, что флаги спасут перегруженный мир. Современная Java и актуальные ядра и так неплохо справляются с дефолтами. Выигрышный порядок такой: убрать лишнюю нагрузку, настроить параметры, потом правильно подобрать железо.

Держи TPS стабильным после починки

Сервер, который один раз дотянул до 20 TPS, ещё не здоров. Тестируй в пиковых условиях: игроки исследуют мир, фермы работают, мобы загружены, бэкапы и рестарты идут по расписанию. Следи за MSPT после установки нового плагина, открытия нового измерения или обновления модпака. Небольшие проверки не дают одному изменению превратиться в неделю жалоб.

Бэкапы — тоже часть управления производительностью. Прежде чем менять конфиги, убирать моды или чистить сущности, сделай копию, к которой сможешь откатиться. Это даёт возможность экспериментировать спокойно, а не играть в рулетку с миром, который сообщество строило месяцами.

Если очевидные проблемы уже вылечены, а главный поток всё равно упирается в потолок, — возможно, пора переезжать, а не бесконечно ужимать сервер. Тарифы под Minecraft с быстрым CPU, дисками NVMe, автоматическими бэкапами и поддержкой, которая отличает проблему плагина от узкого места в тике, закрывают ровно эту ситуацию.

Игрокам всё равно, откуда пришло исправление — от правильной симуляционной дистанции, перестроенной фермы или более быстрого железа. Им важно, что бой отзывчивый, чанки грузятся при полёте, а постройки работают, когда сервер загружен. Начни с одного профиля во время настоящих лагов, сделай самое влияющее изменение и дальше двигайся по цифрам.

Железо, на котором TPS не падает

Elysium разворачивает Paper, Purpur, Forge и Fabric на высокочастотных Ryzen и дисках NVMe Gen4, с автоматическими бэкапами, защитой от DDoS и панелью Pterodactyl. Выбери тариф на странице заказа, а если сервер уже где-то живёт — перенесём мир, плагины и конфиги без потери данных.