Вопрос «как сделать вайп сервера Rust» на практике сводится к тому, какие именно файлы удалить и в каком порядке. Ошибиться легко: снесёшь лишнее — потеряешь права админов и настройки плагинов, снесёшь недостаточно — игроки зайдут на новую карту со старыми базами в неположенных местах и будут писать в Discord, что сервер сломан.
Разберу по типам вайпа, с конкретными именами файлов.
Три типа вайпа
| Тип вайпа | Что стирается | Что остаётся | Когда делают |
|---|---|---|---|
| Вайп карты (map wipe) | Мир: постройки, ящики, предметы; карта генерируется заново | Изученные чертежи, права, конфиги | Раз в неделю или две |
| Вайп чертежей (BP wipe) | Изученные рецепты | Права, конфиги | Обычно вместе с вайпом карты в первый четверг месяца, с обязательным патчем Facepunch |
| Полный вайп (full wipe) | Карта, чертежи и данные плагинов: киты, кланы, дома, экономика, статистика | Права, конфиги плагинов | По решению администрации, фактически старт с нуля |
Какой ритм выбрать и как сообщать о нём игрокам — тема отдельной заметки про расписание вайпов. Про сам смысл механики есть обзорная статья.
Что где лежит
Всё нужное — в папке идентичности сервера:
server/myserver/
proceduralmap.4000.1875432190.239.sav — сохранение мира
proceduralmap.4000.1875432190.239.map — файл карты
player.blueprints.5.db — изученные чертежи
player.deaths.5.db — точки смерти
player.identities.5.db — привязки игроков
player.states.5.db — состояние игроков
player.tokens.db — токены
sv.files.0.db — картинки на табличках
cfg/ — конфиги, права, баныВ именах файлов зашиты размер карты, сид и версия протокола. Файлов .sav бывает несколько — сервер хранит предыдущие сохранения с суффиксами .1, .2 и так далее. Удалять надо все.
Как сделать вайп карты на сервере Rust
Порядок такой:
- Предупредить игроков заранее. За сутки в Discord и в описании сервера, за час — сообщением в чат.
- Остановить сервер корректно:
server.save, затемquit. - Снять бэкап всей папки идентичности. Пять минут работы, которые однажды спасут вечер. Как настроить автоматику — здесь.
- Удалить файлы карты:
cd /home/container/server/myserver
rm -f proceduralmap.*.sav*
rm -f proceduralmap.*.map
rm -f sv.files.0.db- Сменить сид в строке запуска или в конфиге, иначе сгенерируется та же самая карта:
server.seed 445912337- Запустить сервер и дождаться генерации. На карте 4000 это 3–8 минут, на 4500 бывает и дольше.
Про то, как подбирать сид и не получить карту без пляжей или с одним монументом, — в отдельной заметке.
Если используете кастомную карту, server.seed не трогаете, а меняете ссылку в server.levelurl. Файл карты при этом всё равно удаляется.
Вайп чертежей
Добавляется к предыдущему одна строка:
rm -f player.blueprints.*.dbНикаких других файлов трогать не нужно. Число в имени (5) — версия формата, у Facepunch она меняется раз в пару лет, поэтому надёжнее удалять по маске.
Сообщите об этом отдельно: игроки болезненно относятся к вайпу чертежей и хотят знать заранее, будет он или нет. Формулировка в описании сервера обычно выглядит как «Вайп карты — каждый ЧТ, БП — 1-й ЧТ месяца».
Очистка данных плагинов
Здесь начинается зона риска. В oxide/data/ лежат вперемешку и игровые данные, и служебные.
Можно и нужно чистить при полном вайпе:
oxide/data/Kits*.json — кулдауны и выданные киты
oxide/data/Clans.json — кланы
oxide/data/Economics.json — балансы игроков
oxide/data/HomesData.json — точки телепорта
oxide/data/PlayerRanks/ — статистика
oxide/data/RaidableBases/ — прогресс ивентовНи в коем случае не удалять:
oxide/data/oxide.groups.data — группы прав
oxide/data/oxide.users.data — привязка игроков к группамИменно во втором файле лежат ваши VIP-игроки и админы. Стёрли — и весь купленный донат исчез, а возвращать придётся руками по списку платежей. По документации Oxide права хранятся именно в этих двух файлах; как устроена система, разобрано в заметке о правах и группах Oxide.
Отдельно: файлы в oxide/config/ при вайпе не трогают вообще. Это настройки, а не данные.
Многие плагины умеют чистить свои данные сами — у большинства есть команда вида kits.wipe или опция Wipe on new save: true в конфиге. Такой способ надёжнее ручного удаления файлов.
После запуска
Проверьте по списку:
- Сервер поднялся,
statusпоказывает корректный размер карты и сид. oxide.plugins— все плагины загрузились без ошибок.- Права на месте: зайдите и проверьте, что админка работает, а тестовый VIP видит свои привилегии.
- Обновлено описание в
server.hostname— дата следующего вайпа должна быть актуальной, это сильно влияет на приток игроков из списка серверов. - Опубликована ссылка на карту (RustMaps) в Discord. На новых серверах это одна из самых кликаемых вещей в день вайпа.
Автоматизация
Руками каждую неделю — быстро надоедает. Три варианта:
- Планировщик хостинга. Задача по cron, которая останавливает сервер, выполняет скрипт удаления и запускает обратно. Самый прозрачный способ.
- Плагины автовайпа. Умеют менять сид случайным образом и чистить данные по расписанию.
- Свой bash-скрипт с генерацией сида:
server.seed $((RANDOM * RANDOM % 2147483647)).
Подробный разбор автоматизации есть в блоге. Если вайп не в стандартный четверг, выставьте таймер вайпа в игре конварами wipetimer.* — они описаны в вики Facepunch.
Частые вопросы
Почему после вайпа остались старые базы?
Не удалились все .sav-файлы. Проверьте маску: помимо основного файла бывают proceduralmap.4000.1875432190.239.sav.1 и подобные.
Почему карта сгенерировалась та же самая?
Сид не поменялся. Чаще всего он прописан в двух местах — в строке запуска (Startup в панели) и в server.cfg, причём server.cfg читается позже и перекрывает аргументы. Держите сид в одном месте и проверяйте командой server.seed в консоли после старта.
Почему после вайпа слетели админы?
Удалён users.cfg или oxide.users.data.json. Восстанавливайте из бэкапа — это единственный способ вернуть список без ручного перебора.
Нужно ли вайпать после каждого патча Rust?
Обязательным вайп делает только принудительное изменение формата сохранений — такое бывает примерно раз в месяц, в четверг обновления. Промежуточные хотфиксы вайпа не требуют.
Итог
Короткий чек-лист: предупредить, сохранить, остановить, забэкапить, удалить proceduralmap.*, при необходимости player.blueprints.*, сменить сид, аккуратно почистить oxide/data без файлов прав, запустить, проверить плагины и обновить описание.
Сделав это дважды по инструкции, дальше вы будете укладываться в десять минут. А если хочется, чтобы вайп запускался по расписанию сам, посмотрите на хостинг с планировщиком в панели — тарифы под Rust здесь.