Критический сбой «Error loading world file: check backups» при запуске сервера Valheim — одна из самых частых аварийных ситуаций, с которой сталкиваются администраторы. Игра внезапно отказывается загружать мир, сбрасывает карту до дефолтного состояния или аварийно завершает процесс сервера при инициализации базы данных мира. В большинстве случаев это происходит из-за некорректного завершения процесса во время записи автосейва, нехватки места на диске или падения виртуальной машины.
В этом руководстве разобран регламент диагностики повреждений мира Valheim, процесс изоляции повреждённых файлов и пошаговый откат к резервным копиям .old и снапшотам на Linux-сервере.
Причины повреждения файлов .db и .fwl в Valheim#
Мир Valheim состоит из двух взаимосвязанных файлов с одинаковым именем:
<WorldName>.db— бинарный файл базы данных, содержащий все построенные игроками структуры, изменённый ландшафт, сундуки, инвентарь и состояние сущностей.<WorldName>.fwl— метаданные мира: сид генерации, версия движка мира и системные флаги.
Сервер Valheim выполняет процедуру сохранения каждые 20 минут. Во время сохранения движок производит запись во временные структуры. Если в этот момент сервер получает сигнал аварийного завершения (kill -9), сервер перезагружается по OOM-killer или на диске заканчивается свободное место, файл .db или .fwl усекается до 0 байт либо теряет контрольные байты заголовка.
При запуске сервера движок сверяет заголовок и контрольную сумму. Если файл повреждён или не совпадает версия между .db и .fwl, в логе появляется ошибка:
Error loading world file: <WorldName>, check backups!
Локализация каталогов сохранений и журналов на Linux#
Перед началом любых восстановительных работ остановите службу сервера, чтобы исключить попытки повторной перезаписи файлов:
sudo systemctl stop valheim
sudo systemctl status valheim --no-pager
На современных версиях выделенного сервера Valheim файлы сохранений располагаются в каталоге пользователя, от имени которого запущена служба (обычно valheim или steam):
WORLD_DIR="$HOME/.config/unity3d/IronGate/Valheim/worlds_local"
test -d "$WORLD_DIR" || WORLD_DIR="$HOME/.config/unity3d/IronGate/Valheim/worlds"
echo "Active world directory: $WORLD_DIR"
Каталог автоматических резервных копий Valheim по умолчанию располагается рядом:
BACKUP_DIR="$HOME/.config/unity3d/IronGate/Valheim/backups/worlds"
ls -la "$BACKUP_DIR"
Проверьте системный журнал сервера на наличие сообщений об ошибках сериализации:
journalctl -u valheim -n 50 --no-pager | grep -i "world"
Проверка целостности и изоляция повреждённых файлов#
Перейдите в каталог сохранений и проверьте размеры файлов мира:
cd "$WORLD_DIR"
ls -lh
Если размер файла .db или .fwl равен 0 байт либо существенно меньше предыдущих значений (например, 1 КБ вместо привычных 80 МБ), файл повреждён.
Никогда не удаляйте битые файлы сразу. Создайте карантинный каталог и переместите текущие файлы мира в него:
QUARANTINE_DIR="$WORLD_DIR/corrupted_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$QUARANTINE_DIR"
mv Dedicated.db Dedicated.fwl "$QUARANTINE_DIR/"
Архив повреждённых файлов сохранит возможность частичного ручного восстановления структур, если свежих резервных копий не окажется.
При использовании панели управления серверами автоматическое резервное копирование выполняется изолированными снапшотами перед каждым запуском и перезагрузкой, что исключает риск потери прогресса при повреждении файлов движком.
Восстановление мира из файлов .old и каталога backups#
Движок Valheim хранит предыдущее успешное состояние мира прямо в рабочей папке сохранений под расширением .old:
ls -lh "$WORLD_DIR"/Dedicated.*.old
Если файлы Dedicated.db.old и Dedicated.fwl.old присутствуют и имеют ненулевой размер, скопируйте их на место основных файлов:
cp "$WORLD_DIR/Dedicated.db.old" "$WORLD_DIR/Dedicated.db"
cp "$WORLD_DIR/Dedicated.fwl.old" "$WORLD_DIR/Dedicated.fwl"
Если файлы .old также повреждены или отсутствуют, воспользуйтесь каталогом backups/worlds/, куда движок складывает архивы с метками времени:
ls -lh "$BACKUP_DIR"/Dedicated_backup_*.db
Найдите самый свежий снапшот с ненулевым размером и восстановите пару файлов:
LATEST_BACKUP=$(ls -t "$BACKUP_DIR"/Dedicated_backup_*.db | head -n 1 | sed 's/\.db$//')
echo "Restoring from: $LATEST_BACKUP"
cp "${LATEST_BACKUP}.db" "$WORLD_DIR/Dedicated.db"
cp "${LATEST_BACKUP}.fwl" "$WORLD_DIR/Dedicated.fwl"
Назначение прав доступа и запуск выделенного сервера#
После восстановления файлов убедитесь, что права владения принадлежат пользователю службы valheim, иначе процесс не сможет открыть файлы на чтение и запись:
sudo chown -R valheim:valheim "$HOME/.config/unity3d/IronGate/Valheim"
sudo chmod 644 "$WORLD_DIR"/Dedicated.db "$WORLD_DIR"/Dedicated.fwl
Запустите службу сервера и отслеживайте вывод инициализации в реальном времени:
sudo systemctl start valheim
sudo journalctl -u valheim -f --no-pager
Убедитесь, что в журнале появилась строка успешной загрузки мира:
World Dedicated loadedПосле этого сервер готов принимать подключения игроков.




