Чтобы перенести кооперативный мир Palworld на выделенный сервер, скопируйте папку мира из %LOCALAPPDATA%\Pal\Saved\SaveGames\<SteamID>\<WorldID>\ на компьютере хоста в Pal/Saved/SaveGames/0/ на сервере, удалите из неё WorldOption.sav, пропишите DedicatedServerName=<WorldID> в GameUserSettings.ini сервера и запустите сервер. Базы и палы всех игроков переедут целыми, и каждый гость сохранит своего персонажа. Не сохранит только один человек - хост: в кооперативе его персонаж записан под фиксированным ID-заглушкой, а на выделенном сервере игрока узнают по его настоящему аккаунту, поэтому сервер встречает хоста созданием персонажа. Чтобы вернуть персонажа хоста, нужен ещё один шаг с инструментом от сообщества. В этой статье разобрано всё это, включая то, что делать, если что-то пошло не так.
Почему хост теряет персонажа#
Palworld хранит каждого игрока отдельным файлом в папке Players мира, с именем из 32-символьного ID. На выделенном сервере этот ID выводится из аккаунта игрока на платформе. В кооперативе гости получают такой же ID, поэтому их файлы переезжают нетронутыми. А хост - нет: в кооперативном мире хост всегда записан как 00000000000000000000000000000001.sav, кем бы он ни был.
<WorldID>/Players/ 00000000000000000000000000000001.sav the co-op host 4A7F2C1E000000000000000000000000.sav a guest 9C21B08D000000000000000000000000.sav another guestКогда хост заходит на выделенный сервер, сервер ищет файл с его настоящим ID, не находит и начинает нового персонажа. Старый по-прежнему лежит в папке, ни к кому не привязанный. Гильдия, базы и палы тоже ссылаются на старый ID, поэтому простого переименования файла недостаточно: сам мир хранит этот ID во многих местах внутри Level.sav.
Решение - переписать эти ссылки со старого ID на новый. Именно это и делают инструменты host save fix.
Перед началом#
Сначала соберите четыре вещи; когда они готовы, перенос проходит быстро.
| Что нужно | Откуда берётся |
|---|---|
| Папка кооперативного мира | Компьютер хоста, см. ниже |
| Работающий выделенный сервер на той же версии игры | Ваш хостер или SteamCMD, приложение 2394010 |
| Доступ к файлам сервера | Файловый менеджер или SFTP |
| Python 3 и инструмент host save fix (только для персонажа хоста) | Устанавливаются на любой компьютер |
Версия игры важна. Сохранение от более нового клиента не загрузится на более старом сервере, а сам формат сохранения за жизнь Palworld менялся не раз. Обновите сервер до загрузки, а если на компьютере хоста не играли со времени большого патча, сначала один раз загрузите мир в кооперативе, чтобы он сохранился в текущем формате.
Делайте это тогда, когда никому не нужно играть. Вся работа занимает полчаса, если ничего не пошло не так, и вечер, если пошло.
Где найти кооперативное сохранение#
У версии из Steam на Windows кооперативные миры лежат здесь:
%LOCALAPPDATA%\Pal\Saved\SaveGames\<SteamID64>\<WorldID>\Вставьте первую часть пути в адресную строку Проводника. Внутри папки, названной по SteamID64 хоста, лежит по одной папке на каждый мир, у каждой имя - 32-символьный шестнадцатеричный ID. Если их несколько, посмотрите дату LevelMeta.sav в каждой или проверьте, какая изменялась последней; мир, в который вы играли вчера вечером, - тот, у которого сегодняшние отметки времени.
Папка мира выглядит так:
<WorldID>/ Level.sav the world: bases, pals, structures, items LevelMeta.sav name and metadata for the world list WorldOption.sav the settings the world was created with Players/ one file per character backup/ rolling backups, if enabledПрежде чем делать что-то ещё, скопируйте всю папку в надёжное место на компьютере. Эта копия - ваш путь назад, если все следующие шаги провалятся.
Загрузка мира#
Пока сервер остановлен:
- Загрузите всю папку
<WorldID>вPal/Saved/SaveGames/0/на сервере. Папка0- то место, где выделенный сервер хранит свои миры. Загружайте саму папку, а не её содержимое россыпью. - Удалите
WorldOption.savиз загруженной папки. Пока он существует, в нём хранятся настройки кооперативного мира, и они могут переопределятьPalWorldSettings.iniвашего сервера. В руководстве по настройкам сервера Palworld объясняется, почему именно из-за этого шага отредактированные настройки кажутся неработающими. - Папку
backupиз загрузки можно удалить, чтобы сэкономить место. Сервер делает свои копии. - Укажите серверу мир. Отредактируйте
Pal/Saved/Config/LinuxServer/GameUserSettings.ini(WindowsServerна сервере с Windows):
[/Script/Pal.PalGameLocalSettings]DedicatedServerName=4F6A2D1B8C9E4E1F9A0B3C5D7E8F1A2BЗначение - это имя папки, в точности. Если файла ещё нет, запустите сервер один раз без мира, чтобы он создал папки, остановите его и потом редактируйте. Если строка уже есть с другим ID - миром, который сервер сгенерировал при первом запуске, - замените этот ID на свой.
- Запустите сервер и следите за консолью. Удачная загрузка проходит тихо; верный признак неудачи - совершенно новая папка мира, появившаяся в
SaveGames/0/рядом с вашей: это значит, чтоDedicatedServerNameне совпал и сервер создал свежий мир.
Большие сохранения загружайте по SFTP, а не через браузер. Данные для подключения - в статье SFTP и файловый менеджер.
На этом этапе гости могут заходить и найдут своих персонажей, уровни, палов и базы. Хосту предложат создать персонажа. Пока не давайте хосту играть новым персонажем дальше его создания.
Как вернуть персонажа хоста#
Распространённый инструмент - созданный сообществом «Palworld Host Save Fix», который с помощью библиотеки «palworld-save-tools» декодирует Level.sav, заменяет старый ID хоста на новый везде, где он встречается, и записывает сохранение обратно. Есть версии для командной строки и с графическим интерфейсом, а когда формат сохранения меняется, появляются форки. Используйте тот, где заявлена поддержка вашей версии игры.
Порядок действий, который работает:
- Когда мир загружен и запущен, хост заходит на сервер и создаёт нового персонажа. Имя любое - это заглушка. Затем хост выходит.
- Остановите сервер. При этом записывается файл нового игрока.
- Загляните в
Pal/Saved/SaveGames/0/<WorldID>/Players/. Там теперь, помимо загруженных вами, есть новый файл - самый свежий по дате. Его имя без.sav- это новый ID хоста. Старый ID -00000000000000000000000000000001. - Скачайте всю папку мира к себе на компьютер.
- Запустите инструмент исправления на скачанной папке с новым и старым ID. Вариант для командной строки выглядит так; точные аргументы зависят от версии, так что прочитайте README инструмента:
$ python fix_host_save.py "C:\palfix\4F6A2D1B8C9E4E1F9A0B3C5D7E8F1A2B" \ 9D3E0F2A000000000000000000000000 00000000000000000000000000000001 False- Удалите серверную копию папки мира и загрузите на её место исправленную.
- Запустите сервер. Хост заходит и должен найти своего старого персонажа, предметы, гильдию и базы.
Исправление переписывает большой файл. На большом мире это занимает несколько минут и требует столько памяти, чтобы вместить декодированное сохранение, а на зрелом Level.sav это может быть несколько гигабайт. Запускайте его на компьютере с запасом памяти.
Странности гильдии и баз после исправления
У этих инструментов есть история мелких известных проблем, которые появляются и исчезают с версиями игры: палы на базе хоста не работают, пока их не поднять и не поставить обратно; владение некоторыми контейнерами или палами в Viewing Cage не переносится; гильдии нужно заново добавить хоста. Некоторые версии инструмента принимают опцию «guild fix» именно для этого. Прежде чем запускать инструмент, прочитайте список известных проблем для своей версии, а после - быстро проверьте: откройте базу, проверьте palbox, проверьте меню гильдии.
Если не хочется связываться с инструментом#
Есть вариант проще, который некоторые группы предпочитают. Хост соглашается на нового персонажа, а группа тратит вечер, чтобы прокачать его обратно. Предметы можно выдать новому персонажу из сундуков старой гильдии; палов можно передать через palbox, если новый персонаж хоста вступит в гильдию. Хост теряет собственный уровень и открытые технологии - это и есть реальная цена. В мире, где хост играл гораздо больше остальных, инструмент того стоит. В мире, где все играли примерно поровну, начать хосту заново часто проще, чем отлаживать переписывание сохранения.
Если инструмент пока не умеет читать сохранение вашей версии, ожидание - вполне законный третий вариант. Загрузите мир, дайте гостям играть, а хост пусть подождёт, пока не выйдет обновлённый инструмент: старый 00000000000000000000000000000001.sav остаётся в папке нетронутым, и исправление можно запустить позже со свежей резервной копии. Единственное, чего хосту нельзя делать тем временем, - прокачивать персонажа-заглушку, потому что исправление его заменит.
Как вернуть мир с выделенного сервера в кооператив#
У обратного пути зеркальная проблема: в кооперативе хост должен быть 00000000000000000000000000000001, поэтому тот, кто будет хостить локально, теряет своего персонажа с выделенного сервера, если не переименовать его файл и не переписать сохранение. Те же инструменты умеют делать замену в обратную сторону. Остальное - то же самое в обратном порядке: скачайте папку мира, положите её в папку хоста SaveGames\<SteamID64>\, и мир появится в списке.
Настройки после переезда#
Когда WorldOption.sav удалён, сервер читает Pal/Saved/Config/LinuxServer/PalWorldSettings.ini. Если этот файл пустой, сервер работает на значениях по умолчанию, а они могут сильно отличаться от того, с чем группа играла в кооперативе, - другой штраф за смерть, другие рейты, другой лимит баз. Перед первым вечером на сервере:
- Скопируйте
DefaultPalWorldSettings.iniиз корня установки вPalWorldSettings.iniи отредактируйте его. - Выставьте рейты и штраф за смерть такими же, как в кооперативном мире, если группа не хочет перемен.
- Проверьте
BaseCampMaxNumInGuildиBaseCampWorkerMaxNum. Если в кооперативном мире было больше баз, чем разрешает сервер, существующие останутся, но новые никто построить не сможет. О том, как эти лимиты связаны с памятью, - в статье память сервера Palworld. - Помните, что
OptionSettings=(...)должна быть в одну строку.
Серверу также нужен пароль администратора - раньше, чем он понадобится. Об этом - в статье команды администратора Palworld и RCON.
Как это сделать в RE:NODE#
В RE:NODE сервер Palworld начинается с 8 GB памяти - это минимум, при котором перенесённому кооперативному миру с обжитыми базами остаётся комфортно. Загрузите папку мира через файловый менеджер - загрузка папок поддерживается - или по SFTP для большого сохранения; отредактируйте GameUserSettings.ini и PalWorldSettings.ini во встроенном в браузер редакторе и следите за загрузкой в живой консоли. Сделайте резервную копию на вкладке Backups перед загрузкой и ещё одну после исправления хоста, чтобы у каждого этапа была точка восстановления. Слоты резервных копий есть в каждом тарифе, а восстановление - одна кнопка.
Если перенос не удался#
Сервер создал новый мир вместо того, чтобы загрузить мой. DedicatedServerName не совпадает с именем папки, или папка вложена на уровень глубже (SaveGames/0/<WorldID>/<WorldID>/). Исправьте путь или имя и перезапустите. Ваш мир по-прежнему на месте.
Мои настройки сервера игнорируются. WorldOption.sav всё ещё лежит в папке мира. Удалите его при остановленном сервере.
У гостей тоже новые персонажи. Гости заходят с другого аккаунта платформы, чем в кооперативе, или мир загрузили на более старом сервере, который не прочитал их файлы. Проверьте версии.
Инструмент исправления не может прочитать сохранение. Инструмент не поддерживает формат сохранения вашей версии игры. Найдите обновлённую версию или форк и ничего не правьте вручную.
Персонаж у хоста есть, но его палы не работают. Известная особенность инструмента; поднимите палов в palbox и поставьте снова или запустите исправление заново с исходного сохранения с опцией guild fix.
Мир загружается, но по несколько минут. Большой Level.sav. Для зрелого мира это нормально, и улучшить это можно только сократив мир, а не настройками, - см. резервные копии и сброс мира Palworld.
FAQ#
Теряют ли гости персонажей при переносе мира Palworld на сервер?
Нет. В кооперативе гости тоже сохраняются под ID, выведенным из их аккаунта, поэтому их файлы работают на выделенном сервере без изменений. Под ID-заглушкой сохраняется только хост.
Где лежит папка кооперативных сохранений Palworld?
У версии из Steam на Windows - в %LOCALAPPDATA%\Pal\Saved\SaveGames\, затем SteamID64 хоста, затем по одной папке на каждый мир с 32-символьным шестнадцатеричным именем.
Зачем удалять WorldOption.sav?
В нём хранятся настройки, с которыми мир был создан в кооперативе. Пока он существует, эти настройки могут иметь приоритет над PalWorldSettings.ini сервера, и ваша конфигурация сервера будто ничего не делает.
Можно ли объединить два кооперативных мира на одном сервере?
Нет. Мир - это один Level.sav. Можно запустить либо один, либо другой, а переносить персонажей между мирами обычными инструментами нельзя.
Сработает ли host save fix после обновления игры?
Только если инструмент обновили под новый формат сохранения. Перед переносом проверьте страницу инструмента и храните нетронутое исходное сохранение, пока хост какое-то время не поиграет на исправленном.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.