MAATRIX GAMES / Блог / Necesse: топ модов для сервера

Necesse: топ модов для сервера

MAATRIX GAMES

После полусотни часов в Necesse ванильный цикл «покопать — построить — отбить нашествие» начинает ощущаться предсказуемым, и рука сама тянется в Steam Workshop за чем-то, что оживит привычный мир. Проблема в том, что на дедике мод — это не косметика для одного игрока, а общий слой поверх сохранения, от которого зависит вся команда: поставил не то, обновил не вовремя — и сервер либо не грузит мир, либо у половины отряда разъезжается баланс. Разберём, какие категории модов реально есть в Necesse, чем они рискуют и как выбирать конкретный мод в Workshop, не полагаясь на удачу.

Как в Necesse устроены моды: Steam Workshop, .jar и modlist.data

Necesse написана на Java, и это определяет весь местный модинг: никакого внешнего лоадера вроде Forge или BepInEx ставить не нужно, поддержка модов встроена прямо в игру, а сами моды распространяются как .jar-файлы через Steam Workshop. Для одиночной игры или домашнего хоста это выглядит просто — подписался на мод в Workshop, он появился в списке в меню игры, включил галочкой.

На dedicated-сервере подписки Steam Workshop через клиент не работает — сервер запускается отдельным процессом без клиентской сессии Steam. Рабочая схема: скачать .jar мода через клиент (подписка в Workshop скачивает файл в папку мода вашей Steam-библиотеки), а затем вручную скопировать этот файл на сервер, в папку mods в корне установки — если вы разворачивали сервер по нашей инструкции, это ~/necesse/mods. Список модов и их порядок загрузки сервер хранит в файле modlist.data рядом с папкой mods — он создаётся и обновляется автоматически при старте, вручную его правят редко, разве что для точечного отключения конкретного мода.

~/necesse/
├── StartServer-nogui.sh
├── mods/
│   ├── SomeBalanceMod.jar
│   └── SomeContentMod.jar
└── modlist.data

Если сервер ещё не поднят — базовая установка через SteamCMD и systemd разобрана в статье как поднять сервер Necesse, всё дальнейшее предполагает, что этот шаг уже пройден.

Категория «баланс и прогрессия»

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

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

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

Что меняетРиск конфликтаКогда применять
Одиночный параметр (шанс дропа, скорость крафта)НизкийВ любой момент, на существующем мире
Таблицы рецептов и профессийСредний, если несколько модов правят одни рецептыЛучше сразу при создании мира
Генерация мира (биомы, подземелья)Низкий сам по себе, но задним числом не действуетТолько на новом мире

Поднять сервер Necesse за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Категория QoL: меньше рутины, больше кооп-фана

Quality of Life — моды, которые не меняют смысл игры, а убирают механическую рутину: автоматический подбор дропа при подходе, быстрая сортировка сундуков, расширенные слоты сумки, ускоренная постройка нескольких одинаковых блоков подряд без переоткрытия меню, более удобный интерфейс крафта с фильтрами по категориям. На кооп-сервере с несколькими активными игроками именно QoL обычно даёт наибольший прирост удовольствия на единицу риска — такие моды затрагивают локальный интерфейс и отдельные функции, а не общие игровые таблицы, поэтому реже конфликтуют между собой и легче переживают обновления движка.

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

Категория «новый контент»: существа, постройки, механики

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

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

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

Как выбирать мод в Workshop, чтобы не словить краш после патча

Каталог Workshop меняется активнее, чем любая статья с фиксированным списком, поэтому вместо конкретных названий — рабочий чек-лист, по которому стоит прогонять любой мод перед установкой на боевой сервер:

  1. Дата последнего обновления мода — сверьте её с датой последнего патча самой Necesse. Мод, не обновлявшийся месяцами после крупного апдейта игры, — кандидат на краш при загрузке мира.
  2. Раздел обсуждений на странице мода — свежие комментарии про краши или несовместимость с текущей версией красноречивее любого описания в шапке страницы.
  3. Зависимости мода — часть модов Necesse требует базовую библиотеку-фреймворк как отдельную зависимость в Workshop; если она не подписана и не установлена на сервере, зависимый мод либо не загрузится, либо упадёт на старте.
  4. Число подписчиков и оценка — не гарантия качества, но грубый фильтр: у мода с единицами подписчиков и без обновлений больше года риск заброшенности выше.
  5. Пересечение с уже установленными модами — если два мода правят одну и ту же систему (например, оба меняют рецепты кузницы), читайте обсуждения на предмет известных конфликтов заранее, а не постфактум через бисекцию по логам.

Общий принцип «свежая находка против проверенного временем варианта» работает не только для Minecraft-модпаков — тот же выбор встаёт и здесь, просто источник другой; сама логика компромисса разобрана в статье свежий модпак или проверенный временем — что выбрать.

Установка на сервер: подписка, копирование и синхронизация с игроками

Пошагово, для дедика на Linux:

  1. В клиенте Necesse откройте раздел Workshop, найдите нужный мод и подпишитесь — файл .jar скачается в папку мода вашей Steam-библиотеки.
  2. Скопируйте этот .jar на сервер, в ~/necesse/mods/:
scp SomeMod.jar user@your-server-ip:~/necesse/mods/
  1. Остановите сервер, если он запущен, и перезапустите — при старте сервер сам подтянет новый файл из mods/ и обновит modlist.data:
sudo systemctl restart necesse
journalctl -u necesse -f
  1. Проверьте лог на предмет строк о загрузке мода и отсутствии ошибок инициализации сразу после запуска — если сервер падает именно на этом этапе, а не при подключении игрока, дело почти наверняка в самом моде.
  2. Сообщите игрокам подписаться на тот же мод той же версии в своём клиенте — без этого при попытке подключения игра сообщит о несовпадении списка модов между клиентом и сервером.

На данный момент серверная сборка Necesse не тянет моды из Workshop сама по себе через отдельный вызов вроде workshop_download_item в SteamCMD, как это делают некоторые Source-игры — рабочий путь именно ручной, через копирование .jar. Если после добавления мода сервер перестал грузить мир — пошаговая бисекция для поиска виновника есть в статье краш сервера при загрузке мира, а общий подход к тому, обновлять ли моды автоматически вместе с сервером или разносить эти шаги по времени, разобран в статье автообновление модов на сервере.

Поднять сервер Necesse за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Можно ли добавить мод на уже действующий мир без потери сохранения?

QoL-моды и точечные балансные правки обычно безопасны на существующем мире. Моды на генерацию мира, новых боссов и подземелья задним числом на уже открытых чанках не сработают — эффект будет только на неисследованных территориях.

Обязательно ли игрокам ставить те же моды, что и на сервере?

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

Есть ли лимит на количество модов на сервере?

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

Что делать, если сервер упал сразу после установки нового мода?

Остановите сервер, временно уберите из mods/ только что добавленный файл и перезапустите — если мир снова грузится, проблема локализована, и дальше остаётся проверить страницу мода на Workshop на предмет актуальной версии под вашу сборку игры.

Нужен ли мощный тариф под сервер с модами или хватит того же, что и для ванильного мира?

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