Steam Cloud и сохранение Isaac: как подменить файл и не потерять его
Steam синхронизирует папку сейвов Isaac до и после каждого запуска. Подменишь файл, не предупредив Steam, и старая версия вернётся, либо появится окно Cloud Conflict, где легко нажать не то. Ниже то, что происходит на самом деле, и процедура, которую рекомендует сама Nicalis.
Как работает синхронизация
- Steam сверяет облачные файлы игры перед запуском и после закрытия (документация Steamworks).
- Если локальные файлы отличаются от облачных и Steam не может решить, какие правильные, при запуске показывается окно конфликта. Выбирать обязан ты, вторая сторона будет перезаписана.
- Из какой папки игра читает сейв, решает ключ
SteamCloudвoptions.ini, а не галочка в Steam. Подробнее в гайде где лежит сейв. - Игра в автономном режиме Steam почти гарантированно приводит к конфликту потом, пишет поддержка Steam.
Официальная процедура (Nicalis)
Nicalis опубликовала эти шаги в январе 2024 для восстановления бэкапа во время онлайн-беты. Они работают для любого подменяемого файла, в том числе экспортированного из этого редактора.
- Скопируй текущие файлы сохранений в надёжное место.
- В библиотеке Steam кликни правой кнопкой по The Binding of Isaac: Rebirth, открой «Свойства» и на вкладке «Общие» выключи Steam Cloud.
- Открой папку с активными сейвами и скопируй туда новый файл. Назови его по слоту, который он заменяет:
persistentgamedata1.datв Documents илиrep+persistentgamedata1.datвuserdata\…\250900\remote. - Запусти игру и проверь слот на экране выбора сохранения; метки видны на экране выбора персонажа.
- Закрой игру, снова открой «Свойства» и включи Steam Cloud обратно.
- Запусти игру ещё раз. Steam сообщит, что облачные и локальные файлы различаются. Выбери локальные, и они перезапишут облако.
Окно Cloud Conflict
В текущем клиенте Steam оно называется «Cloud Conflict» и предлагает две кнопки, Local Save и Cloud Save, каждая с пометкой Newer или Older и датой изменения. Чтобы оставить только что установленный файл, выбирай Local Save: облачная копия будет перезаписана им. Cloud Save выбросит твою правку. Отдельное предупреждение «Unable to Sync» с кнопкой «Play anyway» тоже опасно: по словам поддержки Steam, игра через него может стоить прогресса.
Альтернатива: SteamCloud=0
Чтобы не щёлкать галочку каждый раз, поставь SteamCloud=0 в %USERPROFILE%\Documents\My Games\Binding of Isaac Repentance+\options.ini при закрытой игре. Тогда игра читает и пишет persistentgamedataN.dat в этой папке Documents, и облако перестаёт вмешиваться. FAQ Zamiell рекомендует именно такую схему, потому что все файлы лежат в одном месте. Ищи в файле имя ключа, а не номер строки: патч 1.9.7.16 добавил EosCrossplay, и раскладка файла между версиями меняется.
SteamCloud=0Два момента. Во-первых, игра сама переписывает options.ini из своих меню, поэтому правь его только при закрытой игре. Во-вторых, переключение ключа переводит игру на другой файл: копия в Documents может оказаться старее или пустой. Сначала положи нужный сейв в Documents, потом переключай.
Если старый сейв возвращается
На форумах описывают, как игра восстанавливает старый сейв Repentance+ даже при выключенном облаке. На практике помогают два приёма:
- Очисти
save_backups(перенеси файлы в другое место) перед тем, как класть новый файл, и только потом запускай. Несколько гайдов считают это обязательным шагом. - Удали облачные файлы, чьи имена начинаются на
rep+(и наrgon, если стоял REPENTOGON), сторонним Steam Cloud File Manager, затем запусти игру. Steam такой способ не поддерживает, сначала сделай копии всего.
Посмотреть, что Steam хранит для игры, можно на store.steampowered.com/account/remotestorage, а лог синхронизации лежит в Steam\logs\cloud_log.txt. Поддержка Steam не восстанавливает потерянные сейвы и не разрешает конфликты за тебя.
Источники
Отредактируй файл в браузере
Перетащи rep+persistentgamedata.dat в Isaac Save Editor, поменяй что нужно, скачай валидный файл. Ничего никуда не отправляется.