Модовый сервер может показывать 20 TPS, пока все стоят на месте, и развалиться в момент, когда трое игроков поехали в разные стороны. Поэтому лучшие настройки сервера для модпака — это не «выдать Minecraft побольше памяти». Это контроль над тем, сколько работы сервер выполняет за тик: генерация мира, ИИ энтити, машины из модов, загрузка чанков и обращения к диску.

Для приватной сборки с друзьями можно смело брать больший радиус исследования. Для публичного сервера на 20 человек предсказуемый TPS важнее, чем возможность каждому одновременно генерировать свой континент. Начните со стабильной базы, замерьте, что происходит под реальной нагрузкой, и меняйте по одному параметру.

Железо под модовый Minecraft

Модовая игра необычно чувствительна к частоте процессора. Память определяет, хватает ли серверу места под загруженные чанки, моды и данные игроков, но медленное ядро остаётся медленным ядром. Когда тик длится слишком долго, лишние гигабайты его не спасают.

Для большинства современных сборок на Forge и Fabric планируйте высокую однопоточную производительность, диски NVMe и память с запасом под пак и активных игроков. NVMe важен, потому что модпаки постоянно дёргают диск: региональные файлы, данные игроков, бэкапы, генерация чанков. Медленное хранилище превращает телепорты, исследование и рестарты в заметные подтормаживания.

Практический ориентир: 6 ГБ рабочи для лёгких сборок и небольшой компании. Средним и тяжёлым пакам комфортнее на 8–10 ГБ. Крупным kitchen-sink сборкам, обжитым мирам и сообществам с несколькими измерениями обычно нужно 12 ГБ и больше. Только не прыгайте вслепую на максимум: если отдать Java почти всю доступную память, окружению не останется запаса, а паузы сборки мусора станут заметнее. Прикинуть свой объём помогает разбор памяти под модпаки и калькулятор RAM.

Тарифы Elysium на Ryzen и EPYC собраны вокруг того, что решает, когда тики дорожают: ровная производительность процессора плюс NVMe Gen4 для быстрых чтений и записей мира.

Правильная Java и выделение памяти

Прежде чем править конфиги, убедитесь, что версия Java соответствует версии Minecraft и требованиям загрузчика. Многие паки на 1.18–1.20.4 ждут Java 17, а сборки на 1.20.5 и новее обычно требуют Java 21. Неверная Java даёт сбои запуска, случайные ошибки модов и просадки, которые выглядят как проблема сервера.

Минимум и максимум памяти задавайте осознанно. Для тарифа с 8 ГБ разумная отправная точка — -Xms6G -Xmx7G, а не -Xmx8G. Так у машины остаётся воздух, а куче Java всё ещё хватает места под сборку. Если Java-флагами управляет хостер, держитесь рекомендаций панели, а не строки, скопированной из старого форумного треда.

Современная сборка мусора обычно нормально живёт на G1GC, который во многих развёртываниях идёт по умолчанию. Продвинутые JVM-флаги помогают в отдельных случаях, но это не волшебная кнопка TPS. Если профайлер показывает, что один мод съедает 60 мс на тик, никакой набор флагов это не вылечит. Сначала чините саму нагрузку.

Настройки, от которых зависит стабильность тика

Самые действенные параметры производительности лежат в server.properties. Они убирают лишнюю симуляцию, не трогая сам пак.

Дальность прорисовки — реалистичная

View distance 8–10 — крепкий дефолт для большинства модовых серверов. При 10 каждый игрок держит активной большую область чанков, и цена быстро умножается, когда люди расходятся. 16 чанков отлично выглядят на скриншотах, но на модовом сервере это дорого: в каждом загруженном чанке могут быть машины, мобы, посевы, трубы и тикающие блоки.

Если TPS падает, когда игроки исследуют мир, первым делом опустите view-distance до 8. Разницу почти никто не заметит — в отличие от сервера, который замирает во время генерации местности.

Simulation distance опускают раньше view distance

simulation-distance определяет, насколько далеко сервер активно обсчитывает чанки. Именно там растут посевы, двигаются мобы, работает редстоун и тикает половина модовых блоков. Для большинства сборок хватает 4–6. Игрок по-прежнему видит дальше зоны симуляции, а сервер делает меньше работы.

Хорошая стартовая комбинация — view distance 8 и simulation distance 5. Если сообщество завязано на дальние фермы и чанклоадеры, поднимайте simulation distance осторожно и следите за TPS в час пик.

Честный лимит игроков

max-players должен отражать ваше железо и пак, а не красивую цифру в мониторинге. Десять активных игроков в разных измерениях грузят сервер сильнее, чем тридцать человек на спавне. Начните с лимита, который сервер точно тянет, и поднимайте после реального нагрузочного теста.

На время сборки и тестов включите вайтлист. Это избавит от сюрпризов, когда период настройки внезапно превращается в стресс-тест.

Настройки — это бюджет производительности

У тика есть 50 мс, и вы решаете, на что их тратить. Дальность прорисовки, симуляция, чанклоадеры, мобкапы и скорость машин тянут из одного кошелька. Тратьте на тот геймплей, ради которого игроки пришли в пак, и не платите за чанки и системы, которыми никто не пользуется.

Не дайте генерации мира съесть каждый тик

Новая местность — один из главных источников модовых лагов. Каждому неисследованному чанку могут понадобиться структуры, руды, расчёты биомов, модовые фичи и правила нескольких датапаков. Когда несколько игроков летят в разные стороны на ускоряющем снаряжении, сервер тратит на создание чанков больше времени, чем на саму игру.

Предгенерируйте область, в которой будут играть, до открытия сервера. Конкретный инструмент зависит от загрузчика и версии, но цель одна: заранее создать Верхний мир, Нижний мир, Край и основные модовые измерения. Запускайте генерацию, пока игроков нет, и перезапустите сервер перед стартом. Подробнее механика разобрана в гайде про снижение нагрузки от чанков.

Поставьте границу мира, если у проекта есть понятная игровая зона. Дело не в том, чтобы сделать мир тесным. Граница задаёт предел нагрузки и делает управляемыми размер бэкапов, расход диска и саму предгенерацию. Расширить её всегда можно на плановом обслуживании.

Не оставляйте чанклоадеры без ограничений. Несколько общественных машин — нормально. Десятки постоянно загруженных баз с производственными линиями — нет. Почти в каждом паке есть лимиты на загрузку чанков, и они должны быть привязаны к реальной ёмкости сервера.

Настраивайте моды, а не только Minecraft

Самая тяжёлая проблема модового сервера обычно живёт внутри самого пака. Один криво настроенный мод на мобов, карьер, сеть труб, контроллер хранилища или автоматическая ферма способны создать больше лагов, чем все ванильные настройки вместе взятые.

Пройдитесь по серверной папке конфигов пака до запуска. Смотрите параметры мобкапов, скорости работы машин, частоты генерации структур, чанклоадеров, фейковых игроков и лимитов энтити. Сначала оставляйте дефолты автора пака, если они явно не рассчитаны на одиночную игру. Дальше подстраивайте под то, что игроки реально строят.

Например, снижение мобкапа враждебных мобов может улучшить производительность на боевом паке, но сломать прогрессию, если игрокам нужны дропы. Замедление машин защищает TPS, но делает техпак гриндовым. Правильная настройка — та, что бережёт здоровье сервера, не убивая причину, по которой люди пришли в этот пак.

Когда TPS падает, снимайте профиль. Spark — распространённый выбор на поддерживаемых загрузчиках, инструменты в духе timings помогают найти дорогие энтити и моды. Профилируйте во время лага, а не после того, как он прошёл. Вы ищете доказательства: измерение, съедающее тики, тысячи предметов на земле, конкретный блок-энтити или один кластер машин. Полный порядок действий — в гайде по оптимизации модового сервера.

Берегите мир, пока оптимизируете

Тюнинг производительности — это тесты, рестарты, правки конфигов и иногда ошибки. Автоматические бэкапы на модовом мире не обсуждаются. Держите несколько точек восстановления и по возможности храните копии отдельно от живого сервера.

Перед изменением конфигов копируйте текущие файлы и записывайте, что поменяли. Простая заметка вроде «simulation distance 6 → 5» делает откат безболезненным. Не правьте файлы мира и не выдёргивайте моды из обжитого сохранения, не убедившись, что пак это переживёт: пропавшие ID блоков и измерения ломают мир куда быстрее, чем низкий TPS.

Активным сообществам полезны плановые рестарты. Перезапуск раз в 12–24 часа сбрасывает накопленное потребление памяти и делает обслуживание предсказуемым, а вот рестарт каждый час просто прячет нерешённую проблему. Если память растёт бесконечно или TPS деградирует после захода конкретного игрока — профилируйте и лечите причину.

База, с которой можно стартовать

Для типичного среднего пака на Forge или Fabric начните с Java 17 или 21 по требованию сборки, 8–10 ГБ выделенной памяти, view distance 8, simulation distance 5, вайтлиста и предгенерированного основного мира. Лимиты чанклоадеров — консервативные, автоматические бэкапы — включены, лимит игроков — честный.

Эта база не универсальна. Лёгкий приключенческий пак прекрасно поедет с большей дальностью прорисовки, а фабричная сборка с вечно работающими машинами потребует более жёстких правил симуляции. Относитесь к настройкам как к бюджету производительности: тратьте его на тот геймплей, который ценит ваше сообщество.

Цель не в том, чтобы выкрутить каждый параметр в максимум. Цель — сервер, который остаётся отзывчивым, когда игроки одновременно исследуют мир, автоматизируют производство, бьют боссов и хвастаются базами. Когда мир держит 20 TPS в таких условиях, игроки перестают думать о хостинге и возвращаются к игре. Как это выглядит на практике — в гайде про запуск модпаков без рывков.

Модпак на железе, которое тянет

Elysium держит модовые сборки на высокочастотных Ryzen и EPYC с NVMe Gen4, автоматическими бэкапами и панелью, где Java, память и конфиги правятся в пару кликов. Выберите тариф на странице заказа или закажите перенос пака, который лагает на другом хостинге.