Продвинутый материал, на свой страх и риск. Эта статья описывает сырые файлы на диске.
Сводка
ФорматОбычный 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флаг в текущих сборках. Состояние разблокировки пересчитывается при каждой загрузке, так что правка ничего не даёт (Как разблокируются регионы). - Удаление кампании в игре также удаляет файл автосохранения. Храните внешние копии всего, что вам важно.