Внезапный сброс прогресса игроков и появление нового мира после перезапуска — одна из самых тревожных ситуаций для владельца сервера Rust. В большинстве случаев прежние сохранения не удалены: сервер просто обратился к другому каталогу профиля, получил изменённые параметры генерации или столкнулся с повреждением последнего файла сохранения.
Инструкция предназначена для администраторов серверов Rust на Linux. На 27 октября 2026 года имя файла сохранения жестко привязано к тройке параметров: размеру мира, сиду и версии протокола сохранения Facepunch.
Как Rust определяет путь к файлу сохранения#
Вся информация о мире, постройках и инвентарях хранится внутри каталога:
server/<server.identity>/proceduralmap.<size>.<seed>.<protocol>.sav
Например, для сервера с параметрами +server.identity "main" +server.worldsize 3500 +server.seed 48291 файл мира будет называться:
server/main/proceduralmap.3500.48291.261.sav
Если сервер запускается и не находит файл с точным совпадением всех четырёх компонентов, он не сообщает об ошибке, а автоматически начинает генерацию совершенно нового процедурного мира.
Причина 1: Смена или отсутствие server.identity#
Если в скрипте запуска, unit-файле systemd или docker-compose была удалена или опечатана строка +server.identity, Rust подставит внутреннее значение по умолчанию: my_server_identity.
В результате сервер создаст новую папку server/my_server_identity/ и сгенерирует в ней чистый мир. Ваши настоящие сохранения по-прежнему лежат в прежнем каталоге (например, server/main/).
Проверьте содержимое каталога server/:
ls -la /srv/rust/server/
Если вы видите несколько папок с разными именами, верните правильное значение +server.identity в скрипт запуска и перезапустите службу.
Причина 2: Изменение seed или worldsize в скрипте запуска#
Случайное изменение хотя бы одной цифры в +server.seed или +server.worldsize приводит к тому, что игра ищет файл с новым именем.
Изучите существующие файлы .sav в папке вашего профиля:
ls -la /srv/rust/server/my_server_identity/*.sav*
Сверьте цифры в имени файла с вашей строкой запуска:
| Параметр в строке запуска | Значение из имени файла .sav | Результат |
|---|---|---|
+server.worldsize 3500 | 3500 | Совпадение (мир загружается) |
+server.seed 48291 | 48291 | Совпадение (мир загружается) |
+server.seed 48292 | 48291 | Несовпадение (создаётся новый мир) |
Если параметры в скрипте запуска разошлись с именем последнего файла сохранения, исправьте сид и размер карты на исходные значения.
Причина 3: Повреждение файла сохранения или OOM#
Если сервер был принудительно остановлен (kill -9, аварийное отключение питания или OOM Killer ядра Linux) непосредственно во время записи автосейва, основной файл .sav может оказаться повреждённым или иметь нулевой размер.
В таком случае Rust создаёт резервные копии с номерами .sav.1, .sav.2 и так далее. Если основной файл повреждён, восстановите последнюю резервную копию:
cd /srv/rust/server/my_server_identity
ls -lh proceduralmap.*.sav*
cp -p proceduralmap.3500.48291.261.sav.1 proceduralmap.3500.48291.261.sav
Причина 4: Принудительный глобальный вайп (Forced Wipe)#
В первый четверг каждого месяца Facepunch выпускает обязательное обновление, в котором увеличивается версия протокола сохранений (например, переход с 260 на 261).
Новый бинарный файл RustDedicated принципиально отказывается загружать сохранения, созданные на предыдущей версии протокола, даже если сид и размер карты остались прежними. В журнале сервера при этом появляется строка: Save protocol mismatch: expected 261, got 260. Это нормальное поведение игры, предотвращающее повреждение структур данных новыми механиками обновления.
Если вы сопровождаете серверную инфраструктуру через Nexardo, фиксируйте параметры генерации мира в переменных окружения: строгий контроль параметров запуска предотвращает случайную генерацию дублирующих миров при перезапусках.




