Java-библиотека для Project Zomboid / ZombieBuddy

Автор мода: Zed · страница мода

Фреймворк, позволяющий использовать Java-моды с расширенными возможностями в Project Zomboid.

ZombieBuddy ModsFire, 3 октября · 2 скачивания
Содержание

ZombieBuddy — вспомогательная библиотека от Zed для Project Zomboid, необходимая для работы модов с дополнительными Java-компонентами. Она позволяет таким модификациям использовать возможности, выходящие за рамки обычных игровых скриптов.

Библиотека подключается при запуске игры, поэтому установка включает подписку в Мастерской Steam и однократную настройку загрузчика. После этого ZombieBuddy может обслуживать сразу несколько совместимых модов — повторять настройку для каждого из них не требуется.

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

Установка ZombieBuddy на Windows

Доступны два способа установки: через автоматический установщик или вручную.

Автоматическая установка

Рекомендуется использовать ZombieBuddyInstaller.exe.

  1. Подпишитесь на ZombieBuddy в Мастерской Steam.
  2. Скачайте последнюю версию ZombieBuddyInstaller.exe из раздела Releases на GitHub.
  3. Запустите программу и выберите Install or update ZombieBuddy («Установить или обновить ZombieBuddy»).
  4. Выберите способ запуска игры, для которого нужно настроить библиотеку.
  5. Просмотрите предложенные изменения и подтвердите их применение.

Установщик предлагает следующие варианты:

Режим Какие изменения вносятся
Both — оба режима Настраивается обычный и альтернативный запуск игры. Рекомендуемый вариант.
Normal Launch — обычный запуск Изменяется ProjectZomboid64.json, параметры запуска Steam или оба варианта — на ваш выбор.
Alternate Launch — альтернативный запуск Изменяется файл ProjectZomboid64.bat.

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

Для последующего удаления библиотеки можно воспользоваться этой же программой, выбрав Uninstall ZombieBuddy («Удалить ZombieBuddy»).

Ручная установка

Подпишитесь на ZombieBuddy в Мастерской Steam и дождитесь загрузки файлов.

Откройте папку библиотеки:

C:\Program Files (x86)\Steam\steamapps\workshop\content\108600\3619862853\mods\ZombieBuddy\libs\

Скопируйте из неё файлы ZombieBuddy.jar и zbNative.dll в основную папку игры:

C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\

В примерах указаны стандартные пути Steam. Если игра установлена в другой библиотеке, используйте соответствующие папки.

Откройте свойства Project Zomboid в Steam и добавьте в поле «Параметры запуска»:

-agentlib:zbNative --

Важно: разделитель -- в конце строки обязателен. Это два обычных дефиса, которые нужно сохранить без изменений.

Если вы используете Alternate Launch («Альтернативный запуск»), откройте файл ProjectZomboid64.bat и задайте строку _JAVA_OPTIONS следующим образом:

bat
SET _JAVA_OPTIONS=-agentlib:zbNative

Установка на macOS и Linux

На этих системах ZombieBuddy подключается через Java-агент.

Подпишитесь на библиотеку в Мастерской Steam, затем скопируйте ZombieBuddy.jar из папки libs/ мода в соответствующий каталог игры.

macOS:

~/Library/Application Support/Steam/steamapps/common/ProjectZomboid/Project Zomboid.app/Contents/Java/

Linux:

~/.steam/steam/steamapps/common/ProjectZomboid/projectzomboid/

После копирования откройте свойства Project Zomboid в Steam и добавьте в параметры запуска:

-javaagent:ZombieBuddy.jar --

Важно: два дефиса -- в конце строки также обязательны.

После первоначальной настройки ZombieBuddy будет автоматически подключаться для установленных модов, которым он необходим.

Подтверждение загрузки Java-компонентов

По умолчанию ZombieBuddy запрашивает разрешение перед загрузкой нового или изменённого JAR-файла.

В системном окне подтверждения отображаются:

  • идентификатор мода;
  • полный путь к файлу;
  • дата последнего изменения;
  • контрольная сумма SHA-256.

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

Если содержимое ранее разрешённого JAR-файла изменится, его контрольная сумма тоже изменится — в этом случае ZombieBuddy снова запросит подтверждение.

Чтобы вызвать окно подтверждения даже для ранее разрешённых Java-модов, удерживайте Shift во время загрузки игры.

Где хранятся разрешения

Решения о разрешении или блокировке файлов сохраняются в mod_approvals.json.

Windows:

%USERPROFILE%\.zombie_buddy\mod_approvals.json

macOS и Linux:

~/.zombie_buddy/mod_approvals.json

Записи привязаны к идентификатору мода и контрольной сумме SHA-256. Значение true разрешает загрузку, а false запрещает её.

Если вы случайно разрешили или заблокировали файл, откройте JSON, найдите нужный мод в разделе mods и измените либо удалите соответствующую запись. Затем сохраните файл и перезапустите игру.

Политики загрузки Java-модов

ZombieBuddy поддерживает три режима обработки новых и изменённых JAR-файлов. Нужный режим задаётся параметром policy=....

Значение Поведение
prompt Стандартный режим: запрашивать подтверждение перед загрузкой нового или изменённого файла.
deny-new Не загружать файлы, для которых нет действующего разрешения, и не показывать запросы подтверждения.
allow-all Загружать все JAR-файлы без подтверждения. Этот режим не рекомендуется.

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

Windows:

-agentlib:zbNative=policy=deny-new --

macOS и Linux:

-javaagent:ZombieBuddy.jar=policy=deny-new --

Безопасность

Java-моды, запускаемые через ZombieBuddy, имеют неограниченный доступ к системе. Устанавливайте их только из доверенных источников и внимательно проверяйте запросы на загрузку новых файлов.

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

Запуск в режиме отладки

Для использования режима отладки Project Zomboid добавьте аргумент -debug после разделителя --.

Windows:

-agentlib:zbNative -- -debug

macOS и Linux:

-javaagent:ZombieBuddy.jar -- -debug

Просмотр загруженных и заблокированных модов

Для проверки состояния Java-компонентов можно установить Zed's Better ModList.

Модификация отображает статус JAR-файлов непосредственно в списке модов и позволяет увидеть, какие компоненты были загружены, а какие — заблокированы.

Удаление ZombieBuddy

Если библиотека устанавливалась через ZombieBuddyInstaller.exe, запустите программу повторно и выберите Uninstall ZombieBuddy («Удалить ZombieBuddy»).

При ручной установке выполните следующие действия:

  1. Откройте свойства Project Zomboid в Steam и удалите параметры запуска, относящиеся к ZombieBuddy.
  2. Если вы изменяли ProjectZomboid64.bat, уберите добавленный параметр -agentlib:zbNative из строки _JAVA_OPTIONS.
  3. Удалите ZombieBuddy.jar и, если он присутствует, zbNative.dll из папки, в которую вы их скопировали.

После удаления отпишитесь от ZombieBuddy в Мастерской Steam.

Совместимость

Заявлена поддержка следующих версий Project Zomboid:

  • Build 41;
  • Build 42.12–42.21.

ZombieBuddy работает в многопользовательском режиме. Саму библиотеку можно добавлять в существующие сохранения и удалять из них.

После обновления игры, отката версии или проверки целостности файлов повторная ручная установка обычно не нужна, если используется стандартный лаунчер и параметры ZombieBuddy в Steam сохранились. Если библиотека перестала загружаться, выполните настройку повторно.

Скриншоты 1

В коллекцию Пожаловаться