Восстанавливайте один полный снимок в остановленный dedicated-сервер, а затем проверяйте выбранный мир и старых персонажей. Знакомое название сервера и успешный запуск процесса ещё не означают, что загрузилось нужное сохранение.
Здесь рассматривается восстановление уже существующего мира выделенного сервера Windows или Linux. Перенос хозяина кооперативной сессии на dedicated-сервер — отдельная задача с идентификаторами персонажей. Не запускайте конвертеры только потому, что после восстановления появилось окно создания персонажа.
Сначала найдите действительно используемый мир#
Определите установку и постоянное хранилище запущенного экземпляра. Обычный путь мира выделенного сервера относительно установки — Pal/Saved/SaveGames/0/<WorldID>/. В Docker на хосте этот каталог может называться иначе. Проверяйте подключённый volume, а не старую копию в другой библиотеке Steam.
Откройте Pal/Saved/Config/LinuxServer/GameUserSettings.ini либо соответствующий файл в WindowsServer. Параметр DedicatedServerName выбирает идентификатор папки мира. Запишите текущее значение до изменений. Если папок несколько, сопоставьте его с файлами: самый свежий каталог иногда принадлежит только что созданному пустому миру.
В рабочей папке должны находиться данные мира, в том числе Level.sav, и каталог Players/. Сохраняйте также сопутствующие файлы своей версии. LevelMeta.sav и WorldOption.sav — примеры, а не исчерпывающий список для бэкапа. Мир и персонажи должны относиться к одной точке восстановления.
Остановите запись и сохраните нынешнее состояние#
Объявите технический перерыв, отключите игроков и приостановите автоматический перезапуск и обновление этого экземпляра. Если сервер отвечает, авторизованный администратор может выполнить /Save, затем запросить штатное завершение, например /Shutdown 60 Maintenance. Дождитесь выхода процесса и проверьте журнал завершения. Команда /DoExit принудительно останавливает сервер; она не подтверждает успешное штатное сохранение.
Скопируйте целиком остановленный каталог Pal/Saved/ в отдельное место вне рабочего пути. Приложите параметры запуска, окружение контейнера или конфигурацию службы, сведения о сборке. Сохраните моды, от которых зависит мир. Унесите архив с игрового хоста и проверьте распаковку: соседняя папка на том же диске помогает лишь при части сбоев.
Даже повреждённое текущее состояние не удаляйте. В нём могут остаться более свежие данные игроков, журналы или пригодное поколение сохранения. На время восстановления защитите последнюю рабочую копию от автоматической ротации.
Выберите снимок со всем миром#
Параметр bIsUseBackupSaveData включает встроенные копии в дереве сохранений. Датированные снимки мира ищите внутри backup/world/ выбранного <WorldID>. Нужна точка до происшествия с учётом часового пояса машины. Самая новая папка может уже содержать тот же пустой или повреждённый мир.
Сначала перенесите выбранный снимок в промежуточный каталог и изучите состав. Нужны согласованные файлы мира и игроков с исходной структурой. Не путайте локальную клиентскую копию со снимком мира и не соединяйте новый Level.sav со старой папкой Players/. Если данных игроков нет, ищите полное поколение, а не дополняйте его случайными файлами за другие даты.
Внешний архив может начинаться с каталога Saved/, а встроенный снимок мира — сразу с файлов для <WorldID>/. Проверьте уровни вложенности до переноса. Распаковка без проверки легко создаёт лишний путь вроде SaveGames/0/<WorldID>/Saved/SaveGames/0/…, который сервер не использует как нужный мир.
Подмените состояние при выключенном сервере#
Уберите нынешнюю рабочую папку мира в сохранённую область восстановления. Поместите выбранный комплект в Pal/Saved/SaveGames/0/<WorldID>/: файлы мира и Players/ должны лежать непосредственно внутри неё. Восстанавливайте комплект целиком, без слияния с остатками неудачной версии мира.
Сопоставьте DedicatedServerName с идентификатором нужной папки. Редактируйте параметр только при остановленном процессе, сохранив существующую секцию и остальные настройки. При переезде на другую машину отдельно согласуйте рабочую конфигурацию: полный архив Saved/ способен вернуть и старые порты с паролями.
Проверьте, что учётная запись игровой службы может читать и записывать восстановленное дерево. Для контейнера учитывайте реальные UID/GID и точку монтирования; не выдавайте всем пользователям полные права ради устранения одной ошибки доступа. Используйте совместимую сборку сервера и набор модов. Наличие бэкапа не гарантирует, что старый исполняемый файл прочитает мир, уже сохранённый новой версией.
Проверьте персонажей и следующий перезапуск#
Сначала ограничьте доступ участниками проверки. Подтвердите выбор мира по журналу; если приватный REST-доступ уже настроен, сопоставьте worldguid из /info с ожидаемым идентификатором. Войдите прежней учётной записью. Проверьте знакомую базу, инвентарь, палов и гильдию относительно даты выбранного снимка.
При неожиданном создании персонажа остановитесь до создания замены. Полностью пустой мир прежде всего требует проверки пути и выбранной папки. Знакомые постройки при пропавшем персонаже — повод проверить полноту снимка и условия идентификации игрока. Ни один из этих симптомов не оправдывает удаление файлов персонажей наугад.
Когда состояние верное, внесите небольшое узнаваемое изменение, сохраните мир, штатно завершите сервер и запустите снова. Подтвердите сохранность изменения до возвращения всех игроков. Если проверка не прошла, сохраните неудачную попытку отдельно и вернитесь к исходной копии либо другому полному снимку. Для управления службами на собственном VPS можно использовать Nexardo, сохранив проверку мира и восстановления частью администрирования.
Источники#
- Pocketpair: рабочая конфигурация и встроенные копии
- Pocketpair: сохранение и завершение сервера
- Контейнер dedicated-сервера: выбор мира и подключённые пути, создание бэкапа и реализация восстановления
- Save Toolkit: структура исследованных сохранений
- Save Studio: требования к полному снимку dedicated-сервера




