Игроки, с легально приобретенными играми в steam, не могут свободно обмениваться своими сохранениями. Это касается не всех игр, а лишь тех, которые зашивают внутри своих сохранений steam id конкретного игрока. Таким образом каждое сохранение становится уникальным и его не могут использовать другие игроки. Некоторые компетентные игроки начали создавать инструменты для обхода проверки steam id той или иной игрой, либо редакторы сохранений, в которых можно было менять steam id. Но что делать, когда для конкретной игры никаких способов обхода steam id на текущий момент нет? Можно попробовать воспользоваться относительно универсальным способом перепрошивки steam id в сохранениях игр с использованием эмуляторов библиотек steam. Об этом данная публикация.
В чем вкратце суть данного метода?
Схема относительно простая. Находим в интернете и скачиваем эмулятор библиотек steam для нужной игры, чтобы ее можно было запустить без steam. Указываем в настройках эмулятора steam id, от скачанного сохранения. Запускаем игру с использованием эмулятора библиотек steam. С помощью Cheat Engine находим steam id в памяти игры. Как только игра загрузила сохранение, изменяем в Cheat Engine, найденное ранее, значение steam id на свое собственное. Делаем незначительное изменение в игре, чтобы она обновила сохранение (это может быть смена костюма у персонажа, либо изменение каких-либо параметров в настройках игры). Теперь в сохранении игры зашит наш собственный steam id. Подменяем данным полученным сохранением свое старое. Таким образом мы заполучили чужое сохранение и спокойно можем им пользоваться на своей лицензионной копии игры в steam.
Какие ограничения у данного метода?
Нужно заведомо знать какой конкретно steam id зашит в сохранение. Иногда игроки, когда делятся своими сохранениями, указывают свой steam id. Такие сохранения подходят для данного метода. Также подходят сохранения, сделанные на эмуляторах библиотек steam, где в настройках эмулятора не был задействован параметр, отвечающий за steam id. Используемые эмуляторы должны создавать совместимые со steam сохранения.
В данной публикации описана общая концепция, чтобы был понятен принцип и игроки могли самостоятельно перепрошивать сохранения в различных играх. Чтобы было более понятно, записана видеоинструкция на примере игры «Resident Evil Revelations 2».
Часто задаваемые вопросы
Этот метод работает со всеми эмуляторами библиотек steam?
- Это нужно выяснять экспериментальным путем. Опробовать все возможные эмуляторы на всех возможных играх физически невозможно. Если говорить конкретно об игре Resident Evil Revelations 2, то мной было опробовано три вида эмуляторов. Сохранения игры, сделанные на эмуляторах от CODEX и ALI213 совместимы между собой и steam. Сохранения, сделанные на эмуляторе от 3DM не совместимы с другими эмуляторами и steam. Не все эмуляторы библиотек steam подойдут для данного метода. Нужны эмуляторы, которые создают совместимые со steam сохранения.
Почему издатели игр не хотят, чтобы игроки обменивались сохранениями?
- Предположительно из-за микротранзакций и игровых достижений. Но это не точно.
А зачем нужен эмулятор, не проще ли все это провернуть непосредственно со steam?
- Со steam данный метод не работает. Но мы можем создать при помощи эмулятора библиотек steam сохранение с нужным steam id, которое будет совместимо со steam, и затем подсунуть его steam.
Как узнать свой steam id?
- Как вариант, можно заглянуть в директорию, где установлен steam.
C:\Program Files (x86)\Steam\userdata\<Эти цифры и есть ваш steam id>\
Если в эмуляторе не указывать steam id, то что будет зашито в сохранение?
- Если явно не задать значение steam id в конфигурационном файле эмулятора, то будет использовано значение по умолчанию, предусмотренное разработчиками эмулятора. Для актуальных эмуляторов от CODEX и ALI213 значение по умолчанию равно 1638. Это значение можно легко подсмотреть при помощи Cheat Engine.
Что означает символ # в конфигурационном файле эмулятора, находящийся перед тем, или иным параметром?
- Данный символ, стоящий перед параметром, означает, что параметр будет проигнорирован и будет взято его значение по умолчанию. Чтобы параметр не был проигнорирован, следует удалить данный символ.
Как задать значение steam id в эмуляторе от CODEX?
- В конфигурационном файле steam_emu.ini нужно найти параметр AccountId и присвоить ему необходимое значение. Допустим наш steam id равен 123456789. Выглядеть это будет так:
AccountId=123456789
Как задать значение steam id в эмуляторе от ALI213?
- В конфигурационном файле SteamConfig.ini нужно найти параметр SteamUserID и присвоить ему необходимое значение в шестнадцатеричной системе счисления. Допустим наш steam id равен 123456789. Конвертируем его в шестнадцатеричную систему счисления, получаем 75BCD15. Полученное значение состоит из семи символов. Его нужно довести до восьми символов. Для этого необходимо добавить лидирующие нули перед значением. В итоге получим 075BCD15. Мы добавили всего один ноль, но если бы значение состояло из шести символов, то пришлось бы добавить два нуля спереди, и т.д. Конечный результат будет выглядеть так:
SteamUserID = 075BCD15
Как поделиться своим сохранением анонимно, не раскрывая свой steam id?
- Перепрошить в сохранении свой реальный steam id вымышленным, например 123456789. При публикации данного сохранения укажите steam id который в него зашит, чтобы сохранением смогли воспользоваться другие игроки.