Переключение между версиями
Это руководство описывает переключение выделенного сервера Project Zomboid между Build 41 и Build 42: что менять в панели, что будет с сохранениями, почему нельзя переносить старый мир напрямую и что обязательно проверить с модами.
Главное предупреждение
Сохранения Build 41 и Build 42 несовместимы.
Мир, созданный на B41, нельзя нормально загрузить на B42. Мир, созданный на B42, нельзя нормально загрузить на B41.
Перед переключением версии сделайте резервную копию мира. Даже если старые файлы останутся на сервере, новая сборка не должна пытаться запускать несовместимое сохранение.
Какая ветка нужна
В панели версия задаётся через поле Steam Бета Версии.
- Build 41 — поле
Steam Бета Версииоставить пустым; - Build 42 — указать
unstable.
Если в панели для версии используется отдельный выпадающий список, выбирайте тот же смысл: стабильная ветка для B41 и unstable для B42.
Что происходит при переключении
Переключение версии меняет игровые файлы сервера, но не обязано автоматически удалять ваши сохранения.
Старые сохранения остаются в папке:
.cache/saves/multiplayer/В некоторых сборках путь может отображаться с заглавными буквами:
.cache/Saves/Multiplayer/Старый мир лучше не использовать на новой сборке. Практичнее создать новый мир с другим именем сервера.
Почему лучше менять Server Name
Project Zomboid привязывает конфиги и мир к имени сервера.
Если имя сервера:
servertestто основные файлы будут:
.cache/Server/servertest.ini
.cache/Server/servertest_SandboxVars.lua
.cache/Server/servertest_spawnregions.luaСохранение также будет связано с этим именем.
При переходе на другую сборку лучше временно указать новое имя сервера, например:
servertest_b42или:
servertest_b41Так новая версия создаст отдельные конфиги и отдельный мир, а старое сохранение не будет случайно загружено несовместимой сборкой.
Перед переключением
- остановите сервер;
- сделайте резервную копию мира;
- запишите текущее значение
Server Name; - сохраните копию файлов из
.cache/Server/; - очистите или пересоберите список модов под новую сборку.
Особенно важно сохранить:
.cache/Server/{server_name}.ini
.cache/Server/{server_name}_SandboxVars.lua
.cache/Server/{server_name}_spawnregions.luaЕсли используются моды, также сохраните строки:
WorkshopItems=
Mods=
Map=Резервная копия мира
Основная папка сохранений находится здесь:
.cache/saves/multiplayer/{world_name}/или здесь, если сборка использует заглавные буквы в пути:
.cache/Saves/Multiplayer/{world_name}/Скачивайте всю папку мира целиком. Не копируйте только отдельные файлы, потому что мир Project Zomboid состоит из множества чанков, файлов персонажей и служебных данных.
Если на сайте есть встроенные резервные копии, удобнее сделать полный backup сервера перед переключением версии.
Переключение с B41 на B42
- Остановите сервер.
- Сделайте резервную копию текущего мира B41.
- В параметрах запуска найдите поле
Steam Бета Версии. - Укажите значение
unstable. - Измените
Server Nameна новое имя, напримерservertest_b42. - Очистите список старых B41-модов или замените их версиями для B42.
- Переустановите/обновите серверные файлы через панель.
- Запустите сервер и дайте ему создать новый мир.
Не запускайте B42 на старом мире B41. Даже если сервер попытается стартовать, это не является безопасной миграцией.
Переключение с B42 на B41
- Остановите сервер.
- Сделайте резервную копию текущего мира B42.
- Очистите поле
Steam Бета Версии. - Измените
Server Nameна имя для B41, напримерservertest_b41. - Уберите B42-моды из
ModsиWorkshopItems. - Переустановите/обновите серверные файлы через панель.
- Запустите сервер и создайте новый мир B41.
Если вы ранее сохраняли старый мир B41 и хотите вернуться именно к нему, верните прежнее имя сервера и восстановите соответствующую папку сохранения из резервной копии.
Что делать с модами
Моды Build 41 и Build 42 нельзя считать взаимозаменяемыми.
- B41-моды могут не работать на B42;
- B42-моды могут не работать на B41;
- у некоторых модов есть отдельные Workshop-версии для разных сборок;
- у Build 42 может отличаться формат строки
Mods.
Перед первым запуском новой сборки лучше временно очистить:
WorkshopItems=
Mods=Сначала убедитесь, что чистый сервер запускается. Затем добавляйте моды небольшими группами.
Формат модов после переключения
Для Build 41 обычно используется формат:
Mods=ModID1;ModID2
WorkshopItems=1234567890;9876543210Для Build 42 во многих сборках используется формат с обратным слэшем:
Mods=\ModID1;\ModID2
WorkshopItems=1234567890;9876543210Если после переключения сервер падает на этапе загрузки модов, сначала проверьте формат Mods, а уже потом сами файлы сервера.
Что делать с картами
Модовые карты тоже нужно проверять отдельно.
Обычно затрагиваются строки:
Map=
Mods=
WorkshopItems=и файл:
.cache/Server/{server_name}_spawnregions.luaЕсли карта была сделана для B41, она не обязана корректно работать на B42. Перед переносом ротации карт проверьте страницу мода в Steam Workshop и комментарии автора.
Можно ли сохранить оба мира
Да, но не запускать одновременно на одном экземпляре сервера.
Можно держать на диске два разных мира:
.cache/saves/multiplayer/servertest_b41/
.cache/saves/multiplayer/servertest_b42/или, в зависимости от регистра пути:
.cache/Saves/Multiplayer/servertest_b41/
.cache/Saves/Multiplayer/servertest_b42/Но сервер в каждый момент времени запускает только одну выбранную сборку и один выбранный Server Name.
Если нужно сохранить настройки, но начать новый мир
Скопируйте старые конфиги:
.cache/Server/{old_name}.ini
.cache/Server/{old_name}_SandboxVars.lua
.cache/Server/{old_name}_spawnregions.luaЗатем создайте новое имя сервера и перенесите только нужные настройки вручную.
Не копируйте старый мир между B41 и B42. Переносите только параметры, которые точно совместимы: название сервера, пароль, MaxPlayers, PublicName, часть SandboxVars и базовые правила.
Ошибка несоответствия версии у игроков
Если игрок получает ошибку версии после переключения, его клиент Steam работает не на той ветке.
- для сервера B41 игрок должен использовать стабильную ветку без
unstable; - для сервера B42 игрок должен выбрать
unstableв Betas Steam.
После смены ветки в Steam игроку нужно дождаться обновления клиента и только потом подключаться к серверу.
Сервер не запускается после переключения
Проверьте по порядку:
- правильно ли заполнено поле
Steam Бета Версии; - была ли выполнена переустановка/обновление серверных файлов после смены ветки;
- не пытается ли новая сборка загрузить старый мир;
- не остались ли старые несовместимые моды в
ModsиWorkshopItems; - совпадает ли имя редактируемого конфига с текущим
Server Name; - нет ли
STACK TRACEв консоли после загрузки модов.
Если нужно вернуться назад
Возврат возможен, если у вас есть старое сохранение и вы возвращаете соответствующую сборку.
Пример:
- мир был создан на B41;
- вы перешли на B42 и создали новый мир;
- потом хотите вернуться к старому B41-миру.
В этом случае нужно:
- остановить сервер;
- очистить
Steam Бета Версии; - переустановить/обновить файлы сервера под B41;
- вернуть старое имя сервера B41;
- восстановить папку сохранения B41, если она была удалена;
- проверить список B41-модов.
Краткая шпаргалка
B41:
Steam Бета Версии: пусто
Мир: только B41
Моды: B41
Mods: ModID1;ModID2
B42:
Steam Бета Версии: unstable
Мир: только B42
Моды: B42
Mods: \ModID1;\ModID2Что лучше не делать
- не запускать B42 на старом мире B41;
- не запускать B41 на мире B42;
- не переключать сборку без резервной копии;
- не оставлять старый список модов после смены версии;
- не менять версию и имя сервера одновременно без понимания, какой конфиг теперь используется;
- не удалять старый мир до проверки, что новая сборка работает стабильно.