Очередной автосейвер V5.1 project zomboid-а

Project Zomboid24 views1 favorites4 min readRussianby Karl0cUpdated Jun 21View on Steam ↗

Патчноут

V5.1 (21.06.2026) - players.db/vehicles.db теперь копируются через SQLite Online Backup API; атомарная запись settings.json; скроллбары в списках сейвов/бэкапов. Теперь копирование должно быть быстрее и прецизионнее.
V5 (19.09.2026) - исправлен критический баг, связанный с неполным копированием в связи с выходом очередного обновления PZ; добавлена возможность восстанавливать сейвы с некритичной поломкой; минорные изменения интерфейса.

Как этим пользоваться

В этом руководстве я презентую вам кусок говна, который я навайбкодил на последних выходных и кое-как опробировал на своих сейвах. Ссылку на скачивание вы найдёте в конце; там всё не совсем очевидно, поэтому я рекомендую ознакомиться с нижеизложенным. Инструкция по установке также в конце, ниже я изложу непосредственные принципы использования скрипта.

Окно программы выглядит следующим образом (см. рисунок). Программа автоматически ищет файлы сохранения и создаёт папку бекапов; их можно изменить при желании или возникновении трудностей.


Далее идёт настройка временных параметров. Интервал - непосредственно интервал между взятиями бекапа. Если у скрипта возникают трудности с копированием актуального сейва (например, если файл сохранения решил обновиться во время копирования), то он пробует ещё раз; количество попыток задаётся параметром Ретраи. Пауза и Грейс - технические параметры для отладки, их лучше не трогать. Они задают время выдержки, в течение которого выжидается постоянство файла сохранения, чтобы не словить corrupt.
Очень важно поставить галочку в пункте Автосохранение справа сверху, чтобы автосейвер был активирован.

Чуть ниже можно обновить вручную список сейвов и взять бекап сейчас. Восстановить выбранный бекап и восстановить последний бекап - заменить актуальный сейв PZ на сейв из папки бекапов. Справа можно открыть папку бекапов.
Ниже приведено окно обнаруженных сейвов и бекапов, соотнесённых каждому из них. Название бекапа - дата и время его взятия.
В самом низу располагается журнал, куда будут вылезать логи и ошибки в случае их возникновения.

Алгоритм использования:
  • Запустить PZ и скрипт в любом порядке;
  • Выбрать актуальный сейв в скрипте, если он не сделал это сам, и нажать галочку Автосохранение;
  • Скрипт будет время от времени брать бекапы, это может сопровождаться пролагами;
  • Если вы захотите бекапнуться - выйдете из PZ и восстановите сейв в скрипте.
Очень важно - в текущей редакции скрипт берёт автосейвы даже если игра закрыта. Выключайте автосохранение каждый раз, когда не гамаете в PZ! (или просто закрывайте программу)

Принцип действия

Основная проблема в том, что файлы сохранение постоянно изменяются, что не позволяет скопировать папку сейва сразу. Нам с гопотой удалось решить эту проблему, вводя временное разрешение: скрипт последовательно переносит файлы папки сохранения; если он встречает обновляющийся файл, то он выжидает до момента его постоянства, после чего копирует его и идёт дальше.
Некоторые модовые сохранения могут весить гигабайты; чтобы не захламлять диск, скрипт сохраняет только 3 последних бекапа. Скрипт копирует папку сохранения целиком со всеми файлами.
После взятие бекапа скрипт проверяет файлы на предмет corrupt-а, и, если таковой обнаруживается, проводит все операции по-новой.
Реализована некоторая защита от дурака. Например, скрипт не даст восстановить бекап, если вы не вышли из PZ.
Остальной функционал представляет собой стандартные операции. Скрипт реализован на пайтоне; если вам по какой-то причине хочется покопаться в его кишках, на диске лежит некомпилированная версия.
чем эта ♥♥♥♥♥ лучше других автосейверов, которые я использовал прежде?
  • Более-менее понятный интерфейс (наверное)
  • Реализованный менеджмент бекапов: если по какой-то причине последний бекап непригоден, можно использовать предыдущий
  • Возможность сохранения не выходя из игры
  • Если что-то идёт по ♥♥♥♥♥ - вы увидите это в логах

Совместимость с модами и MP

Если все файлы сохранения, отнесённые к модовому контенту, располагаются непосредственно в папке сохранения, то скрипт должен быть с ними совместим, ведь он копирует сейв целиком. Например, с The Ark скрипт работал безукоризненно. Впрочем, я ни за что не ручаюсь.

Совместимо ли хоть как-то с мультиплеером? Понятия не имею, скорее всего нет.

Возможные проблемы

  • Время взятия сохранения пропорционально весу файла. Для обширных сейвов данный процесс может занимать минуты. Процесс можно ускорить, тыкнув пкм по диску -> свойства -> сервис -> оптимизация и дефрагментация диска и оптимизировать диск с игрой. Особенно полезно на HDD.
  • Лично на моей системе (дрянной и древний ноут) взятию сейва сопутствуют фризы. Как это будет у вас - не знаю.
  • Иногда при восстановлении бекапа наблюдаются артефакты (например, машины расположены в другом порядке, хотя всё остальное нормально). У меня это решилось повторным восстановлением сейва.
  • Возможно бесчисленное множество других проблем разной критичности. Сообщайте о них комментариях и, может быть, когда-нибудь они будут исправлены.

Установка

Вот тут ссылка на google drive
https://drive.google.com/drive/folders/180qBCUwS-yAtoWiAg2dBOUadlg9oFkpL?usp=drive_link
Выбираем редакцию. В "V# compiled" лежит exe-шник. Скачать и использовать.
Если вам очково скачивать рандомные исполняемые файлы и вам хочется посмотреть на код, то в папке "V# python" лежит исходник. На всякий случай рядом лежит компилятор, впрочем, можете всё сделать сами.
Надеюсь, что я нигде не насрал и exe-шник доступен.

Credits и остальное

Надеюсь, что всё будет адекватно работать. Если нет - пишите об этом.
Ввиду того что летняя сессия ещё не закончилась, я не обещаю оперативного ответа.
Благодарность выражаю пользователю нексусмода AstralFSK[www.nexusmods.com] за другой автосейвер[www.nexusmods.com], которым я вдохновлялся.

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.