• Автор записи:

Облачные сохранения Steam: перенос прогресса и конфликты

Steam Cloud — не единая кнопка «сохранить всё в интернет», а два разных механизма, которые разработчик подключает по своему усмотрению, поэтому у одной игры в облаке лежат все слоты и настройки, а у другой не лежит ничего. Разбираем, где физически находятся файлы прогресса, как правильно перенести кампанию на второй компьютер, что означает окно конфликта синхронизации и почему «облако не работает» чаще всего оказывается не сбоем сервера, а особенностью конкретной игры.

Steam Cloud подключается двумя способами, и от этого зависит всё остальное

В документации Steamworks для разработчиков описаны два варианта интеграции, и разница между ними объясняет большую часть жалоб игроков.

Auto-Cloud — вариант без кода: разработчик просто указывает в панели Steamworks маски файлов и папок, например *.sav в каталоге документов, а клиент Steam сам забирает эти файлы при выходе из игры и раскладывает обратно при запуске. Для подстановки идентификатора игрока в путь используются переменные {64BitSteamID} и {Steam3AccountID}.

ISteamRemoteStorage — вариант через API: игра сама вызывает функции записи и чтения и решает, какие именно файлы отправить. Это даёт разработчику больше контроля — например, можно выгружать только «чистые» слоты и не трогать временные файлы.

Облачные сохранения Steam: перенос прогресса и конфликты
Ручная копия папки сохранений работает независимо от того, каким способом разработчик подключил облако — и часто выручает там, где облако бессильно.
Свойство Auto-Cloud ISteamRemoteStorage
Требует кода в игре Нет, только настройка масок Да, вызовы API
Когда идёт синхронизация При запуске и при выходе из игры В момент, выбранный игрой
Синхронизация между ОС по умолчанию Только та ОС, для которой настроено Все платформы сразу
Видно ли отдельные файлы в веб-интерфейсе Steam Как правило, нет Обычно да, со списком и размерами
Что происходит при вылете игры Выгрузка может не сработать Уже записанное в облаке остаётся

Практический вывод: если игра использует Auto-Cloud, а вы закрыли её через диспетчер задач или ПК ушёл в перезагрузку — шага «выход из игры» не было, значит и выгрузки в облако не было. Локальный файл при этом цел, потерян только факт синхронизации.

Как проверить, что у конкретной игры вообще есть облако

Надёжных признаков три, и смотреть лучше все:

  • Карточка магазина. В правой колонке в списке особенностей должен быть пункт «Steam Cloud». Если его нет — облака нет, и никакие настройки клиента этого не изменят.
  • Свойства игры в библиотеке. Правый клик по игре → «Свойства» → раздел «Общие»: у поддерживаемых игр там есть переключатель синхронизации с Steam Cloud. У неподдерживаемых переключателя просто не будет.
  • Веб-страница облака. Адрес store.steampowered.com/account/remotestorage показывает список игр, которые действительно занимают место в вашем облаке, с объёмом и количеством файлов.

Отдельная ловушка — игры, у которых в облако уходят только настройки графики и раскладка клавиш, а слоты сохранений остаются локальными. Формально «Steam Cloud» в особенностях указан, фактически прогресс не переезжает. Такое встречается у портов со старых консолей и у игр со сторонними лаунчерами поверх Steam.

Где лежат файлы: userdata, remote и remotecache

Для игр на API путь предсказуем:

C:Program Files (x86)Steamuserdata<ID аккаунта><ID игры>remote

Здесь <ID аккаунта> — это Steam3-идентификатор, короткое число, а не длинный SteamID64 из профиля. Если аккаунт на компьютере один, внутри userdata будет ровно одна папка — её и берём. <ID игры> — номер приложения, тот же, что в адресе страницы магазина.

Рядом с папкой remote лежит файл remotecache.vdf — это локальный реестр того, какие файлы и с какими отметками времени клиент считает синхронизированными. Именно расхождение записей в нём с состоянием сервера и порождает окно конфликта.

Для игр на Auto-Cloud файлы остаются там, где их положила сама игра: обычно это ДокументыMy Games, %APPDATA% или %LOCALAPPDATA%. В userdata их не будет, и это нормально.

Перенос прогресса на второй компьютер: рабочий порядок

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

  1. На старом ПК выйдите из игры полностью — не сворачивайте, а закройте.
  2. Дождитесь, пока в правом нижнем углу Steam исчезнет индикатор синхронизации. На больших сохранениях это занимает не секунду.
  3. Полностью закройте Steam через значок в трее и убедитесь, что процесс завершился. Клиент дожимает выгрузку именно при выходе.
  4. На всякий случай скопируйте локальную папку сохранений на флешку или в любое своё облако. Это тридцать секунд, которые страхуют от любого сценария ниже.
  5. На новом ПК войдите в аккаунт, дождитесь окончания установки и только потом запускайте игру.
  6. Если на новом ПК игра уже запускалась и создала пустой профиль — при первом старте после переноса вы получите конфликт. Как его читать, ниже.

Если игра работает через Auto-Cloud и вы переезжаете между Windows и Linux (в том числе на переносную консоль), совместимость не гарантирована: по умолчанию Auto-Cloud синхронизирует только ту ОС, для которой настроен. Игры на API в этом смысле дружелюбнее — у них кросс-платформенная синхронизация включена по умолчанию.

Окно конфликта синхронизации: как выбрать и не ошибиться

Конфликт появляется, когда локальные файлы и файлы в облаке изменились независимо друг от друга — например, вы поиграли в офлайн-режиме на ноутбуке, а до этого на десктопе. Steam не умеет объединять два сохранения и честно перекладывает решение на игрока.

Ряды серверных стоек в дата-центре ЦЕРН с открытой задней стенкой оборудования и пучками кабелей
Облако Steam — обычные серверы. Копия там ровно одна, и при конфликте вторую версию сохранения никто не хранит.
Ситуация Что выбирать Почему
Играли офлайн на этой машине, здесь же прогресс свежее Загрузить в облако локальную версию Локальные файлы новее серверных
Играли на другом ПК, здесь машина стояла без дела Скачать версию из облака Локальная копия отстала
Игра слетела на новом ПК и создала пустой профиль Скачать версию из облака Иначе пустышка затрёт настоящее сохранение
Отметки времени примерно совпадают, что новее — непонятно Ничего не выбирать, закрыть окно Сначала скопировать локальную папку, потом решать

Главное правило: ориентируйтесь на дату и время последней реальной игровой сессии, а не на подпись «Cloud». Метка «облако» не означает «правильное». И если сомневаетесь — окно можно закрыть, сделать резервную копию локальной папки и вернуться к выбору осознанно.

Облако молчит: разбор причин по частоте

Симптом Вероятная причина Что делать
Синхронизации нет ни у одной игры Глобальный переключатель облака выключен в настройках клиента Steam → «Настройки» → раздел облака, включить синхронизацию
Не синхронизируется одна игра Отключён переключатель в свойствах именно этой игры Свойства → «Общие» → включить Steam Cloud
«Не удалось синхронизировать» при каждом запуске Зависший процесс клиента Выйти из Steam через трей, подождать десяток секунд, запустить заново
Прогресс не уходит, ошибок нет Игра использует Auto-Cloud, а вы закрываете её принудительно Выходить из игры штатно, через меню
Облако работало и перестало после переустановки Игра пишет в другой профиль пользователя Windows Проверить, под тем ли аккаунтом ОС запущена игра
Часть слотов синхронизируется, часть нет Исчерпана квота, выделенная разработчиком Удалить старые слоты и ручные сохранения

Про квоту стоит сказать отдельно, потому что это самая неочевидная причина. Единого лимита у Steam Cloud нет: и объём в байтах, и максимальное количество файлов задаёт разработчик в панели Steamworks для своей игры. Поэтому у одного проекта в облако помещаются сотни автосейвов, а у другого — десяток. На стороне API есть и технические потолки: один вызов записи не может передать больше 100 МБ, а файлы крупнее 256 МБ документация прямо не рекомендует — они попадают в неоптимальное хранилище и синхронизируются медленно.

Ручная копия: что именно можно забрать из облака

Здесь источники расходятся, и расхождение стоит объяснить, потому что от него зависят ожидания.

Часть руководств утверждает, что страница store.steampowered.com/account/remotestorage позволяет скачать любые облачные сохранения всей библиотеки: нажать «Показать файлы» и скачать нужный. Другая часть настаивает, что скачать файлы нельзя, а страница показывает только список.

Правы обе стороны, просто описывают разные случаи. Для игр, подключённых через ISteamRemoteStorage, страница действительно разворачивает список конкретных файлов с размерами и датами, и рядом с каждым есть ссылка на скачивание. Для игр на Auto-Cloud поштучного списка обычно нет — видно только суммарный объём. Отсюда и противоположный опыт у авторов: всё зависит от того, какую игру они открыли.

Второе расхождение серьёзнее. В нескольких публикациях встречается утверждение, что Valve держит «скользящий 30-дневный бэкап» всех облачных сохранений и по обращению в поддержку прошлую версию восстановят. В официальной документации Steamworks такой услуги нет, и опираться на неё при планировании переноса не стоит. Обратиться в поддержку можно всегда, но считать это гарантированным способом отката — нельзя. Единственная резервная копия, на которую вы действительно влияете, — та, которую сделали сами.

Поэтому надёжная схема ручного бэкапа выглядит скучно и работает всегда: закрыть игру, скопировать локальную папку сохранений целиком, дописать к имени копии дату. Для игр на API это userdata<ID аккаунта><ID игры>remote, для Auto-Cloud — та папка, куда пишет сама игра.

Чего Steam Cloud не делает

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

  • Это не версионность. В облаке лежит одно текущее состояние, а не история изменений. Перезаписали сохранение — прошлого больше нет.
  • Это не защита от читеров и не защита от вас. Испорченный, обнулённый или битый файл синхронизируется в облако так же аккуратно, как нормальный.
  • Это не перенос модов. Моды из Мастерской привязаны к подпискам и подтягиваются отдельно, а ручные сборки модов не синхронизируются вовсе — и именно они чаще всего ломают чужие сохранения после переезда.
  • Это не Remote Play. Remote Play транслирует картинку с одного устройства на другое, игра при этом остаётся на исходной машине. Steam Cloud переносит файлы, а не изображение — путать эти функции не стоит.
  • Это не общий доступ. Облако привязано к аккаунту. Передать прогресс другому человеку через него нельзя — только копированием файлов вручную, если игра это переживёт.

Частые ошибки

  • Играть в офлайне на двух машинах подряд. Это гарантированный конфликт, причём с шансом потерять более длинную сессию.
  • Закрывать игру принудительно. Для Auto-Cloud выход из игры — единственный момент выгрузки. Alt+F4 в зависшем окне и «снять задачу» этот момент отменяют.
  • Выключать ПК сразу после игры. Клиенту нужно время дожать выгрузку. На больших сохранениях стратегий и RPG это заметно.
  • Верить подписи «Cloud» в окне конфликта. Смотреть надо на время, а не на подпись.
  • Отключать облако «чтобы не мешало». Выключенный переключатель в свойствах игры — самая частая причина того, что прогресс не переехал, и вспоминают о нём в последнюю очередь.
  • Считать, что все игры библиотеки в облаке. В кооперативных сборках и играх на двоих локальные профили второго игрока сплошь и рядом остаются только на диске.

Кому этот механизм не поможет

Steam Cloud бесполезен в нескольких сценариях, и лучше знать о них заранее.

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

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

Третий — потеря доступа к самому аккаунту. Облако не спасёт, если вы не можете войти: файлы привязаны к учётной записи, а не к компьютеру. Здесь работает совсем другая профилактика — Steam Guard и заранее настроенные способы восстановления доступа.

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

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

Коротко

  • Steam Cloud подключается либо через Auto-Cloud (синхронизация при запуске и выходе), либо через API — от этого зависит, увидите ли вы отдельные файлы в веб-интерфейсе.
  • Файлы игр на API лежат в Steamuserdata<ID аккаунта><ID игры>remote, файлы Auto-Cloud — там, куда пишет сама игра.
  • Перед переездом закройте игру штатно, дождитесь окончания синхронизации, закройте Steam и только потом запускайте игру на второй машине.
  • В окне конфликта выбирайте по времени последней сессии, а не по подписи «облако»; при сомнении закройте окно и сделайте копию.
  • Единого лимита у облака нет — квоту в байтах и по числу файлов задаёт разработчик каждой игры отдельно.
  • Утверждение о 30-дневном откате сохранений через поддержку официальной документацией не подтверждается; единственная надёжная резервная копия — ваша собственная.
  • Облако не хранит историю версий, не переносит ручные моды и не заменяет Remote Play.