Многие группы игроков в Project Zomboid начинают совместную игру в локальном кооперативе через хостинг из меню игры или в одиночном режиме. Когда мир развивается, база укрепляется, а объёмы припасов растут, возникает потребность перенести карту на круглосуточный выделенный сервер на Linux. Однако простая попытка скопировать папку сохранения часто приводит к потере инвентаря хоста, сбросу убежища или крашу сервера из-за различий в хранении данных игроков.
В этой статье подробно разобран процесс миграции одиночного мира Project Zomboid на выделенный сервер: структура бинарных файлов карты map_p.bin, сохранение инвентаря через склады и правильная привязка настроек SandboxVars.lua.
Структура каталогов сохранений в одиночной игре и мультиплеере#
Project Zomboid строго разделяет структуру хранения одиночных и многопользовательских миров:
- Одиночная игра (клиент):
- На Windows:
%USERPROFILE%\Zomboid\Saves\Sandbox\<SaveName>\(илиSurvival) - На Linux:
~/Zomboid/Saves/Sandbox/<SaveName>/
- На Windows:
- Выделенный сервер (Linux):
- Файлы мира:
~/Zomboid/Saves/Multiplayer/<ServerName>/ - Конфигурации сервера:
~/Zomboid/Server/<ServerName>.ini - Настройки песочницы сервера:
~/Zomboid/Server/<ServerName>_SandboxVars.lua - База данных игроков:
~/Zomboid/db/<ServerName>.db(SQLite)
- Файлы мира:
В одиночном режиме данные персонажа игрока сериализуются прямо в файлы сохранения карты. На выделенном сервере данные аккаунтов, пароли и инвентари игроков управляются отдельной реляционной базой данных SQLite.
Подготовка сохранения: инвентарь персонажа и резервная копия#
Главная ловушка при миграции — потеря экипировки хоста. Поскольку аккаунт администратора сервера создаётся заново при первой авторизации в мультиплеере, персонаж появится в мире «голым».
Перед экспортом выполните регламент подготовки в игре:
- Запустите одиночный мир.
- Подойдите к безопасной зоне (вашей базе).
- Сложите абсолютно все предметы из рюкзака, карманов и экипировки в контейнеры (ящики, шкафы или багажник автомобиля).
- Выйдите из игры в главное меню.
На локальном компьютере создайте резервную копию папки сохранения:
cd "$HOME/Zomboid/Saves/Sandbox"
tar -czf singleplayer_save_backup.tar.gz MyWorld
Перенос файлов карты map_p.bin и чанков на Linux-сервер#
Остановите службу сервера на целевом хосте перед загрузкой файлов:
sudo systemctl stop zomboid
Определите имя вашего сервера (по умолчанию servertest). Создайте каталог сохранения на сервере:
SERVER_SAVE_DIR="$HOME/Zomboid/Saves/Multiplayer/servertest"
mkdir -p "$SERVER_SAVE_DIR"
Скопируйте файлы карты из одиночного сохранения в каталог сервера. На выделенный сервер необходимо перенести:
map_p.bin— построенные базы, стены, баррикады и модификации карты;map_t.bin— игровое время, календарь и погодные условия;map_meta.bin— мета-зоны и триггеры;map_zone.bin— зоны безопасности;- Все файлы
chunkdata_*.binиzombies_*.bin— фактическое состояние изменённых блоков мира.
scp -r MyWorld/* user@server_ip:~/Zomboid/Saves/Multiplayer/servertest/
Проверьте наличие файла map_p.bin в целевой директории:
ls -lh ~/Zomboid/Saves/Multiplayer/servertest/map_p.bin
При использовании централизованной панели управления серверами загрузка и распаковка готовых миров выполняется в один клик через веб-интерфейс без риска повреждения прав доступа Linux.
Синхронизация настроек SandboxVars.lua с конфигурацией сервера#
Одиночный мир содержит файл настроек песочницы map_sand.bin. Выделенный сервер считывает параметры песочницы из текстового скрипта Lua:
~/Zomboid/Server/<ServerName>_SandboxVars.lua
Если настройки не синхронизировать, сервер применит дефолтные правила (например, вернёт стандартную скорость инфекции, сбросит дату отключения воды и электричества или изменит силу зомби).
Скопируйте настройки из одиночной игры или сгенерируйте файл с нужными параметрами:
cat << 'EOF' > ~/Zomboid/Server/servertest_SandboxVars.lua
SandboxVars = {
Speed = 3,
Zombies = 3,
Distribution = 1,
DayLength = 3,
StartYear = 1,
StartMonth = 7,
StartDay = 9,
StartTime = 2,
WaterShut = 2,
ElecShut = 2,
WaterShutModifier = 14,
ElecShutModifier = 14,
FoodLoot = 2,
CannedFoodLoot = 2,
WeaponLoot = 2,
SurvivalGearsLoot = 2,
MechanicsLoot = 2,
LiteratureLoot = 2,
MedicalLoot = 2,
}
EOF
Убедитесь, что в файле ~/Zomboid/Server/servertest.ini параметр Map= соответствует списку активных карт (например, Map=Muldraugh, KY).
Назначение прав доступа и запуск выделенного сервера#
Убедитесь, что владельцем всех перенесённых файлов является пользователь службы zomboid:
sudo chown -R zomboid:zomboid "$HOME/Zomboid"
sudo chmod -R u=rwX,go=rX "$HOME/Zomboid"
Запустите службу сервера:
sudo systemctl start zomboid
sudo journalctl -u zomboid -f --no-pager
Дождитесь строки инициализации:
*** SERVER STARTED ****Подключитесь к серверу под новой учётной записью, доберитесь до вашей базы и заберите экипировку из сундуков. Мир, построенные баррикады и прогресс выживания полностью перенесены на выделенный сервер.




