Лаги на сервере Minecraft бывают трёх видов, и исправляют их по-разному. Прежде чем что-то менять, выясните, какие лаги у вас.
| Что видят игроки | Вид лагов | Где искать |
|---|---|---|
| Блоки появляются заново, мобы дёргаются, всё замедляется у всех | Лаги сервера: сервер не успевает завершить работу вовремя | Это руководство |
| Высокий пинг, запоздалые удары, но игра идёт плавно | Лаги сети: расстояние между игроком и сервером | Где работает ваш сервер и как устроена локация |
| Низкий FPS только у одного игрока | Лаги клиента: собственный компьютер этого игрока | Собственные настройки игрока |
Как сервер считает время
По данным Minecraft Wiki, игра работает на скорости 20 тиков в секунду, один тик каждые 50 миллисекунд. Сервер может держать 20 тиков в секунду (TPS), только если каждый тик занимает 50 миллисекунд или меньше (MSPT, миллисекунды на тик). Когда он отстаёт, TPS падает, и именно это чувствуют игроки. Minecraft Wiki называет обычные причины: воронки, которые постоянно ищут предметы, редстоун с большим числом обновлений блоков, большое число мобов и высокая скорость случайных тиков.
В документации Paper добавлено, что основной цикл игры работает в одном потоке. Поэтому высокая скорость одного ядра важнее числа ядер, а больше памяти медленный тик не исправит.
Шаг 1: измерьте
- Откройте страницу Обзор вашего сервера и посмотрите на Использование. Делайте это при игроках онлайн, потому что простаивающий сервер всегда выглядит здоровым. См. Как читать графики использования сервера. Если CPU упирается в предел, пока игроки на сервере, серверу не хватает вычислительной мощности.
- Следите за Console. Сообщение
Can't keep up! Is the server overloaded?означает, что тик занял слишком много времени. - На Paper откройте Console и введите
spark tps, чтобы увидеть тики в секунду. В документации Paper сказано, что Paper 1.21 и новее включают профайлер spark. Чтобы найти, что работает медленно, введитеspark profiler start --timeout 300, спокойно играйте пять минут и откройте ссылку, которую выведет Console. В отчёте показано, какие плагины и какие части игры заняли больше всего времени. На Fabric, Forge или NeoForge spark это мод, который добавляется на вкладке Моддинг. См. Как установить моды на Forge, Fabric и NeoForge.
Меняйте что-то одно, перезапускайте и измеряйте снова, чтобы знать, что помогло.
Шаг 2: снизьте стоимость мира
Эти настройки помогают на любом типе сервера. Откройте Настройки, затем Server Properties (Java). См. Свойства сервера Minecraft: разбор настроек.
| Настройка | Что она меняет | Чем вы платите |
|---|---|---|
| Дальность прорисовки (по умолчанию 10) | Сколько чанков сервер отправляет каждому игроку | Игроки видят не так далеко. Панель отмечает, что это одна из самых затратных настроек. |
| Дальность симуляции (по умолчанию 10) | На каком расстоянии от игрока продолжают работать мобы, посевы и редстоун | Фермы и механизмы останавливаются, когда вы дальше этого расстояния |
| Дальность прорисовки сущностей (по умолчанию 100) | На каком расстоянии сущности отправляются игрокам, в процентах | Мобы и животные появляются ближе к игроку |
| Радиус границы мира | Как далеко могут уходить игроки | Игроки не могут исследовать за ней. Исследование заставляет сервер генерировать новую местность, а это тратит вычислительную мощность. |
Дальность прорисовки и дальность симуляции это обычные первые изменения, потому что они действуют на всех игроков. Снижайте их по одному шагу.
Шаг 3: обуздайте мобов, предметы и воронки (Paper, Purpur, Spigot)
У Paper и его форков больше настроек, чем у Vanilla. Строки для Bukkit Settings и Spigot Settings относятся к Paper, Purpur и Spigot. Строки для Paper's World Settings есть только на Paper и Purpur, но не на Spigot. Они находятся в разделе Настройки, в списке слева, после того как сервер хотя бы раз запустился. На каждой странице есть строка поиска. Нажмите Только сохранить, затем перезапустите. Храните бэкап любого файла, который редактируете вручную. См. Как сделать бэкап, восстановить и сбросить мир Minecraft.
Значения по умолчанию ниже взяты из документации Paper.
| Страница и настройка | По умолчанию | Что она меняет | Чем вы платите |
|---|---|---|---|
Bukkit Settings, spawn-limits (монстры, животные и другие) | 70 монстров, 10 животных | Сколько мобов каждого вида существует на игрока, прежде чем спавн прекращается | Мобов меньше. Фермы мобов дают меньше. |
Bukkit Settings, ticks-per (monster-spawns, animal-spawns) | 1 для монстров, 400 для животных | Число тиков между попытками спавна | Мобы появляются позже и в меньшем числе |
Spigot Settings, entity-activation-range (animals, monsters, villagers, misc) | 32 для животных, 32 для монстров, 32 для жителей, 16 для прочих | Насколько близко к игроку должна быть сущность, чтобы действовать на полной скорости | Далёкие мобы замирают или действуют медленно. Фермы вдали от вас замедляются. |
Spigot Settings, merge-radius для item и exp | 0.5 и выключено | Насколько близко выпавшие предметы и сферы опыта объединяются в одну | Предметы объединяются охотнее |
Spigot Settings, hopper-transfer и hopper-amount | 8 тиков, 1 предмет | Как часто и сколько перемещает воронка | Воронки-часы и сортировщики меняют скорость |
Paper's World Settings (только Paper и Purpur), environment.optimize-explosions | выключено | Кеширует поиск сущностей во время взрывов | Результаты немного отличаются от Vanilla. TNT лагает меньше. |
Paper's World Settings (только Paper и Purpur), misc.redstone-implementation | VANILLA | Движок редстоуна. В меню есть вариант Alternate Current. | Другой движок может изменить поведение редких механизмов |
Paper's World Settings (только Paper и Purpur), hopper.disable-move-event | выключено | Прекращает сообщать плагинам о передаче предметов воронками | Плагины, которые следят за воронками, перестают работать |
Paper's World Settings (только Paper и Purpur), chunks.entity-per-chunk-save-limit | число для каждого типа сущностей, где -1 означает отсутствие лимита. В документации Paper для сфер опыта указано -1 | Ограничивает, сколько сущностей одного вида, например стрел, сохраняется в чанке | Лишние сущности в чанке не сохраняются |
Копирование длинного списка настроек из видео или с форума это частая причина сломанных ферм. Меняйте настройку только тогда, когда профайлер указывает на то, чем она управляет.
Шаг 4: проверьте плагины и моды
Причиной лагов часто бывает один плагин или мод. Отчёт spark из шага 1 покажет, какой именно. Затем:
- Обновите его. Старые версии частая причина. См. Как установить плагины на Paper, Spigot и Purpur.
- Проверьте его собственные настройки на параметры, которые сканируют мир, например проверки больших привилегий или очистки.
- Если он не нужен, удалите его. В документации Paper советуют удалять плагины половинами, чтобы найти виновника среди многих.
Шаг 5: посмотрите на сам мир
Minecraft Wiki называет воронки, редстоун и большое число мобов обычными причинами медленного тика. Достаточно одной большой постройки, например огромной фермы мобов или длинных редстоун-часов. Профайлер показывает, когда это так. Тогда можно перестроить её меньше, распределить или выключать, когда ею никто не пользуется. Много животных в одном маленьком загоне тоже обходятся дороже, чем те же животные, распределённые по большей площади, поэтому разредите оживлённые загоны.
Когда дело в тарифе
Если CPU упирается в предел при малом числе игроков, а профайлер не показывает одного виновника, возможно, ваш тариф слишком мал для того, что вы запускаете. Серверам с модами и большим модпакам нужно намного больше, чем обычному серверу. См. Сколько RAM нужно серверу Minecraft и Как сменить тариф или расчётный период.
Folia, форк Paper, распределяет работу по ядрам CPU. Большинство плагинов его не поддерживает, поэтому сначала проверьте свои плагины. Смена типа сервера по умолчанию удаляет файлы. См. Как сменить версию Minecraft или тип сервера.





