Перейти к содержанию

PZ Mod Checker: сканирование, диагностика и профили модов

Настройте область Active Mods, All Installed или Profile, выполните сканирование под выбранную версию Project Zomboid, разберите severity и вывод диагностики, управляйте сохранёнными профилями и используйте встроенный bisect. Инструкция описывает возможности приложения по документации, а не подтверждённую совместимость модов.

PZ Mod Checker — отдельное приложение для Project Zomboid: оно сканирует файлы модов по известным правилам, разбирает журнал сбоев, показывает списки установленных модов и умеет временно менять набор модов для встроенного bisect. Эта инструкция посвящена интерфейсу и функциям Checker, а не общему ручному поиску конфликта.

Документация описывает Build 42. В зафиксированном README перечислены 82 version-keyed правила до Build 42.20.4; Build 42.21 в списке версий/правил отсутствует. Поэтому работу и покрытие правил на 42.21 считать подтверждёнными нельзя. Сканер проверяет известные шаблоны, а не доказывает, что мод совместим или что ошибок нет.

Запуск и область модов

В руководстве рекомендован локальный web GUI. Откройте терминал в установленной среде и запустите: pz-mod-checker --gui По документации, панель будет доступна на http://localhost:8642. Приложение из README заявлено как работающая на стандартной библиотеке Python; подключение к GUI локальное. Команды и приложение в рамках этой статьи не запускались.

Панель Global Scope Bar задаёт набор модов для всех вкладок:

ОбластьЧто включается
Active ModsТолько активные моды из default.txt; это исходная область по умолчанию.
All InstalledВсе найденные на диске моды, включая отключённые.
ProfileСписок модов сохранённого профиля.

Выбор сохраняется между сессиями и общий для вкладок. При смене области текущий экран перерисовывается сразу. Чтобы сохранить текущий список как профиль, введите имя в поле сохранения рядом с переключателем области; затем его можно выбрать для сканирования, диагностики или управления.

Сканирование до запуска игры

На вкладке Scan выберите версию Project Zomboid и область из Global Scope Bar. Сканер, согласно руководству, ищет в файлах модов известные шаблоны кода, способные нарушить загрузку в указанной версии. Руководство рекомендует делать это до запуска PZ.

УровеньСмысл по документацииДействие для проверки
BREAKINGИзвестное изменение, которое должно приводить к сбою или отказу загрузкиПроверьте, есть ли обновление мода; отключение возможно прямо в результатах или через Mod Manager.
WARNINGВероятная неисправность, требующая исследованияСверьте наличие версии мода для Build 42 и изучите конкретную находку.
INFOКосметическое или менее серьёзное замечаниеРазберите при необходимости, обычно с меньшим приоритетом.

Результаты Checker сортирует по уровню серьёзности, показывая BREAKING первыми. На странице выдачи доступны фильтры severity, поиск по имени/ID и разбиение по 25 модов на страницу. Находки сгруппированы внутри каждого мода: BREAKING раскрыты, WARNING и INFO свернуты. Найдите мод, раскройте описание и путь/строку (если они доступны в выбранном выводе), затем решите, что проверять дальше.

GUI предлагает кнопки отключения рядом с отдельными находками и Disable All Breaking для массового отключения модов с BREAKING. Используйте массовое действие только после проверки состава и области. Внести изменение не значит доказать, что именно этот мод вызвал проблему; после изменения оно вступает в силу при следующем запуске PZ.

CLI-сканирование в руководстве показано так: pz-mod-checker scan 42.15.3 pz-mod-checker scan 42.15.3 --verbose pz-mod-checker scan 42.15.3 --severity breaking pz-mod-checker scan 42.15.3 --format json В примере версию следует заменить на фактически выбранную и доступную в установленном наборе правил; не трактуйте 42.15.3 как гарантию поддержки любой текущей сборки.

Диагностика после сбоя

Вкладка Diagnose предназначена для разбора console.txt после того, как PZ аварийно завершилась или ведёт себя неправильно. По описанию авторов Checker ищет модную атрибуцию Lua stack trace: строки с маркером | MOD: <name> связывают кадры трассировки с указанным модом. Карточки группируются по моду, сортируются по числу ошибок; в интерфейсе можно фильтровать и отключать отдельные моды или все моды с ошибками.

Сообщение Missing require() modules означает, что мод пытался загрузить отсутствующий Lua-модуль. Автор руководства называет две типичные причины: API/модуль был удалён или переименован в версии игры либо отсутствует зависимый мод. Это подсказка для проверки, а не автоматическое доказательство первопричины. Сверьте мод и его зависимости с целевой версией PZ.

CLI по умолчанию разбирает последний журнал, но можно указать отдельный файл: pz-mod-checker diagnose pz-mod-checker diagnose --log path/to/console.txt pz-mod-checker diagnose --format json В руководстве также есть --auto-disable: сначала проверьте список, прежде чем подтверждать отключение. Упомянутые интерфейсом Disable All Erroring Mods и CLI-действия могут изменить список включённых модов.

Управление модами и профили

Вкладка Mods показывает найденные моды и состояния. В GUI доступны поиск по имени/ID, сортировка A–Z, Z–A, сначала включённые/отключённые или обновляемые, переключатели и массовое включение/отключение. В README указано, что массовые действия относятся только к видимому после фильтрации списку. Checker записывает изменения в default.txt, применяемые при следующем запуске игры, и создаёт резервную копию перед изменением.

Check for Updates обращается к Steam Workshop и добавляет метки к найденным модам. Руководство перечисляет update available, stale, B42 OK и updated; README описывает кэш запросов на 24 часа. Это результаты проверки Checker в момент запроса, они могут устаревать и не гарантируют совместимость. Сам запрос здесь не выполнялся.

Командная строка для менеджера и профилей в руководстве: pz-mod-checker manage --list pz-mod-checker manage --disable SpnCloth pz-mod-checker manage --enable SpnCloth pz-mod-checker manage --profile-save "Working" pz-mod-checker manage --profile-load "Working" pz-mod-checker manage --profile-list Заменяйте имя профиля и ID на собственные. Сохранённый профиль фиксирует список модов, чтобы быстро переключать конфигурации; перед загрузкой профиля проверьте, какой список он активирует.

Встроенный Bisect

Вкладка Bisect выполняет встроенный цикл проверки наборов: start сохраняет исходный список и включает часть модов; вы запускаете PZ и сообщаете Checker, упала ли игра или загрузилась; следующие раунды сужают группу подозреваемых. Приложение показывает персональную оценку числа раундов. По руководству, моды с зависимостями остаются в одной группе; авто-диагностика может распознать названного в журнале виновника и пропустить раунды. Состояние сохраняется между запусками инструмента. По описанию, после завершения найденный мод остаётся выключенным, а остальные исходные моды восстанавливаются; при abort восстанавливается исходный список.

CLI-команды встроенного цикла: pz-mod-checker bisect start pz-mod-checker bisect crash pz-mod-checker bisect ok pz-mod-checker bisect status pz-mod-checker bisect abort После старта используйте crash или ok, чтобы передать результат текущей загрузки игры. Команда status показывает состояние. abort прерывает процедуру и, по описанию, восстанавливает исходный список модов. Не закрывайте цикл, не проверив результат восстановления.

Экспорт и режим разработчика

Dev Mode включается переключателем в нижней части интерфейса и запоминается в localStorage браузера. В этом режиме находки показывают Rule ID, пригодный для отчёта о ложном срабатывании или обсуждения изменения API. Можно экспортировать результат по одному моду или весь отчёт в TXT, Markdown либо JSON; отдельные кнопки копируют текст в буфер обмена. Экспорт можно приложить к обращению разработчику, предварительно проверив содержимое на локальные пути и личные данные.

Установка, документация внутри приложения и системные файлы

README указывает установку из исходников при Python 3.10+: клонировать репозиторий и выполнить pip install -e .; после этого запустить pz-mod-checker --gui. Установка из pip и отдельный Windows .exe в захваченном руководстве/README помечены coming soon — не представляйте их как готовые способы установки в этом снимке документации. Для установки из исходников сначала клонируйте https://github.com/robotsmeller/pz-mod-checker и перейдите в каталог pz-mod-checker.

Кнопка User Guide в нижней части приложения открывает справку внутри панели. По описанию Checker, сначала запрашивает версию руководства, соответствующую релизу; затем использует main, а при отсутствии сети — локальную копию. В панели отображается загруженная версия; если доступен более новый выпуск приложения, появляется ссылка.

НазначениеПуть по документации
Список активных модов~/Zomboid/mods/default.txt
Журнал последнего запуска~/Zomboid/console.txt
Сохранённые профили~/Zomboid/Lua/pz_modlist_settings.cfg
Локальные моды~/Zomboid/mods/
Моды WorkshopSteam/steamapps/workshop/content/108600/
Состояние bisect~/Zomboid/.pz-mod-checker/bisect_state.json

Пути различаются по операционной системе. В руководстве указана поддержка Windows, Linux и macOS, включая обнаружение стандартных каталогов Steam/Zomboid. Проверяйте их для своей установки; не предполагайте, что стандартный путь подходит для переносной библиотеки или нестандартного профиля.

Границы и версия сведений

Встроенный сканер ищет известные правила в выбранных файлах, а диагностика читает локальный журнал. Они не заменяют запуск/проверку игры и не гарантируют найти все несовместимости. Зафиксированный README называет 82 правила для Build 42.0–42.20.4; он сообщает, что некоторые правила прекращают срабатывать начиная с указанной версии fixed_in. Для 42.21 отдельный набор правил не показан, хотя в README отмечена обратная доступность loadstring/loadstream в этой версии. Поддержка Checker на 42.21 требует отдельного подтверждения.