Сервер Minecraft лагает, когда не успевает завершить тик за 50 мс. Игра работает на 20 тиках в секунду, а Minecraft Wiki пишет, что сервер держит 20 TPS «только если MSPT не выше 50». Обычные решения это дальность прорисовки, сущности, воронки, загрузка чанков и серверное ПО, а не больше памяти. PaperMC говорит прямо: «больше памяти не означает лучшую производительность после определённого предела».
Поэтому следите за TPS, а не за использованием RAM. Ниже 20 серверу не хватает времени, а не места. Панель показывает TPS на карточке Состояние сервера: Как проверить состояние сервера Minecraft по TPS и профилю spark.
Что исправлять в первую очередь на лагающем сервере Minecraft?
1. Дальность прорисовки и дальность симуляции. Обе по умолчанию равны 10 чанкам в каждую сторону от каждого игрока. Дальность симуляции это расстояние, на котором сущности ещё обновляются. Снижение дальности прорисовки с 10 до 6 уменьшает квадрат вокруг каждого игрока с 441 чанка до 169, то есть примерно на 60 процентов. Снижение дальности симуляции останавливает далёкие фермы и механизмы, и в этом цена.
2. Сущности. Мобы, выброшенные предметы, вагонетки и стойки для брони это сущности, и сервер обрабатывает каждую в пределах дальности симуляции. Выброшенные предметы исчезают через 5 минут в загруженном чанке. Ограничьте спавн мобов и внимательно посмотрите на любую ферму, которая работает постоянно.
3. Воронки и редстоун. Minecraft Wiki пишет, что воронки «обычно проверяют выброшенные предметы каждый игровой тик». В Java воронка с полным блоком или компостером сверху обходится дешевле, а вики называет компостер «лучшим отдельным блоком для производительности».
4. Загрузка чанков. Чанки, которые удерживаются загруженными другими способами, тоже обрабатываются каждый тик, хотя рядом нет игрока. Проверьте загрузчики чанков, прежде чем менять тариф.
5. Серверное ПО. PaperMC описывает Paper как «созданный, чтобы значительно повысить производительность». Paper запускает только плагины: PaperMC пишет, что моды Forge и Fabric «не будут работать на Paper». Forge, NeoForge и Fabric добавляют работу каждого мода поверх игры: это цена модов, а не неисправность.
Когда память действительно проблема?
Два признака:
java.lang.OutOfMemoryErrorв консоли. Java заполнила память, которую ей разрешено использовать. Сначала проверьте, что изменилось: новый мод или плагин, больше игроков, более крупный исследованный мир. См. У сервера Minecraft не хватило памяти.- Сервер остановлен на пределе памяти тарифа. В таком случае панель показывает на странице Обзор карточку Этому серверу не хватило памяти.
Память, которая растёт и снова падает на графике, это нормально: Java заполняет свою кучу, а затем её очищает. Всё остальное, что ощущается как лаг, это тик. Сколько RAM нужно серверу Minecraft рассказывает о подборе размера и о том, как панель задаёт кучу Java.
Почему серверы с модами используют так много памяти?
Моды загружаются при запуске и остаются загруженными, поэтому:
- Высокая память при отсутствии игроков онлайн это нормально. Моды находятся в памяти независимо от того, играет ли кто-то. См. Как установить модпак на сервер Minecraft.
- Механизмы продолжают работать. Механизмы, фермы и загрузчики чанков в пределах дальности симуляции или в чанках, удерживаемых загруженными, добавляют работу в каждом тике, находится ли игрок, который их построил, онлайн или нет.
Добавляйте моды по несколько штук, чтобы падение TPS на что-то указывало.
Что сделать, прежде чем покупать тариф побольше
- Снизьте дальность прорисовки и дальность симуляции (например, до 6 и 4; допустимый диапазон от 3 до 32). Измерьте.
- Ограничьте спавн мобов и уберите выброшенные предметы и простаивающие фермы. Измерьте.
- Запустите Профиль 60 с на карточке Состояние сервера, чтобы увидеть, какой плагин или мод отнимает время. Измерьте.
- Если вы запускаете ваниль без модов, подумайте о Paper. Paper сохраняет миры в другом формате, чем ваниль, поэтому сначала сделайте резервную копию. Измерьте.
- И только потом смотрите на тариф.
В нашей аренде сервера Minecraft дальность прорисовки и дальность симуляции находятся в Настройки, Server Properties (Java). Изменить тип сервера на странице Обзор меняет ПО, при этом сервер устанавливается заново. Флаги памяти и сборщика мусора панель задаёт под ваш тариф. Больше шагов: Как уменьшить лаги на сервере Minecraft.
Что если TPS равен 20, а всё равно кажется медленным?
Если TPS в порядке и игра идёт плавно, но игроки видят высокий пинг и запоздавшие попадания, это сетевой лаг: расстояние между этими игроками и сервером. Никакая настройка сервера расстояние не меняет. Если TPS равен 20, игроки близко, а ощущения всё равно неправильные, откройте тикет, указав время, когда это произошло, и что видели игроки.



