Добавление модов
Это руководство описывает установку модов на выделенный сервер Project Zomboid: автоматическую загрузку из Steam Workshop, ручную установку модов, формат Mods для Build 41 и Build 42, модовые карты и частые ошибки при запуске.
Перед добавлением модов
Перед изменением списка модов сделайте резервную копию мира. Особенно это важно, если сервер уже активно используется игроками.
Моды могут добавлять новые предметы, тайлы, транспорт, рецепты и карты. Если такой мод удалить или заменить несовместимой версией, сохранение может получить ошибки словаря мира или повреждённые объекты.
Основной файл настроек сервера:
.cache/Server/{server_name}.iniЕсли имя сервера в Startup:
servertestто файл будет:
.cache/Server/servertest.iniАвтоматическая загрузка модов Steam Workshop
Наш сайт уже изначально поддерживает автоматическую загрузку модов из Steam Workshop для серверов Project Zomboid.
Это значит, что Workshop-моды не нужно вручную скачивать, распаковывать и загружать на сервер. Достаточно правильно заполнить две строки в конфиге сервера:
WorkshopItems=
Mods=После запуска сервер сам скачает указанные элементы Steam Workshop, разместит их в нужных директориях и подключит к серверу.
Загрузка выполняется при запуске сервера. Если список модов большой, первый запуск после изменения WorkshopItems может занять несколько минут.
Workshop ID и Mod ID
Для каждого Workshop-мода нужны два разных идентификатора:
Workshop ID— числовой ID из ссылки Steam Workshop;Mod ID— внутренний ID мода, указанный автором в описании мода или в файлеmod.info.
Пример ссылки Workshop:
https://steamcommunity.com/sharedfiles/filedetails/?id=2392987841В этом примере Workshop ID:
2392987841Mod ID не всегда совпадает с Workshop ID. Его нужно брать из описания мода или из файла mod.info.
Формат WorkshopItems
WorkshopItems содержит числовые Steam Workshop ID, разделённые точкой с запятой.
WorkshopItems=2392987841;1550458773;2786383654Этот формат одинаковый для Build 41 и Build 42.
Формат Mods для Build 41
В Build 41 строка Mods использует обычные Mod ID через точку с запятой.
Mods=ModID1;ModID2;ModID3Пример:
WorkshopItems=2392987841;1550458773
Mods=BetterSortCC;AuthenticZLiteФормат Mods для Build 42
В Build 42 во многих сборках используется формат с обратным слэшем перед каждым Mod ID.
Mods=\ModID1;\ModID2;\ModID3Пример:
WorkshopItems=2392987841;1550458773
Mods=\BetterSortCC;\AuthenticZLiteОбратный слэш должен быть именно таким:
\Не используйте прямой слэш /, запятые или Workshop ID вместо Mod ID.
Формат DLMP для Build 42
В некоторых конфигурациях Build 42 используется DLMP-формат, где Workshop ID и Mod ID указываются одной связкой.
2392987841\ModID1;1550458773\ModID2;2786383654\ModID3;Если ваша сборка использует обычные строки WorkshopItems и Mods, DLMP вручную указывать не нужно. Используйте тот формат, который уже применяется в вашем текущем конфиге.
Порядок Mods и WorkshopItems
Порядок в Mods и WorkshopItems должен соответствовать друг другу.
Пример:
WorkshopItems=1111111111;2222222222;3333333333
Mods=FirstMod;SecondMod;ThirdModЗдесь:
FirstModотносится к1111111111;SecondModотносится к2222222222;ThirdModотносится к3333333333.
Если один Workshop-предмет содержит несколько sub-mods, в Mods нужно указывать нужные внутренние Mod ID из этого Workshop-предмета.
Добавление Workshop-модов
Для Workshop-модов редактируется файл:
.cache/Server/{server_name}.iniНайдите строки:
WorkshopItems=
Mods=Пример для Build 41:
WorkshopItems=2392987841;1550458773
Mods=BetterSortCC;AuthenticZLiteПример для Build 42:
WorkshopItems=2392987841;1550458773
Mods=\BetterSortCC;\AuthenticZLiteПосле изменения сервер нужно запустить. При старте он автоматически скачает Workshop-предметы.
Большие списки модов
Не добавляйте большой список модов одной правкой на рабочий сервер. Нормальная практика — добавлять по 3–5 модов и проверять запуск.
Список из 50+ Workshop-предметов может заметно увеличить время первого запуска. Пока сервер скачивает моды, не перезапускайте его несколько раз подряд: это может оборвать загрузку и оставить повреждённый Workshop-кэш.
Ручная установка модов
Ручной способ нужен для модов, которых нет в Steam Workshop, или для тестовых/локальных версий модов.
Для обычных Workshop-модов используйте автоматическую загрузку через WorkshopItems и Mods.
Куда загружать ручные моды
Ручные моды загружаются в папку:
.cache/mods/Полный путь обычно выглядит так:
/home/container/.cache/mods/Внутри должна лежать папка мода с файлом mod.info.
Правильно:
.cache/mods/MyManualMod/mod.infoНеправильно:
.cache/mods/MyManualMod.zip
.cache/mods/MyManualMod/MyManualMod/mod.infoКак найти Mod ID ручного мода
Откройте файл:
mod.infoПример:
name=My Manual Mod
id=MyManualMod
description=Example mod
poster=poster.pngЗначение после id= — это Mod ID.
MyManualModКак подключить ручной мод
Ручной мод добавляется только в строку Mods. В WorkshopItems его добавлять не нужно, потому что у него нет Steam Workshop ID.
Build 41:
Mods=MyManualModBuild 42:
Mods=\MyManualModЕсли на сервере уже есть Workshop-моды, ручной мод добавляется в общий список Mods.
Build 41:
WorkshopItems=2392987841;1550458773
Mods=WorkshopModID1;WorkshopModID2;MyManualModBuild 42:
WorkshopItems=2392987841;1550458773
Mods=\WorkshopModID1;\WorkshopModID2;\MyManualModМодовые карты
Для модовой карты недостаточно указать только Mods и WorkshopItems.
Обычно нужно настроить:
WorkshopItems— Workshop ID карты, если карта из Steam Workshop;Mods— внутренний Mod ID карты;Map— название карты;{server_name}_spawnregions.lua— стартовые регионы, если карта добавляет свои точки появления.
Пример для Build 41:
WorkshopItems=1234567890
Mods=MyMapMod
Map=MyMapName;Muldraugh, KYПример для Build 42:
WorkshopItems=1234567890
Mods=\MyMapMod
Map=MyMapName;Muldraugh, KYМодовые карты обычно ставятся перед ванильной картой Muldraugh, KY.
spawnregions.lua для модовых карт
Файл стартовых регионов:
.cache/Server/{server_name}_spawnregions.luaЕсли карта установлена, но игроки не видят её при выборе точки старта, проверьте этот файл.
Некоторые карты требуют отдельную строку региона, которую автор обычно указывает на странице Workshop.
Моды не из Workshop и модовые карты
Если ручной мод добавляет карту, структура обычно такая:
.cache/mods/MyMapMod/mod.infoВ конфиге:
Build 41:
Mods=MyMapMod
Map=MyMapName;Muldraugh, KYBuild 42:
Mods=\MyMapMod
Map=MyMapName;Muldraugh, KYЕсли карта добавляет spawn regions, дополнительно настройте spawnregions.lua.
Кэш Steam Workshop
Workshop-моды скачиваются в кэш Steam на сервере.
Обычно путь выглядит так:
steamapps/workshop/content/108600/108600 — Steam App ID Project Zomboid.
Если мод удалён из конфига, но сервер всё ещё пытается его загрузить, проверьте кэш Workshop и удалите папку конкретного Workshop ID:
steamapps/workshop/content/108600/{workshop_id}/После этого сервер скачает актуальные Workshop-моды заново при следующем запуске.
Если Workshop-моды не скачиваются
- в
WorkshopItemsуказан ID коллекции Steam, а не ID конкретного мода; - Workshop ID написан с ошибкой;
- мод удалён из Steam Workshop или скрыт автором;
- сервер был перезапущен во время загрузки модов;
- повреждён кэш
steamapps/workshop/; - Steam временно не отдаёт Workshop-контент.
Если кэш повреждён, можно очистить папку Workshop-кэша и запустить сервер заново:
steamapps/workshop/Для больших списков модов повторная загрузка может занять заметное время.
Если моды скачались, но не работают
- в
Modsуказан Workshop ID вместо Mod ID; - Mod ID отличается регистром;
- для Build 42 не используется обратный слэш;
- мод требует зависимость, которой нет в списке;
- мод предназначен для другой версии игры;
- клиент игрока и сервер используют разные версии мода;
- модовая карта не добавлена в
Map.
STACK TRACE при запуске
STACK TRACE в консоли после добавления модов обычно указывает на конфликт или несовместимый мод.
Что проверять:
- строки перед
STACK TRACE— там часто видно проблемный Mod ID; - последний добавленный мод;
- зависимости мода;
- совместимость с Build 41 или Build 42;
- клиентские моды, которые не должны быть серверными.
Нормальная диагностика — убрать последний добавленный мод из Mods и WorkshopItems, затем проверить запуск.
WorldDictionaryException
WorldDictionaryException часто связан с добавлением или удалением модов, которые меняют предметы, транспорт, тайлы или рецепты.
Файл словаря мира обычно находится в сохранении:
.cache/saves/multiplayer/{world_name}/WorldDictionary.binУдаление WorldDictionary.bin — крайний вариант. Это может повредить ID предметов и транспорта в сохранении.
Перед любыми действиями с этим файлом сделайте резервную копию мира.
Authentic Z и похожие наборы модов
Некоторые популярные Workshop-предметы содержат несколько sub-mods. Не всегда нужно включать их все.
Для наборов вроде Authentic Z не включайте несколько sub-модов одновременно, если автор прямо не указывает, что их можно комбинировать.
Частая ошибка — добавить один Workshop ID, но включить несколько конфликтующих Mod ID из одного набора. Это может ломать лут, одежду, зомби или вызывать ошибки при запуске.
Рекомендуемый порядок установки
- сначала запустите сервер без модов и проверьте подключение;
- добавляйте по 3–5 модов за раз;
- модовые карты тестируйте отдельно от обычных модов;
- после каждого набора проверяйте консоль на
STACK TRACE; - не удаляйте моды из активного мира без резервной копии;
- для Build 42 сразу используйте правильный формат
Mods.
Краткая шпаргалка
Workshop-мод B41:
WorkshopItems=2392987841
Mods=ModID
Workshop-мод B42:
WorkshopItems=2392987841
Mods=\ModID
Ручной мод B41:
Mods=ManualModID
Ручной мод B42:
Mods=\ManualModID
Модовая карта:
WorkshopItems=1234567890
Mods=\MapModID
Map=MapName;Muldraugh, KYЕсли сервер продолжает грузить удалённый мод
- проверьте, удалён ли мод из
Mods; - проверьте, удалён ли Workshop ID из
WorkshopItems; - проверьте, не прописан ли мод в другом конфиге с другим именем сервера;
- удалите папку конкретного Workshop ID из
steamapps/workshop/content/108600/; - убедитесь, что панель не восстанавливает старый список модов при запуске.
Что лучше не делать
- не добавлять ID коллекции Steam вместо ID конкретных модов;
- не смешивать формат B41 и B42 в одной строке
Mods; - не добавлять 50+ модов одной правкой на активный сервер;
- не удалять моды с предметами/тайлами из живого мира без резервной копии;
- не править старый
servertest.ini, если сервер запускается с другимservername; - не использовать Workshop ID в строке
Mods.