Почему лагает сервер Майнкрафт — как поднять TPS
Низкий TPS возникает, когда сервер не успевает обрабатывать мир. Как отличить его от пинга и FPS, найти причину через spark и выбрать настройки и моды.
Обновлено 18 октября 2026 г.
Сервер Майнкрафт лагает, когда не успевает обрабатывать мир: нагрузку создают мобы, фермы, генерация чанков, плагины и моды. Похожие задержки бывают из-за сети, а рывки картинки — из-за низкого FPS на вашем компьютере. Сначала проверьте TPS и время тика, затем запишите профиль spark во время лагов и уменьшите найденную нагрузку.
Как отличить низкий TPS от пинга и FPS
| Проблема | Как проявляется | Что проверять |
|---|---|---|
| Низкий TPS | Мобы и механизмы замедляются, блоки ломаются с задержкой у разных игроков. | Время обработки тиков на сервере. |
| Высокий пинг или потери пакетов | Действия запаздывают, персонажа возвращает назад, хотя сервер может работать нормально. | Соединение игрока, маршрут до сервера и сеть хостинга. |
| Низкий FPS | Картинка дёргается при движении и поворотах камеры. | Настройки графики, шейдеры и нагрузку на компьютер игрока. |
По одним симптомам точный вывод сделать нельзя. Спросите других игроков, есть ли задержки у них, и сопоставьте ответы с серверными показателями во время проблемы.
Какой TPS нормальный
TPS — количество игровых тиков в секунду. MSPT — время обработки одного тика в миллисекундах. При стандартной частоте ориентируйтесь на такие значения:
| Показатели | Что означают |
|---|---|
| 20 TPS, MSPT заметно ниже 50 мс | Сервер успевает обрабатывать мир и имеет запас производительности. |
| 20 TPS, MSPT близко к 50 мс | Запаса почти нет: дополнительная нагрузка может вызвать просадку. |
| TPS устойчиво ниже 20, MSPT выше 50 мс | Сервер не укладывается в время, отведённое на тик. |
| Около 100 MSPT при постоянной нагрузке | Сервер обрабатывает примерно 10 тиков в секунду. |
Средний TPS может скрывать короткие зависания. Проверяйте также максимальное время тика и совпадение всплесков с действиями игроков.
Как проверить TPS на сервере
Используйте консоль сервера или аккаунт с правами на диагностические команды. В игровом чате команды вводят с /, в обычной серверной консоли — без него.
| Сервер | Команда | Что показывает |
|---|---|---|
| С установленным spark | /spark tps | TPS, длительность тиков и загрузку процессора. |
| Paper с доступными встроенными командами | /tps и /mspt | Частоту тиков и время их обработки. При наличии spark удобнее начать с него. |
| Ванильная Java 26.3 | /tick query | Целевую частоту и сведения о времени тиков. Цель сама по себе не доказывает, что сервер её выдерживает. |
Замеряйте показатели именно во время лагов. Запишите онлайн, время, измерение, координаты и действия игроков: исследование новой местности, запуск фермы или массовую телепортацию.
Как найти причину лагов через spark
spark записывает профиль — отчёт о том, на какую работу сервер тратит время. В Paper он встроен начиная с 1.21. На другом ядре проверьте наличие совместимого плагина или мода spark; вариант для Paper нельзя просто перенести в модовую сборку.
- Дождитесь нагрузки, при которой сервер лагает. Не отключайте подозрительную ферму до записи: её работа должна попасть в отчёт.
- Выполните
/spark profiler start --timeout 300и продолжайте обычную игру. - После завершения откройте ссылку, которую выдаст spark. Для досрочного завершения используйте
/spark profiler stop. - В отчёте раскройте
Server threadи ветки с большой долей времени. Просматривайте вложенные вызовы, пока не станет понятно, что выполняется: обработка мобов, работа с чанками или задача конкретного расширения.
Если spark сообщает, что запись уже идёт, текущий отчёт можно открыть через /spark profiler open. Чтобы начать отдельный замер, сначала завершите действующую запись.
Большой процент у общей функции ещё не указывает на виновника. Ожидание следующего тика нормально: сервер закончил работу раньше отведённого срока. При поиске тяжёлого плагина полезен режим отчёта Sources, который группирует вызовы по расширениям.
Для отдельных зависаний используйте /spark profiler start --only-ticks-over 100 --timeout 300: в профиль попадут тики дольше заданного порога. Если заметные задержки короче этого порога, уменьшите его. Запись, во время которой проблема не повторилась, не объяснит её причину.
Что делать с найденным источником нагрузки
Перед изменением настроек и состава сервера сохраните резервную копию. Меняйте одно условие за раз и повторяйте замер при похожем онлайне и тех же действиях игроков.
| Что занимает время | Что проверить и изменить |
|---|---|
| Мобы, столкновения и поиск пути | Проверьте скопления жителей, животных и монстров. На подозрительной ферме остановите размножение или накопление мобов и сравните MSPT. Безопасного количества мобов для любого сервера нет: важны их поведение и возможности процессора. |
| Выпавшие предметы и сферы опыта | Остановите производство и уберите накопившееся. Проверьте, успевает ли сбор ресурсов за работой фермы, и предусмотрите её отключение при заполненном хранилище. |
| Загрузочные воронки и обновления блоков | По очереди отключите подозрительные линии. Уменьшите лишние цепочки воронок, блокируйте простаивающие воронки сигналом красного камня и добавьте выключатели для постоянно работающих механизмов. |
| Генерация чанков | Проверьте, совпадают ли лаги с исследованием новой местности. Заранее сгенерируйте выбранную область совместимым инструментом, например Chunky. Делайте это без игроков: предгенерация сама нагружает сервер и занимает место на диске. |
| Плагин, мод или набор данных | Проверьте настройки, зависимости и совместимость. На копии сервера отключите подозрительную функцию или расширение и повторите ту же нагрузку. Удаление контентного мода проверяйте только на копии мира. |
Предгенерация помогает с созданием новой местности. Нагрузка от мобов, механизмов и чтения уже созданных чанков остаётся; за пределами подготовленной области генерация начнётся снова.
Какие настройки дальности уменьшить
Если нагрузку создаёт обработка большой области вокруг игроков, начните с дальности симуляции. В файле server.properties параметры записываются через =. Примеры ниже — отправная точка для проверки, а не обязательный конфиг.
| Параметр | Пример | На что влияет |
|---|---|---|
simulation-distance | simulation-distance=6 | Дальность симуляции вокруг игроков в чанках. Уменьшение сокращает область активной обработки мира. |
view-distance | view-distance=8 | Дальность отправки чанков игрокам. Уменьшение сокращает объём данных и может снизить нагрузку от загрузки чанков. |
- Сохраните копию конфигурации и остановите сервер.
- Уменьшите выбранный параметр. На Paper проверьте также значения отдельных миров в
spigot.yml: они могут переопределять общую настройку. - Запустите сервер и сравните время тиков при прежней нагрузке.
- Проверьте работу ферм на нужном расстоянии от игроков: уменьшение симуляции может остановить их вдали.
Принудительно загруженные области тоже могут создавать нагрузку. Уменьшение дальности вокруг игроков не гарантирует их отключение.
Какой мод поставить, чтобы сервер не лагал
Выбирайте моды под найденную проблему. Наличие выпуска именно для вашей версии игры и загрузчика проверяйте отдельно: совместимость с соседним выпуском не гарантирует работу.
| Инструмент | Для чего нужен | Чего от него ждать |
|---|---|---|
| Lithium | Оптимизация игровой симуляции, включая обработку мобов и блоков. | Может уменьшить время тика. При установке на сервер не требует Lithium у игроков. |
| FerriteCore | Снижение расхода памяти. | Полезен при нагрузке на память, но сам по себе не устраняет тяжёлую задачу плагина или генерацию мира. |
| spark | Диагностика производительности. | Помогает найти причину; автоматически её не исправляет. |
| Sodium | Оптимизация графики на компьютере игрока. | Помогает с FPS. TPS удалённого сервера от его установки у игрока не повысится. |
Добавляйте оптимизации по одной и сравнивайте MSPT до и после. Плагин с названием «антилаг» не заменяет диагностику: регулярная очистка предметов не исправит нагрузку от поиска пути или генерации чанков.
Когда нужны другие ресурсы хостинга
- Процессор. У обычного сервера Java значительная часть симуляции выполняется в основном потоке. Невысокая общая загрузка CPU не исключает упор в производительность одного ядра. Проверьте ограничения процессора в панели хостинга.
- Память. Высокая занятость RAM сама по себе не объясняет лаги. Проверьте историю сборок мусора через
/spark gcи совпадение зависаний с паузами. Дополнительная память помогает при её нехватке; Java и остальные процессы должны помещаться в доступную RAM. - Диск. Если профиль показывает ожидание чтения или записи, проверьте накопитель и совпадение лагов с сохранением мира либо резервным копированием.
Перед сменой тарифа передайте поддержке хостинга профиль spark, время просадки, онлайн и сведения об ограничениях ресурсов. Более производительный процессор поможет при подтверждённом упоре в CPU; увеличение RAM не ускорит медленную задачу расширения.
Что отличается в старых версиях и Bedrock
| Версия или сервер | Что учитывать |
|---|---|
| Java 1.12.2 и 1.16.5 | Ванильного параметра simulation-distance ещё нет: он появился в 1.18. Настройки оптимизации и совместимые профилировщики выбирайте для конкретного ядра. |
| Java 1.20.1 | Дальность симуляции уже настраивается, но команды /tick ещё нет: она появилась в 1.20.3. |
| Paper 1.21.x | spark встроен. Для диагностики используйте его вместо Timings из старых инструкций. |
| Bedrock Dedicated Server | Дальность симуляции задаётся параметром tick-distance. Команды spark и конфигурации Paper к этому серверу не относятся. |
Если игрок Bedrock подключается через Geyser к серверу Java, диагностировать нужно сервер Java: способ подключения не меняет его ядро.
Играть интереснее на сервере — выбирайте в рейтинге серверов Майнкрафт и заходите прямо сейчас.
