DungeonSettlers.wiki

Файлы сохранений (для опытных)

Steam

Продвинутый материал, на свой страх и риск. Эта статья описывает сырые файлы на диске.

Сводка

ФорматОбычный JSON, ~1-2 MB на автосохранение кампании
Путь macOS~/Library/Application Support/CanOpener/Dungeon Settlers/Saves/
Путь Windows%USERPROFILE%\AppData\LocalLow\CanOpener\Dungeon Settlers\Saves\
Сопутствующие файлыSaveHeaderCache.json, UserCampaignLog.json, UserSetting.json
Броски гравировокГенерируются при открытии экрана повышения уровня (не сохраняются) - перезагрузка бросает их заново
Главная ловушкаОчистка Rooms/сеток карты до {} вызывает бесконечную загрузку

Формат и сопутствующие файлы

ОсторожноВсегда делайте резервную копию сохранения, прежде чем его трогать. Плохая правка может застрять кампанию.

Сохранения это обычные JSON файлы, по одному на автосохранение кампании (примерно 1-2 MB каждый). Рядом с ними лежат:

  • SaveHeaderCache.json хранит кэшированные метаданные заголовка для меню загрузки
  • UserCampaignLog.json это счётчик кампаний
  • UserSetting.json хранит графику, звук и привязки клавиш

Где хранятся сохранения

  • macOS (нативная сборка Steam): ~/Library/Application Support/CanOpener/Dungeon Settlers/Saves/ (сборка раннего доступа, с DS_B.0.4.11)
  • Windows: %USERPROFILE%\AppData\LocalLow\CanOpener\Dungeon Settlers\Saves\ (с выпуском раннего доступа продукт потерял суффикс "(Alpha)" / "(Playtest)")

Под CrossOver/Wine на Mac путь Windows указывает на ~/Library/Application Support/CrossOver/Bottles/<bottle>/drive_c/users/crossover/AppData/LocalLow/CanOpener/Dungeon Settlers/Saves/.

Старые демо-сборки и пробные сборки использовали другие папки:

  • ~/Library/Application Support/com.CanOpener.Dungeon-Settlers--Alpha-/Saves/
  • ~/Library/Application Support/CanOpener/Dungeon Settlers (Playtest)/Saves/
ПримечаниеВыпущенная игра эти папки не читает.

Ключи верхнего уровня

КлючСодержит
CampaignSaveHeaderДень, версия, сложность, время игры, текущий регион
CampaignSettingSaveDataСкорость игры, камера, сид, тип сценария
EntityContainerSaveData / EntityComponentSaveDataКаждый юнит, здание и предмет, с данными компонентов по сущности (характеристики, аффектеры, навыки)
PlayerUnitsSaveDataДеревья навыков, изученные навыки, очки навыков, быстрые слоты
ClanSaveDataНазвание клана, золото, население, кандидаты на набор, состояние карты региона, переключатель пропуска безопасных этажей
RawMapContainerSaveData / RawBaseSaveData / RawDungeonSaveDataСетки карты, поселение и текущая планировка подземелья (комнаты, этаж, фаза)
TimeSaveDataГлавные часы (день / час / мин / тик)
EnvironmentSaveDataПогода/эффекты по регионам и счётчики истощения
QuestContainerSaveDataЗавершённые, активные и ожидающие задания
ResearchSaveData / FarmingCropSaveDataПрогресс исследования и культуры

Перебросы гравировок

Варианты гравировки при повышении уровня создаются на лету при открытии экрана повышения уровня. Они не хранятся в сохранении.

Кроме встроенной кнопки Повторить, сохранение перед молитвой и перезагрузка заново бросают все 5 вариантов.

ОсторожноЕсли править гравировку напрямую, сменить только ключ аффектера недостаточно. Игра записывает бонусы характеристик в блок характеристик юнита и не пересчитывает их при загрузке, поэтому править нужно оба места согласованно.

Правки, которых стоит избегать

ОсторожноНикогда не очищайте RawDungeonSaveData.Rooms или RawMapContainerSaveData сетки, например задавая им {}. Игра считает пустой словарь как "есть данные для восстановления", ничего не находит и зависает в бесконечная загрузка. Пусть игра сама отбросит устаревшие данные подземелья.
  • Не правьте сохранение, пока игра запущена. Следующее автосохранение перезапишет вашу работу.
  • Не стоит править у региона IsLocked флаг в текущих сборках. Состояние разблокировки пересчитывается при каждой загрузке, так что правка ничего не даёт (Как разблокируются регионы).
  • Удаление кампании в игре также удаляет файл автосохранения. Храните внешние копии всего, что вам важно.