Обновляйте установленный сервер после остановки и создания полной копии его данных и конфигурации запуска. Затем проверьте выбранный мир, доступ игроков и цикл «сохранение — перезапуск». Успешная загрузка новых файлов ещё не доказывает, что нужный экземпляр уже работает с ними.
Инструкция рассчитана на существующий PC-сервер. Пример SteamCMD относится к обычной ветке public. Для установки под управлением панели, контейнера или LinuxGSM используйте штатный механизм обновления с теми же проверками сохранности. Два обновляющих процесса не должны работать с одним каталогом одновременно.
Определите экземпляр и целевую ветку#
Запишите каталог работающего исполняемого файла, службу или скрипт запуска, системную учётную запись, выбранный мир и фактический каталог сохранений. Добавьте аргументы запуска, выбор crossplay, версии модов и загрузчика, версии клиента и сервера. Не включайте пароли в общие записи и скриншоты для поддержки.
Сверьте ветку с игроками. Успешное обновление оставшейся тестовой ветки всё равно может дать несовместимость с обычным клиентом. Steam-приложение выделенного сервера имеет ID 896660; 892970 относится к игровому клиенту. Обновление игры в библиотеке не обновляет отдельно установленный сервер.
Сохраните собственный скрипт и его права вне каталога, которым управляет Steam. Сохраните также рабочий каталог и окружение библиотек. Iron Gate предупреждает, что поставляемый скрипт запуска может заменяться обновлениями. После обновления сравните новый штатный файл с вашим: нельзя ни слепо возвращать устаревший скрипт, ни запускать стандартный с другими настройками мира.
Остановите запись и скопируйте всё дерево данных#
Предупредите об остановке и исключите одновременный запуск автоматического рестарта или обновления именно этого экземпляра. Используйте штатное корректное завершение. Для сервера в отдельном окне Iron Gate указывает Ctrl+C. У управляемой службы сначала выясните, как её остановка доходит до игры. Дождитесь сообщений о завершении и записи, проверьте выход игрового процесса. Принудительное убийство не подтверждает завершённое сохранение.
Когда запись остановлена, заархивируйте весь фактический каталог сохранений, включая миры, папки резервных копий и списки доступа. Отдельно сохраните собственный запуск, конфигурацию службы, окружение модов и доступную для восстановления копию прежней установки либо её релизный артефакт. Одну независимую копию держите вне хоста. Проверьте просмотр архива и распаковку в отдельный каталог.
В Valheim 1.0 вышла система сохранения мира по чанкам. В старых данных встречается пара .db/.fwl, а актуальные миры хранятся папками с несколькими частями. Правило бэкапа только по двум старым расширениям может пропустить рабочий мир. Не выбирайте отдельные чанки и не смешивайте файлы разных поколений записи. Копируйте целиком остановленное дерево.
Если непонятно, куда пишет работающий экземпляр, сначала выясните это. Архив неиспользуемого профиля администратора или пустого монтирования контейнера не защитит нужный мир.
Обновите правильное Steam-приложение#
Для прямой установки откройте установленный SteamCMD под владельцем серверных файлов. Следующие строки вводятся в интерактивной консоли SteamCMD, а не в Bash. Вместо пути примера укажите проверенный каталог существующей установки:
force_install_dir /srv/valheim/server
login anonymous
app_update 896660 -beta public
quit
Здесь явно выбирается обычная ветка public. Используйте её, если именно она согласована как целевая. Для тестовой ветки нужны актуальные инструкции разработчика по доступу и подходящие клиенты. Проверьте результат завершения SteamCMD и сохраните журнал перед запуском игры. Сообщение об актуальных файлах не подтверждает правильный выбор ветки и установки.
В примере нет validate. Проверка целостности может заменить изменённые файлы из поставки приложения. Применяйте её при конкретной проблеме после защиты своих изменений, а не как необъяснённый обязательный шаг каждого обновления. Обычное обновление тоже может заменить штатные скрипты, поэтому собственная копия запуска всё равно нужна.
При использовании настольного Steam обновляйте Valheim Dedicated Server в разделе Tools, затем запускайте нужный собственный скрипт. Не считайте, что ярлык Steam автоматически указывает на переименованный файл.
Проверьте копию до возвращения обычных игроков#
По возможности сначала загрузите копию данных новой программой в изолированном тестовом экземпляре. Выделите ему собственный путь сохранений и сетевую точку входа, не пускайте обычных игроков и исключите запись в рабочие данные. Сохраните нужные моды: запись единственного мира без контентных модов не должна становиться способом «успешно» завершить обновление.
Сверьте мир и версию по журналу запуска. Подключитесь совместимым клиентом, осмотрите знакомую постройку и недавний прогресс. Сделайте узнаваемое безвредное изменение, дождитесь сохранения, корректно перезапустите сервер и проверьте результат. Отдельно проверьте администратора и допущенных игроков: загрузка мира не проверяет списки доступа.
Если появился новый пустой мир, остановитесь и выясните выбор мира и каталога данных до очередного сохранения. Не исправляйте это копированием файлов поверх работающего процесса.
Восстанавливайте программу вместе с данными#
Если проверка не прошла, отдельно оставьте журналы и данные неудачного обновления. Восстановите прежнее программное окружение вместе с копией данных до обновления в нужный остановленный экземпляр. Новая программа могла уже преобразовать сохранение; обратная смена файлов программы преобразование не отменяет. Игрокам тоже нужен совместимый клиент, поэтому не обещайте откат, если их платформа не даёт выбрать такую версию.
После восстановления снова проверьте вход, запись и перезапуск. Зафиксируйте ветку и расположение копии для следующего обслуживания. Для организации служб собственного Linux VPS можно использовать Nexardo; проверки мира и восстановления должны остаться частью этого порядка.




