Мир Palworld держится на одном файле — Level.sav. Он повреждается от жёсткой остановки процесса, от нехватки места на диске, от неудачного обновления и от эксперимента с модами. Бэкап Palworld сервера — это не «на всякий случай», а обязательный элемент конфигурации: без него любой из перечисленных сценариев означает потерю сотни часов чужого прогресса. Разберём, что именно копировать, как это автоматизировать и почему бэкап без проверки восстановления — самообман.
Что копировать в бэкап Palworld сервера
Вся полезная нагрузка лежит в одной директории:
Pal/Saved/Внутри два интересующих нас куска.
Сохранения мира:
Pal/Saved/SaveGames/0/<ID_мира>/Здесь Level.sav (мир, базы, палы), LevelMeta.sav, WorldOption.sav и папка Players с файлами персонажей — по одному .sav на игрока. Именно Players теряют чаще всего: копируют один Level.sav, восстанавливают, и у всех обнуляются персонажи.
Конфигурация:
Pal/Saved/Config/LinuxServer/PalWorldSettings.iniНа Windows-сборке — WindowsServer. Про структуру файла написано в статье про настройку PalWorldSettings.
Проще всего архивировать Pal/Saved целиком: несколько сотен мегабайт, зато без риска забыть половину.
Встроенный бэкап игры
В конфиге есть свой механизм:
bIsUseBackupSaveData=True,
AutoSaveSpan=180.000000bIsUseBackupSaveData заставляет сервер складывать копии сохранений в папку backup рядом с сохранениями мира. AutoSaveSpan — интервал автосохранения в секундах.
По документации Pocketpair встроенный механизм хранит копии с такой ротацией:
| Интервал | Сколько копий хранится |
|---|---|
| каждые 30 секунд | 5 |
| каждые 10 минут | 6 |
| каждый час | 12 |
| каждые сутки | 7 |
Разработчики отдельно предупреждают, что опция увеличивает нагрузку на диск.
Пользы от него ровно столько, сколько от копии, лежащей на том же диске рядом с оригиналом. Он спасёт от повреждения одного файла и не спасёт ни от чего серьёзного: отказ диска, ошибка обновления, случайное удаление директории. Включать стоит, полагаться — нет.
Про AutoSaveSpan отдельно: чем меньше значение, тем меньше потери при падении, но тем чаще на сервере с большим онлайном будет заметный фриз в момент записи. Компромисс на живом сервере — 300–600 секунд плюс внешний бэкап по расписанию.
Правильный порядок снятия бэкапа
Копировать Level.sav на работающем сервере в момент записи — прямой способ получить битый архив, который выглядит целым до попытки восстановления.
Есть два подхода.
Надёжный: остановить сервер.
Broadcast Backup_in_60_seconds
Save
Shutdown 60 BackupДождаться завершения процесса, заархивировать, запустить обратно. Про эти команды — в статье про админ-команды Palworld.
Быстрый: принудительное сохранение без остановки.
Выполнить Save по RCON или REST API, подождать 5–10 секунд, затем архивировать. RCON Pocketpair объявила устаревшим, поэтому новые скрипты лучше сразу строить на REST API — подробности в статье про админ-команды. Сервер продолжает работать, но между Save и завершением архивирования может случиться следующее автосохранение. Риск невелик, поэтому большинство админов живёт именно так, а остановку делают раз в сутки вместе с перезапуском.
Скрипт с ротацией
Рабочий вариант для cron:
#!/bin/bash
SRC=/home/palworld/server/Pal/Saved
DST=/home/palworld/backups
KEEP=14
RCON="/usr/local/bin/rcon -a 127.0.0.1:25575 -p ВАШ_ПАРОЛЬ"
mkdir -p $DST
$RCON "Save"
sleep 10
tar -czf $DST/palworld-$(date +%F-%H%M).tar.gz -C $(dirname $SRC) Saved
find $DST -name "palworld-*.tar.gz" -mtime +$KEEP -deleteЧто здесь важно.
Save перед архивированием — обязателен, иначе в бэкап попадёт состояние получасовой давности.
Ротация через find -mtime не даёт диску заполниться. Четырнадцать дней — разумный горизонт: если проблему не заметили за две недели, старый мир всё равно уже не нужен.
Ставится это в планировщик задач. Периодичность зависит от активности: для сервера с ежедневной игрой — раз в 6 часов, для сервера выходного дня — раз в сутки.
Копия вне сервера
Бэкап на том же диске, что и сервер, защищает от кривых рук и не защищает от отказа железа. Минимум — забирать архивы наружу:
rsync -az /home/palworld/backups/ user@backup-host:/storage/palworld/Либо просто раз в неделю скачивать свежий архив себе по SFTP. Даже одна копия на домашнем компьютере переводит ситуацию из «всё потеряно» в «откатились на неделю».
Если хостинг умеет снапшоты и автобэкапы на своей стороне, включите и их — это отдельный слой, независимый от ваших скриптов. Про панельный вариант — в статье про настройку автобэкапов.
Восстановление
Порядок жёсткий, отклонения ломают мир.
- Остановите сервер полностью.
- Переименуйте текущую
SaveGamesвSaveGames.broken— не удаляйте, она может пригодиться. - Распакуйте архив на место.
- Проверьте, что ID мира в пути совпадает с тем, что был. Palworld идентифицирует мир по имени папки, и восстановление в директорию с другим ID даст «новый» пустой мир.
- Проверьте владельца файлов: если распаковывали от root, сервер под своим пользователем не сможет писать сохранения.
- Запустите и зайдите в игру.
Подробнее про работу с ID мира и переносом между машинами — в статье про перенос сохранений.
Отдельный случай: мир цел, но у конкретного игрока пропал персонаж. Тогда восстанавливать нужно не весь Level.sav, а один файл из Players/ — при этом Level.sav должен остаться текущим, иначе откатится весь сервер.
Проверьте, что бэкап рабочий
Непроверенный бэкап — это надежда, а не бэкап. Раз в месяц потратьте двадцать минут:
- Поднимите второй экземпляр сервера на другом порту.
- Разверните в него свежий архив.
- Зайдите и посмотрите, на месте ли базы и персонажи.
Ошибки, которые вскрываются именно так: в архив не попала папка Players, скрипт архивировал пустую директорию из-за неверного пути, ротация удалила всё вместе со свежими копиями. Все три встречаются регулярно и все три обнаруживаются только на проверке.
Частые вопросы
Сколько весит бэкап?
Сохранения мира Palworld растут вместе с количеством баз и палов: от 50 МБ на старте до нескольких сотен мегабайт на обжитом сервере. Архив ужимается примерно вдвое.
Можно ли делать бэкап без остановки сервера?
Да, через Save по RCON или REST API и небольшую паузу. Полностью безопасно только на остановленном сервере, но на практике связка Save + архив работает надёжно.
Мир повреждён, бэкапа нет. Что делать?
Проверьте папку backup в каталоге сохранений, если был включён bIsUseBackupSaveData. Если и там пусто — восстановить нечего, придётся начинать заново, см. сброс мира.
Нужен ли бэкап перед обновлением?
Обязательно. Порядок действий описан в статье про обновление сервера Palworld.
Коротко
Архивируйте Pal/Saved целиком, обязательно делайте Save перед снятием копии, держите ротацию на две недели и хотя бы одну копию вне сервера. Встроенный bIsUseBackupSaveData включите, но считайте его дополнением, а не основным механизмом. И раз в месяц реально разворачивайте архив — иначе вы не знаете, работает он или нет.
Если не хочется писать скрипты, автобэкапы по расписанию настраиваются прямо в панели — тарифы Palworld тут.