Сервер с модами для нескольких друзей работает, когда выполняются три условия: у всех установлены ровно одни и те же моды ровно тех же версий, у сервера хватает памяти на моды, а не на число игроков, и никто ничего не обновляет, пока группа не договорилась и пока не сделан backup. На практике это значит: выбрать одну сборку или один общий список модов, распространять его как профиль лаунчера или файл сборки, а не как список ссылок, давать серверу примерно вдвое больше, чем нужно ванильной игре, и относиться к каждому обновлению как к маленькой миграции. Большая часть проблем, которые люди связывают с серверами на модах, - вылеты при входе, кики из-за «несовпадения модов», миры, которые не загружаются после обновления, - появляется, когда пропускают один из этих пунктов.
Эта статья - для небольшого приватного случая: от четырёх до десяти человек, один мир, без публичного размещения. О безопасности при запуске чужого кода читайте статью Как держать модифицированный сервер в чистоте; про сборки Minecraft подробнее рассказано в статье Minecraft с модами без вылетов.
Как устроены моды в играх, которые обычно выбирают друзья#
Каждая игра работает с модами по-своему, и для группы важнее всего различие в том, как каждый друг устанавливает моды на свой компьютер.
| Игра | Система модов | Как друзья получают одинаковые моды | Память сервера с модами |
|---|---|---|---|
| Minecraft Java | Сборки на Forge, NeoForge или Fabric | Сборка в лаунчере или общий файл сборки | 6-10 ГБ |
| Valheim | BepInEx, Thunderstore | Профиль мод-менеджера, переданный кодом | 4-8 ГБ |
| Terraria | tModLoader | Моды синхронизируются с сервера или из Workshop | 2-6 ГБ |
| Project Zomboid | Steam Workshop | Скачиваются автоматически при входе | 6-10 ГБ |
| Factorio | Mod portal | Предлагаются к загрузке при входе | 2-4 ГБ |
| Don't Starve Together | Steam Workshop | Скачиваются автоматически при входе | 2-4 ГБ |
| RimWorld | Мод мультиплеера плюс список модов | Список модов передаётся и сверяется вручную | 2-4 ГБ |
| Garry's Mod | Коллекции Workshop | Скачиваются при входе | 2-4 ГБ |
Цифры по памяти - отправная точка для небольшой группы с умеренным списком модов, а не гарантия: один тяжёлый мод может их удвоить, и честный ответ для конкретной сборки - запустить её и смотреть на график памяти.
Игры делятся на две группы. В Project Zomboid, DST, Factorio и Garry's Mod сама игра скачивает моды сервера для подключающегося игрока, так что источник истины - сервер, и друзьям почти не о чем думать. В Minecraft, Valheim и RimWorld каждый игрок ставит моды сам, поэтому группе нужен способ сделать все установки одинаковыми. Почти все проблемы вида «у меня работает, а у него нет» случаются во второй группе.
Готовая сборка или свой список#
Опубликованную сборку - сборку Minecraft с CurseForge или Modrinth, профиль Valheim, которым кто-то поделился, - её автор уже протестировал целиком. Версии зафиксированы, конфликты найдены, и часто есть серверная версия сборки. Для группы, которая хочет играть, а не возиться, это правильный выбор. Цена в том, что сборку вы берёте как есть, а удаление модов из неё потом может сломать то, что автор никогда не проверял.
Собственный список даёт группе ровно то, что она хочет, и делает вас ответственным за его тестирование. Это хорошо работает, если кому-то нравится эта роль. Держите список небольшим: двадцать понятных модов лучше двухсот, которые никто не может отладить. Добавляйте моды по одному и играйте одну сессию между добавлениями - тогда, когда что-то сломается, вы будете знать, какое изменение это сделало.
В обоих случаях выбирайте до генерации мира. Многие контентные моды добавляют руды, структуры или биомы, которые появляются только в чанках, сгенерированных после установки мода, так что мод генерации мира, добавленный на третьей неделе, означает долгую прогулку, чтобы найти хоть что-то из него.
Как дать всем одинаковые моды#
Для игр, где моды ставят сами игроки, правило такое: никогда не раздавайте список модов в виде набора ссылок. Раздавайте то, что устанавливает точные версии за один шаг.
- Minecraft. Передайте название и версию сборки в приложении CurseForge, приложении Modrinth или Prism Launcher либо экспортируйте свою сборку в файл (
.mrpackдля Modrinth, zip для CurseForge) и отправьте его. Все импортируют один и тот же файл, и версии совпадают по определению. - Valheim. В r2modman или Thunderstore Mod Manager нажмите «Export profile as code» и вставьте код в чат группы. Каждый друг использует «Import profile from code». На сервере в папке
BepInEx/pluginsдолжны лежать те же моды, которые важны для сервера; какие моды нужны с обеих сторон, описано в статье Моды Valheim с BepInEx. - RimWorld. Передайте список модов в порядке загрузки, в идеале экспортированный из мод-менеджера, и попросите всех подписаться на одни и те же предметы в Workshop. Мод мультиплеера проверяет моды при входе и откажет при несовпадении; рассинхронизация разобрана в статье Мультиплеерный сервер RimWorld.
В играх с автоматической загрузкой работа ложится на сервер. Project Zomboid требует, чтобы каждый мод был указан и в строке WorkshopItems=, и в строке Mods= в ini сервера, а формат этих строк изменился с build 42; подробности - в статье Моды Project Zomboid и Workshop. Don't Starve Together перечисляет ID из Workshop в dedicated_server_mods_setup.lua и включает их для каждого шарда в modoverrides.lua. Garry's Mod использует коллекцию Workshop - об этом статья Garry's Mod: Workshop и FastDL.
Только клиент, только сервер и обе стороны
Каждый мод относится к одному из трёх мест, и если положить его не туда, это самая частая причина вылета при запуске.
- Только клиент - шейдеры, миникарты, изменения интерфейса, звуковые моды. На выделенном сервере их быть не должно. Особенно в Minecraft клиентский мод на сервере часто роняет его при старте, потому что ссылается на код отрисовки, которого на сервере нет.
- Только сервер - инструменты backup, утилиты администрирования, моды производительности, которые затрагивают только симуляцию. Друзьям они не нужны.
- Обе стороны - всё, что добавляет предметы, блоки, существ, рецепты или правила. Тот же мод, та же версия, у всех.
На страницах модов обычно указано, к какому типу они относятся. Если не указано, считайте, что нужен с обеих сторон, и проверяйте.
Установка модов на сервер#
Порядок одинаков для любой игры:
- Один раз запустите сервер без модов, чтобы он создал свои папки, и остановите его.
- Загрузите серверные моды. Для сборки Minecraft используйте серверные файлы от автора сборки, если они есть, а не копируйте папку своего клиента, в которой есть клиентские моды. Zip, загруженный через файловый менеджер панели, обычно можно распаковать на месте - это быстрее, чем загружать сотни мелких файлов.
- Установите или выберите загрузчик модов, который ожидает сборка, той версии, которую она ожидает. Сборка, сделанная под одну версию загрузчика, может отказаться запускаться на другой.
- Запустите сервер и читайте лог, пока он либо не закончит загрузку, либо не остановится. Первый запуск большой сборки может занять несколько минут.
- Пусть сначала зайдёт один друг, а уже потом все остальные.
server/ mods/ mod .jar files, server-relevant only config/ mod settings, generated on first start world/ serverconfig/ per-world settings on Forge and NeoForge user_jvm_args.txt memory flags on Forge and NeoForge server.propertiesМоды записывают свои настройки при первом запуске. Меняйте настройки при остановленном сервере и храните копию config/ вместе с backup-копиями, потому что мир, восстановленный без соответствующих конфигов модов, может вести себя иначе.
На RE:NODE моды загружаются через файловый менеджер или SFTP, архивы можно распаковать на месте, и нет списка одобренных модов, с которым нужно сверяться. Линейка Minecraft настроена под Paper; сборка на Forge, NeoForge или Fabric - это другой тип сервера, поэтому прежде чем покупать под неё тариф, спросите в тикете. Для остальных игр путь установки модов - собственный путь игры, а данные для подключения есть в статье SFTP и файловый менеджер.
Память считают по модам, а не по игрокам#
На ванильном сервере память зависит от игроков и исследованного мира. На сервере с модами память зависит от модов. Сборка Minecraft на 250 модов может занимать 5 ГБ при одном игроке онлайн, и четвёртый друг почти ничего к этому не добавит. Factorio, Valheim и DST гораздо легче, но контентные моды всё равно увеличивают расход памяти с каждой новой вещью, которую добавляют в мир.
| Группа и моды | Minecraft | Valheim | Project Zomboid |
|---|---|---|---|
| 2-4 друга, лёгкий список (до 30 модов) | 4-6 ГБ | 3-4 ГБ | 4-6 ГБ |
| 4-8 друзей, средний список | 6-8 ГБ | 4-6 ГБ | 6-8 ГБ |
| Большая сборка (150+ модов) | 8-12 ГБ | 6-8 ГБ | 8-10 ГБ |
Два момента справедливы везде. Во-первых, если отдать Java-серверу всю память тарифа под heap, на остальной процесс ничего не останется; оставьте запас примерно в 1 ГБ или больше. Почему - объясняет статья Сколько RAM нужно серверу Minecraft. Во-вторых, для миров с модами CPU важен не меньше памяти: моды на автоматизацию, машины и большие фермы нагружают главный поток, а это одно ядро, сколько бы их ни было в тарифе. Понять, чего именно вам не хватает, поможет статья CPU или RAM для игровых серверов.
На RE:NODE сервер, упёршийся в лимит памяти, останавливается и чисто перезапускается, а не уходит в swap, поэтому слишком маленький сервер с модами проявляется перезапусками, а не постепенной деградацией, - и всё, что не успело сохраниться, в этот момент теряется. Переход на тариф выше меняет лимиты у уже существующего сервера, так что мир остаётся на месте.
Обновления без поломки мира#
Именно здесь серверы с модами и умирают. Патч игры ломает моды; обновление мода меняет формат мира; кто-то обновил свой клиент и больше не может зайти.
- Отключите автоматические обновления игры и модов. Обновляйтесь осознанно, всей группой.
- Делайте backup перед каждым обновлением - мир и папку с модами вместе. Мир, восстановленный без тех версий модов, с которыми он был сохранён, может не загрузиться.
- Обновляйте всех одновременно. Выберите вечер, обновите сервер, обновите общий профиль или сборку и попросите всех заново импортировать её перед входом.
- Никогда не удаляйте контентный мод из живого мира, не проверив, что он добавляет. Блоки, предметы и существа из удалённого мода обычно стираются из мира при загрузке - вместе со всем, что хранилось в сундуках или машинах из этого мода.
- Выждите неделю после крупного патча игры. Авторам модов нужно время; первый день крупного патча - это день, когда сломано всё.
Если обновление всё-таки сломало сервер, откатитесь на backup и подождите, пока моды догонят игру. Шаги диагностики - в статье Что делать, если обновление мода всё сломало.
Как сохранить приватность#
Серверу для друзей не нужно быть доступным для поиска, а отсутствие в публичных списках убирает большую часть работы по модерации.
- Включите whitelist или пароль, если игра его использует. В Minecraft это
white-list=trueиenforce-whitelist=trueплюсwhitelist addдля каждого друга; в Valheim - пароль и, при желании,permittedlist.txt. - Оставьте публичное размещение выключенным:
-public 0в Valheim, никаких записей в браузерах сообщества. - Делитесь адресом в закрытом групповом чате, а не в публичных каналах или на скриншотах.
- Дайте одному-двум друзьям, которые помогают вести сервер, собственный доступ к панели только с нужными им правами, а не свой аккаунт. Как это сделать, описано в статье Субпользователи и минимальные права.
Скачивайте моды только с официальных платформ - CurseForge, Modrinth, Thunderstore, Nexus, Steam Workshop, собственного портала игры. Перезаливы на случайных сайтах - обычный источник вредоносного кода в моддинге, а сервер с модами выполняет каждый мод с правами сервера.
Когда что-то сломалось#
Сервер падает при запуске. Прочитайте конец лога. Обычные причины, по порядку: клиентский мод на сервере, отсутствующая зависимость (мод-библиотека, нужная другому моду), не та версия загрузчика или недостаток памяти для сборки.
Друга кикает при входе из-за несовпадения модов. Его набор модов отличается от серверного. Пусть он заново импортирует общий профиль или сборку, а не чинит всё мод за модом.
Мир загружается, но чего-то не хватает. Контентный мод удалили или он не загрузился. Поищите в логе моды, которые выдали ошибку при загрузке, и восстановитесь из backup, сделанного перед изменением.
Работает, но с каждым днём медленнее. В мирах с модами накапливаются сущности, машины и загруженные чанки. Помогает перезапуск по расписанию, а также поиск фермы или машины, которая обходится дороже всего; когда перезапуск маскирует реальную проблему, рассказано в статье Расписание перезапусков, которое помогает.
Всё было нормально, а теперь никто не может зайти. У кого-то автоматически обновилась игра или лаунчер. Зафиксируйте версии в лаунчере и договаривайтесь об обновлениях всей группой.
FAQ#
Сколько RAM нужно серверу с модами на четырёх друзей?
Для средней сборки Minecraft - около 6-8 ГБ. Для Valheim или Project Zomboid с умеренным списком модов - примерно 4-6 ГБ. Память зависит от списка модов больше, чем от числа игроков, поэтому запустите сервер, понаблюдайте за графиком памяти во время обычной сессии и рассчитайте по нему.
Нужно ли друзьям тоже ставить моды?
Для модов, которые добавляют контент или меняют правила, - да, той же версии. В Project Zomboid, Don't Starve Together, Factorio и Garry's Mod игра скачивает их при входе; в Minecraft, Valheim и RimWorld каждый игрок ставит их сам, в идеале из общего профиля или файла сборки.
Можно ли добавлять моды в уже начатый мир?
Для большинства модов обычно можно, хотя контент генерации мира появится только в новых исследованных областях. Опасное направление - удаление контентного мода из существующего мира, потому что его предметы и блоки обычно удаляются. В любом случае сначала сделайте backup.
Должен ли сервер с модами обновляться автоматически?
Нет. Автоматические обновления - главная причина, по которой серверы с модами ломаются за ночь. Обновляйте игру и моды осознанно, после backup, и пусть все обновят клиент в тот же вечер.
Дешевле ли держать сервер с модами дома?
Если у вас есть свободный компьютер с достаточным объёмом памяти и интернет, где можно пробросить порты, - может быть. Расходы - это электричество, компьютер, который должен быть включён всякий раз, когда кто-то хочет поиграть, и ваш домашний адрес в роли адреса сервера. Расчёты - в статье Сервер дома или аренда.




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