Project Zomboid Руководство

Как сохранить и восстановить сервер Project Zomboid вместе с персонажами

Восстановите Project Zomboid из согласованной копии мира, базы игроков и настроек, затем проверьте сохранение после запуска.

Как сохранить и восстановить сервер Project Zomboid вместе с персонажами

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

Инструкция рассчитана на владельца выделенного сервера с доступом к файлам. На 26 октября 2026 года разработчик указывает 42.21 как Stable. Старые архивы сначала запускайте на записанной для них сборке: сохранения Build 41 несовместимы с Build 42, а переход 42.19 → 42.20 также нарушал совместимость. Восстановление и обновление версии лучше проводить отдельно.

Найдите каталог действующего сервера#

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

Пример ниже предполагает уже проверенную структуру:

КомпонентПример
Пользователь службыpzserver
Корень постоянных данных/srv/pzserver/Zomboid
Внутреннее имя профиляcoop
Мир и персонажиSaves/Multiplayer/coop/ внутри этого корня
База учётных записейdb/coop.db внутри этого корня
Конфигурация и песочницаServer/coop.ini, Server/coop_SandboxVars.lua и остальные файлы профиля

Сохраняйте весь корень, включая players.db в папке мира и отдельную базу учётных записей. Если присутствуют журналы или WAL-файлы баз данных, включайте их тоже. Набор выбранных чанков или единственная база персонажей не обеспечивают согласованный откат.

Рядом с архивом запишите точную сборку и ветку, параметры запуска, пользователя службы, Mod ID, Workshop ID, порядок карт и настройки оболочки, расположенные снаружи. Сохраните установленные версии модов или другой воспроизводимый комплект: содержимое Workshop после создания копии может обновиться. Если каталоги данных вынесены в отдельные тома или представлены символическими ссылками, сохраните их содержимое отдельно: архив ссылки сам по себе не содержит её цель.

Оставьте соответствующую установку dedicated server либо заранее убедитесь, что точную сборку ещё можно получить: одно имя ветки не сохраняет снятый с распространения патч.

Сначала сохранение и остановка, затем архив#

Объявите технический перерыв и запретите панели, планировщику или супервизору автоматически поднимать процесс. В серверной консоли выполните save, дождитесь сообщения о завершении сохранения, затем отправьте quit и дождитесь выхода процесса. В игровом чате администратора этим командам соответствуют /save и /quit.

Проверьте, что второй экземпляр сервера не держит тот же каталог открытым. Копирование работающего сервера может захватить SQLite-транзакцию посередине и собрать мир из разных моментов времени. После аварии сначала сохраните полностью остановленный каталог, включая оставшиеся журналы баз; не удаляйте их ради «чистой» структуры.

Следующий пример выполняйте только после проверки путей и остановки всех процессов записи. Пользователю нужны права чтения всего корня и создания каталога копии. Папки с указанной датой ещё не должно существовать:

bash
set -eu
umask 077
PZ_DATA='/srv/pzserver/Zomboid'
PZ_BACKUP='/srv/pz-backups/2026-10-26-coop'
test -d "$PZ_DATA/Saves/Multiplayer/coop"
test -f "$PZ_DATA/db/coop.db"
mkdir -m 700 "$PZ_BACKUP"
tar -czf "$PZ_BACKUP/Zomboid.tar.gz" -C "$PZ_DATA" .
cd "$PZ_BACKUP"
sha256sum Zomboid.tar.gz > Zomboid.tar.gz.sha256
sha256sum -c Zomboid.tar.gz.sha256
tar -tzf Zomboid.tar.gz > archive-files.txt

Заранее создайте /srv/pz-backups с подходящим владельцем. Каталог находится снаружи исходных данных, поэтому архив не захватит сам себя. Проверьте свободное место: внутри полного корня могут находиться предыдущие автоматические копии. Положите рядом запись версий, ограничьте доступ к архиву с учётными данными и перенесите комплект на другой диск или компьютер. Контрольная сумма подтверждает целостность файла, но ещё не способность игры загрузить его.

Сначала восстановите весь комплект одной даты, затем проверьте персонажей и мир перед открытием сервера.

Восстановите в пустой изолированный каталог#

Текущий или повреждённый корень оставьте нетронутым. Для проверки используйте отдельную машину либо изолированный экземпляр со своим записываемым каталогом и доступом только для участников проверки. Основной и восстановленный серверы не должны одновременно работать с одним томом.

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

После переноса проверьте контрольную сумму. Создайте новый пустой каталог /srv/pz-recovery/Zomboid и распакуйте в него этот доверенный архив:

bash
tar -xzf /srv/pz-backups/2026-10-26-coop/Zomboid.tar.gz -C /srv/pz-recovery/Zomboid

Назначьте владельцем файлов пользователя тестовой службы и обеспечьте ему запись. Установите соответствующую сборку сервера и версии модов. Внутреннее имя оставьте coop: публичное название в списке серверов и имя профиля, папки мира или базы данных выполняют разные задачи.

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

bash
./start-server.sh -servername coop -cachedir=/srv/pz-recovery/Zomboid

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

Проверьте запись после повторного запуска#

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

После успешной проверки назначьте перенос на основной сервер, оставив его предыдущий остановленный корень для отката. Если администрируете собственные машины через Nexardo, включайте в процедуру восстановления именно фактические файлы этого сервера: панель управления инфраструктурой не заменяет проверенный архив мира.

Источники#