При онлайне свыше 50 человек стандартный сервер Minecraft начинает терять TPS (Ticks Per Second), что приводит к «откатам» блоков и задержке ввода. Оптимизация конфигов позволяет снизить нагрузку на CPU на 30-40% без потери игрового опыта, даже если вы используете тяжелые сборки.
Выбор ядра: почему Vanilla и Forge проигрывают
Использование Vanilla-сервера для публичного проекта — фатальная ошибка: он однопоточный и не имеет инструментов оптимизации сущностей. Переход на PaperMC или Purpur дает прирост производительности до 25% за счет переработки алгоритмов просчета освещения и обработки пакетов. Если вам нужны моды, используйте Fabric с установленным модом Lithium, который оптимизирует физику игры без изменения её механик.
Кейс: при переходе с Forge на Fabric + Lithium нагрузка на процессор при 30 игроках упала с 85% до 55% при идентичном железе. Экспертный вывод: для любого сервера с онлайном 20+ забудьте о Vanilla, ваш выбор — Purpur или Fabric.
Тонкая настройка server.properties и spigot.yml
Ключевой параметр — view-distance. Стандартные 10 чанков создают избыточную нагрузку; снижение до 4-6 чанков сокращает объем передаваемых данных в 2-3 раза. В spigot.yml необходимо ограничить spawn-limits: уменьшите количество монстров с 70 до 30-40. Это предотвратит резкие скачки нагрузки (lag spikes) при генерации новых территорий.
Практика показывает, что установка параметра entity-activation-range (например, 32 для монстров и 16 для животных) позволяет серверу «замораживать» сущностей, которые находятся далеко от игрока, что экономит до 15% ресурсов CPU. Экспертный вывод: режьте дистанцию прорисовки безжалостно, игроки этого не заметят, а сервер скажет спасибо.
Оптимизация памяти и флаги запуска Java
Ошибкой является выделение слишком большого объема RAM (например, 32 ГБ на 10 человек), что приводит к длительным паузам Garbage Collector (GC) и «фризам» всего сервера. Оптимальный объем для большинства серверов — от 4 до 12 ГБ. Вместо стандартного запуска используйте Aikar's Flags — набор параметров JVM, которые оптимизируют работу с памятью и минимизируют Stop-the-World паузы.
Пример: сервер с 16 ГБ RAM на стандартных флагах имел микро-фризы каждые 40 секунд; после применения Aikar's Flags время отклика стабилизировалось, а TPS зафиксировался на отметке 19.9. Экспертный вывод: качество RAM и правильные флаги важнее, чем её количество.
Борьба с лагами через Paper.yml и Purpur.yml
В файле paper.yml критически важно настроить параметр max-entity-collisions. Снижение этого значения с 8 до 2-4 предотвращает лаги, когда 50 коров заперты в одном блоке, что может уронить TPS до 5-10 за секунды. Также рекомендую отключить генерацию освещения в реальном времени для старых чанков (use-lighting-engine: true в новых версиях), что разгружает главный поток.
Мини-кейс: на сервере с 100+ активными фермами жителей перенастройка лимитов на коллизии и ограничение частоты обновления тиков для мобов увеличило стабильность FPS у игроков на 20%. Экспертный вывод: автоматизация и фермы — главные враги TPS, ограничивайте их через конфиги.
Вывод
Для максимальной производительности начните с установки ядра Purpur и применения Aikar's Flags — это база, которая убирает 60% проблем. Избегайте чрезмерного выделения RAM и стандартных настроек view-distance. Если после всех правок лаги остаются, значит, вы уперлись в однопоточную производительность CPU (Single-core performance), и единственным выходом станет переход на более дорогое железо с высокой тактовой частотой от 4.5 ГГц.