Перед обновлением Project Zomboid корректно остановите мир и сохраните согласованный комплект: файлы сервера, постоянные данные, моды и параметры запуска. Копия папки сохранения полезна, но сама по себе не возвращает старые бинарники и состояние базы аккаунтов после записи новой сборкой.
Инструкция рассчитана на существующий Linux dedicated-сервер с ручным обновлением через SteamCMD. Если обновлениями управляет LinuxGSM, образ контейнера или панель, используйте штатный механизм этого инструмента и те же границы резервной копии. Второй независимый обновлятор здесь не нужен. На дату проверки, 26 октября 2026 года, разработчик указывает 42.21 как Stable; стабильный выпуск состоялся 28 сентября.
Отличите обновление от перехода между ветками#
Запишите фактическую версию из стартового журнала и ветку, выбранную вашим обновлятором. Игроки должны проверить ветку и версию клиента. Dedicated tool имеет Steam app ID 380870, сама игра — 108600. Обновление одного приложения не обновляет другое.
| Существующий мир | Решение до загрузки файлов |
|---|---|
| Актуальный публичный Build 42 | Сохранить public, если смена ветки не запланирована отдельно |
| Кампания Build 41 | Оставить сервер и клиентов на legacy41; переход на B42 считать миграцией |
| Сохранение старого Unstable 42.19 | Разработчик прямо указал несовместимость с 42.20; для продолжения существует ветка 42.19 |
| Другая тестовая ветка | Сначала прочитать условия совместимости сохранений и модов целевого выпуска |
Смена ветки не должна случайно происходить во время обычного обслуживания. Её название также не фиксирует одну неизменную версию навсегда. Прежде чем рассчитывать на повторную загрузку старой сборки, проверьте, что Steam действительно позволяет её получить.
Сохраните экземпляр целиком#
Запишите служебного пользователя, его домашний каталог, выбранный -servername, рабочую директорию и полную команду запуска. Сюда входят абсолютный -cachedir, ограничения heap, переменные окружения и настройки управляющего процесса. Обычно каталог Zomboid пользователя содержит настройки, сохранения, базы аккаунтов и журналы. Отдельный cache root меняет расположение постоянных данных: в копию должны попасть все используемые этим экземпляром пути.
Объявите перерыв, закройте новые подключения и приостановите автоматические перезапуски и обновления. Через действующую консоль выполните save, затем quit. Дождитесь завершения процесса и убедитесь, что supervisor не поднял его заново. Возврат приглашения shell не доказывает остановку, если обёртка оставила сервер работать отдельно.
Создайте независимые копии с датой вне каталога установки и рабочих данных:
- Полное дерево dedicated-сервера, включая метаданные Steam и изменённые файлы запуска.
- Весь постоянный каталог
Zomboidи внешние пути или тома, с сохранением владельцев и прав. - Установленные Workshop-моды, ручные моды, зависимости, порядок модов и карт. Контент Workshop может находиться внутри установки либо в другой библиотеке Steam: ориентируйтесь на реальные пути.
- Launcher, настройки supervisor и короткую запись старой сборки, ветки и версий модов.
Проверьте свободное место для загрузки и восстановления, содержимое копии и возможность его прочитать. Снимок файловой системы должен охватывать все нужные подключённые тома: в снимке только системного диска может не оказаться мира. Исходную остановленную копию сохраняйте неизменной до завершения проверки обновления.
Обновите нужный каталог на выбранной ветке#
Запускайте SteamCMD от пользователя, которому принадлежит установка. Следующий пример подходит серверу, который уже работает на публичной ветке, а его проверенный каталог установки — /srv/pz/server:
steamcmd +force_install_dir /srv/pz/server +login anonymous +app_update 380870 +quit
Замените /srv/pz/server абсолютным путём к существующему start-server.sh. Иначе можно получить вторую установку и продолжить запускать старую. Для кампании, сохранённой на beta-ветке, этот пример public не подходит.
Если сервер Build 41 намеренно остаётся на указанной разработчиком ветке legacy41, пример с явным выбором ветки выглядит так:
steamcmd +force_install_dir /srv/pz/server +login anonymous +app_update 380870 -beta legacy41 +quit
Выберите одну подходящую команду, а не выполняйте обе. Они обновляют файлы установки, но не копируют постоянные данные и не задают параметры запуска службы.
Не добавляйте validate автоматически при каждом обновлении. Проверка сверяет поставляемые файлы и может восстановить изменённые штатные файлы. По возможности держите локальные изменения запуска в описанном override и сравнивайте их после обновления. Не заменяйте новый launcher целиком старой копией: сохраните новую настройку runtime и зависимостей, перенеся только действительно нужные параметры.
Первый запуск проведите с ограниченным доступом#
Запустите экземпляр обычным способом с прежними служебным пользователем, каталогом данных и именем сервера. До проверки не пускайте обычных игроков. Сверьте версию игры в журнале, выбранный мир, загрузку модов и сообщения базы. Успешное завершение SteamCMD ещё не доказывает, что работающий процесс использует обновлённый каталог или принимает клиентов.
Обновите тестовый клиент на согласованной ветке, сравните фактические версии и проверьте вход существующего аккаунта с прежним персонажем. Осмотрите известную постройку, инвентарь и важную функцию мода. Сохраните мир, штатно остановите и запустите сервер заново, затем проверьте сохранность изменений. Работающий процесс и открытый порт — предварительные признаки; доступ игроков и постоянство мира проверяются отдельно.
Если сервер перестал запускаться, найдите первую содержательную ошибку. В разборе 42.20 на официальном форуме причиной оказался относительный -cachedir: сохраните прежнее место данных, указав абсолютный путь, а не стирайте сохранения. При несовпадении версий сравните реальные сборки клиента и сервера и проверьте, какой исполняемый файл запускает supervisor. Не удаляйте manifests или базы только потому, что такой шаг встречается в отдельном сообщении форума.
Для работы с собственными машинами Nexardo поможет организовать администрирование инфраструктуры. После действия на уровне машины всё равно нужны игровые проверки перед открытием кампании.
При неудаче восстановите согласованный комплект#
Остановите новый процесс, отключите автоматический перезапуск и отдельно сохраните журналы сбоя. Верните старую установку вместе с её остановленными постоянными данными, модами и конфигурацией запуска; сохраните владельцев и исходные пути экземпляра. Не смешивайте старые файлы мира с теми, в которые уже записала новая версия.
Клиенты тоже должны снова стать совместимыми. Если нужная версия клиента или мода больше недоступна, одна серверная копия не гарантирует немедленного возвращения к игре. Неудачную попытку оставьте отдельно для диагностики, а доступ открывайте после проверки восстановленного мира и аккаунтов. Единственное обновлённое сохранение не подходит для эксперимента с понижением версии.
Источники#
- The Indie Stone: 42.21 Stable и выпуск 42.20, legacy41 и совместимость 42.19.
- LinuxGSM: app ID и пути экземпляра, реализация обновления через SteamCMD.
- Сопровождаемый образ: отдельные каталоги установки и постоянных данных.
- Официальная поддержка: несовпадение версий и перезапись настроек запуска, ошибка относительного cachedir.




