TeaHost

Palworldобновлено 6 мин чтения

Обновление сервера Palworld до новой версии

Обновление сервера Palworld через SteamCMD: бэкап сохранений, корректная остановка, проверка версии, что делать с модами и как откатиться при поломке

Кратко

Сервер Palworld обновляется в пять шагов: бэкап папки Pal/Saved, мягкая остановка через RCON (Save и Shutdown 30), команда steamcmd +app_update 2394010 validate, сверка PalWorldSettings.ini и тестовый вход до того, как позовёте игроков. Моды возвращайте по одному только после проверки чистого сервера, а если мир откатился — разверните бэкап поверх Pal/Saved.

Palworld обновляется часто, и каждый патч приносит одну и ту же ситуацию: игроки уже скачали новую версию, а сервер остался на старой — и никто не может зайти. Обновление сервера Palworld само по себе занимает пять минут через SteamCMD, но порядок действий вокруг него важнее самой команды. Один пропущенный бэкап — и мир, который строили месяц, превращается в повреждённый Level.sav.

Обновление выделенного сервера Palworld через SteamCMD

Как понять, что пора обновляться

Симптом очевидный: игроки видят сообщение о несовпадении версий и не могут подключиться. Клиент Steam обновляется автоматически, сервер — нет.

Проверить установленную версию сервера можно в логе запуска — номер сборки печатается в первых строках. Актуальную версию клиента видно в свойствах игры в Steam.

Если игроки не заходят, но версии совпадают, проблема в другом — порты, файрвол или Community-настройки. Это разобрано отдельно в статье про то, почему сервер Palworld не подключается.

Шаг 1: бэкап (не пропускать)

Порядок такой: сначала копия, потом всё остальное.

код
cd ~/palworld
tar -czf backup-$(date +%F-%H%M).tar.gz Pal/Saved/

Копируется весь Pal/Saved/ — там и сохранения, и конфиги. Внутри лежит то, что нельзя потерять:

код
Pal/Saved/SaveGames/0/<ID_мира>/Level.sav
Pal/Saved/SaveGames/0/<ID_мира>/LevelMeta.sav
Pal/Saved/SaveGames/0/<ID_мира>/Players/
Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

PalWorldSettings.ini в бэкапе особенно важен: SteamCMD при обновлении перезаписывает файлы установки, и дефолтный конфиг может затереть ваш. Проверять после каждого апдейта — обязательная привычка.

Подробнее про структуру и перенос файлов — в вики про перенос сохранений Palworld.

Шаг 2: корректная остановка

Palworld держит состояние мира в памяти и записывает его на диск по таймеру. Если убить процесс жёстко, потеряется всё, что накопилось с последнего автосейва — а иногда и сам файл сохранения повредится в момент записи.

Правильный порядок:

  1. Предупредите игроков в чате и дайте пару минут
  2. Выполните сохранение и остановку через RCON, если он настроен (список команд — в официальном руководстве по серверу Palworld):
код
Save
Shutdown 30 Server_restart_for_update

Shutdown 30 даёт игрокам 30 секунд и корректно завершает процесс с записью мира.

  1. Без RCON — останавливайте сервис мягким сигналом:
код
systemctl stop palworld.service

В юните должно быть KillSignal=SIGINT и TimeoutStopSec=60, иначе systemd прибьёт процесс раньше, чем он допишет сохранение.

  1. Убедитесь, что процесса больше нет:
код
pgrep -a PalServer

Шаг 3: обновление сервера Palworld через SteamCMD

Сам апдейт — одна команда. App ID выделенного сервера Palworld — 2394010.

код
steamcmd +force_install_dir ~/palworld \
  +login anonymous \
  +app_update 2394010 validate \
  +quit

validate заставляет SteamCMD проверить контрольные суммы всех файлов. Занимает дольше, но лечит битые установки после неудачных обновлений. На регулярных апдейтах можно обходиться без него, а после любого сбоя — обязательно с ним.

Если SteamCMD ругается на права, проверьте, что запускаете его от того же пользователя, которому принадлежит папка сервера. Смешивать root и обычного пользователя — верный способ получить сервер, который не может писать сохранения.

Апдейт через панель управления обычно сводится к кнопке переустановки или пересборки — механика та же, SteamCMD под капотом.

Шаг 4: проверка конфига

После обновления первым делом сверьте PalWorldSettings.ini:

код
Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Что проверять:

  • на месте ли ваши рейты, имя сервера, пароль и ServerPlayerMaxNum
  • не появились ли новые параметры в дефолтном шаблоне (он лежит в DefaultPalWorldSettings.ini в корне установки)
  • не сломался ли синтаксис — вся строка OptionSettings=(...) должна остаться одной строкой без переносов

Новые патчи регулярно добавляют параметры. Если ваш конфиг старый, новые опции просто возьмут значения по умолчанию — не всегда те, что вам нужны. Полный разбор параметров есть в вики про настройку PalWorldSettings.

Шаг 5: запуск и проверка

код
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

Смотрите на первые строки лога: версия сборки, загрузка мира, порт. Дальше зайдите сами и проверьте:

  • мир загрузился, база на месте
  • ваш персонаж и Палы не потерялись
  • настройки рейтов применились (проверяется по скорости добычи или опыту)
  • игроки могут подключиться

Первый вход после обновления делайте сами, до того как позовёте остальных. Если что-то пошло не так, откат из бэкапа проще выполнить на пустом сервере.

Что делать с модами

Обновление затирает файлы игры, и моды после апдейта либо исчезают, либо перестают грузиться из-за несовместимости версий.

Порядок для модифицированного сервера:

  1. Бэкап всего, включая папку модов
  2. Обновление сервера
  3. Проверка чистого сервера — поднимается ли он вообще
  4. Возврат модов по одному, начиная с серверных утилит
  5. Раздача обновлённых клиентских модов игрокам

Не ставьте моды обратно до того, как убедились, что чистый сервер работает. Иначе не поймёте, что именно сломалось. Детали — в материале про моды на сервер Palworld.

Если после обновления всё сломалось

СимптомПричинаЧто делать
Сервер не стартуетЧаще всего недокачанные файлыСмотрите лог и повторите app_update с validate
Мир пустой или откатилсяПовреждённое или затёртое сохранениеОстановите сервер, разверните бэкап поверх Pal/Saved/, запустите. Именно поэтому шаг 1 не пропускается
Игроки заходят, но персонажи новыеПроблема с папкой Players или несовпадение ID мираПроверьте, что каталог SaveGames/0/<ID> тот же, что был до обновления
Сервер стартует, но фризитПосле патча изменилось потребление памятиПроверьте RAM под нагрузкой, см. почему сервер Palworld лагает

Как объявить обновление, чтобы никто не потерялся

Техническая часть — половина дела. Вторая половина в том, что игроки должны понимать, что происходит.

Рабочая практика для сервера с постоянной аудиторией:

  • заранее. Сообщение в Discord и в описании сервера: когда, сколько продлится, что меняется
  • за 15 минут. Объявление в игровом чате через RCON: Broadcast Server_restart_in_15_minutes
  • за 5 минут и за 1 минуту. Повтор — люди в рейде физически не видят чат
  • после. Короткое сообщение, что сервер поднялся, и что делать, если не заходит

RCON-команда Broadcast не принимает пробелы в тексте у большинства сборок — используйте подчёркивания, иначе сообщение обрежется на первом пробеле.

Отдельный момент для серверов с модами: в сообщении сразу давайте ссылку на новый архив клиентских модов с указанием версии. Иначе первый час после обновления уйдёт на одинаковые ответы в личке.

Пять минут на объявления экономят вечер разбирательств — особенно если обновление затянулось и сервер поднялся позже обещанного.

Частые вопросы

Нужно ли обновлять сервер сразу после выхода патча?

Если игроки не могут зайти — да, выбора нет. Но выждать несколько часов и посмотреть, не откатывает ли разработчик патч, часто разумно. Особенно на сервере с модами: авторы модов обычно обновляются в течение суток.

Слетят ли сохранения при обновлении?

При нормальном обновлении — нет, Pal/Saved/ не трогается. Слетают конфиги в некоторых сценариях и, конечно, моды. Но бэкап делается всё равно — стоимость минуты против стоимости мира.

Можно ли откатить версию сервера?

Через SteamCMD с указанием конкретного билда теоретически можно, но для Palworld это редко имеет смысл: клиенты уже на новой версии и на старый сервер не зайдут.

Как автоматизировать обновление?

Скриптом: остановка сервиса, tar бэкапа, steamcmd +app_update, запуск. Плюс ротация бэкапов, чтобы не забить диск. Общие подходы к автоматизации описаны в материале про бэкапы игрового сервера.

Итог

Обновление сервера Palworld — это бэкап, мягкая остановка, app_update 2394010 validate, проверка конфига и тестовый вход. Пять шагов, из которых пропускают обычно первый — и именно он потом стоит дороже всего.

Если возиться со SteamCMD не хочется, обновление в один клик есть в панели — конфигурации Palworld тут.

Пошаговая инструкция в базе знанийКак обновить сервер Palworld без потери мира
ПоделитьсяTelegramVK
Все статьи рубрики