Оптимизация сервера Майнкрафт — лагает сервер, низкий TPS
Лагает сервер Майнкрафт — почему и что делать. TPS, MSPT, плагины оптимизации, настройки.
Сервер лагает — самая частая жалоба админов. Решается на 90% правильной настройкой и подбором ядра/плагинов. Разберём что измерять и как чинить.
Что такое TPS и MSPT
- TPS (Ticks Per Second) — сколько тиков в секунду успевает обработать сервер. 20.0 = идеал. Ниже 18 — заметные лаги
- MSPT (Milliseconds Per Tick) — сколько миллисекунд занимает один тик. ≤50 мс = норма. Выше — TPS падает
Команды для проверки: /tps (есть в Paper, Purpur), /mspt (Paper), /timings paste для детального отчёта. Если TPS уже просел и нужна пошаговая диагностика — смотрите низкий TPS: что делать.
Главные причины лагов
1. Неправильное ядро
Vanilla и Spigot устарели. Используйте Paper (быстрее на 30-50%) или Purpur (форк Paper с доп. оптимизациями) для большинства серверов. Подробнее — сравнение ядер.
2. Слишком много мобов и сущностей
Каждая сущность ест CPU. Проверьте /timings paste — обычно EntityActivity съедает 30-60% времени тика.
- В
spigot.ymlуменьшите mob-spawn-range до 4 (по умолчанию 8) - В
bukkit.ymlустановите spawn-limits: monsters=15, animals=5, water-animals=3 (вместо 70/10/15) - Удалите бесконтрольные фермы мобов игроков (или ограничьте через WorldGuard flag mob-spawning=deny)
3. Плагины-тяжеловесы
Timings покажет какие плагины съедают время. Самые проблемные:
- Старые версии EssentialsX — оптимизируется в EssentialsX
- Тяжёлые экономики (плохо настроенные SQL)
- Dynmap с большой картой — выносите на отдельный поток
- Любые NMS-плагины для устаревших версий
4. View distance
В server.properties снизьте view-distance=8 (по умолчанию 10). Это квадратичная экономия — 10→8 это -36% чанков!
В Paper есть simulation-distance отдельно — установите 6, а view-distance оставьте 10. Игроки увидят далеко, но мобы и редстоун будут симулироваться только в радиусе 6.
5. Мало RAM или плохой GC
Запускайте JVM с правильными флагами — Aikar's flags (генератор оптимальных параметров). Главное:
-Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
Xms = Xmx (одинаковые) — иначе JVM постоянно перевыделяет память.
6. Чанк-генерация при путешествии
Когда игрок улетает на элитрах в новые места — сервер генерирует чанки на лету. Сильный лаг.
- Сделайте предгенерацию мира через Chunky:
/chunky radius 5000 → /chunky start - Установите
worldborder— например/worldborder set 10000
7. AsyncWorldEdit, BetonQuest и тяжёлые операции
Если кто-то делает //set на 10 миллионов блоков — сервер встанет. Используйте FastAsyncWorldEdit (FAWE) вместо обычного WorldEdit.
Полезные плагины оптимизации
- Spark — лучший профайлер. Команда
/spark profiler— точно покажет что лагает - ClearLag / LagAssist — авточистка предметов и сущностей по таймеру
- FarmLimiter — ограничивает количество мобов в одной точке
- EntityCulling — не рендерит/не симулирует невидимых мобов
- Pufferfish — форк Purpur с ещё большей оптимизацией
Чек-лист админа при лагах
- Замерь
/tpsи/mspt - Запусти
/spark profiler --timeout 60— посмотри топ потребителей - Посмотри
/timings paste— отправь админу ссылку для анализа - Проверь количество сущностей —
/lagg entity - Снизь view-distance и mob spawn-limits
- Перейди на Paper/Purpur если на Spigot
- Добавь Aikar's flags в startup script
- Сделай предгенерацию мира
Когда нужен апгрейд железа
Если оптимизация не помогает — нужно мощнее. Серверу Майнкрафт нужен сильный одно-поточный CPU (Майнкрафт почти не масштабируется по ядрам). Лучшее железо:
- Ryzen 7950X / Intel i9-14900K — топ для крупных серверов
- Ryzen 5800X / 7700X — оптимум цена/производительность
- 3.5+ ГГц одно ядро — минимум для 50+ игроков
Готовый хостинг с топовым железом и MC-оптимизацией — PteroHost (Ryzen + NVMe + Paper из коробки).
После настройки сервера — добавьте его в наш мониторинг, чтобы игроки находили вас по фильтрам. Игроки подключаются через любой лаунчер, включая MineLauncher.
