Рассмотрим возможность сыграть в установленные Steam-игры без самого клиента, например, на другом компьютере.
Эмуляторы Steam
Вероятно, на данный момент существует два эмулятора Steam. Первый и самый известный — SteamEmu, обновление которого последний раз было в конце марта 2008-го года. Второй — постоянно обновляемый The REVOLUTiON Emulator. Существуют также такие программы, как Universal Content Launcher, STEAM-BUSTER и пр., однако они используют все те же SteamEmu и revEmu, так что рассматривать их не будем.
revEmu — The REVOLUTiON Emulator
Разработчик: REVOLUTiON Crew
Версия: 9.81 R3
Язык: английский
Сайт: rev-crew.info / cs.rin.ru/forum/viewtopic.php?f=29&t=30678
Скачать: «Яндекс.Народ»
Цена: бесплатно
ОС: Windows
Предполагается, что у Вас есть установленные через Steam игры, и Вы их запускали хотя бы один раз. Игры представляют собой gcf-файлы, которые лежат в папке steamapps Steam-клиента. Там же должна быть еще одна с именем пользователя Steam. Уже в ней мы увидим папки с названиями игр, например, half-life 2 episode two. Полный путь будет выглядеть так: Steam\steamapps\имя-пользователя-Steam\название-игры.
Попробуем сыграть в Half-Life 2: Episode Two. Скопируем содержимое папки RevEmu из архива с программой в папку с названием игры. Там должен быть еще exe-файл (в нашем случае hl2.exe). Скопируем сюда же файл ClientRegistry.blob из папки Steam. Осталось отредактировать два ini-файла.
rev.ini
Файл настроек эмулятора. Он довольно неплохо документирован «сам в себе», но только на английском. Итак, для достижения нашей цели, нам нужно изменить следующие параметры:
CacheEnabled = False
CachePath = E:\Steam\SteamApps
Language = English
# SteamDll = E:\Steam\Steam.dll
SteamUser = SteamPlayer
# ClientDLL = E:\Steam\steamclient.dll
На:
CacheEnabled = True
CachePath = полный-путь-к-папке-Steam\steamapps
Language = Russian
SteamDll = полный-путь-к-папке-Steam\Steam.dll
SteamUser = имя-пользователя-Steam
ClientDLL = полный-путь-к-папке-Steam\steamclient.dll
revApps.ini
Файл, в котором определяется какие gcf-файлы к каким играм относятся. В него нам надо добавить строки — файлы локализации. На примере Half-Life 2: Episode Two. Найдем такой блок:
[420]
Name=Half-Life 2: Episode Two
GCF1=episode 1 shared.gcf
GCF2=episode two content.gcf
GCF3=episode two maps.gcf
GCF4=episode two materials.gcf
GCF5=episodic 2007 shared.gcf
GCF6=half-life 2 episode two english.gcf
GCF7=source 2007 binaries.gcf
GCF8=source 2007 shared materials.gcf
GCF9=source 2007 shared models.gcf
GCF10=source 2007 shared sounds.gcf
GCF11=source materials.gcf
GCF12=source models.gcf
GCF13=source sounds.gcf
Уберем строчку:
GCF6=half-life 2 episode two english.gcf
Добавим в конец:
GCF6=half-life 2 episode one russian.gcf
GCF14=half-life 2 episode two russian.gcf
GCF15=half-life 2_russian.gcf
Теперь у нас в игре есть полноценная русификация. Как видно, второй эпизод использует файлы локализации оригинальной Half-Life 2, а также первого эпизода.
Последний шаг
Создадим ярлык для exe-файла. Это не прихоть, а необходимость. В ярлыке мы укажем параметры для запуска игры. Откроем его свойства. В нашем случае поле «Объект» должно содержать следующую строку:
"полный-путь-к-папке-Steam\steamapps\имя-пользователя-Steam\half-life 2 episode two\hl2.exe" -appid 420 -game ep2
-appid номер игры — номер из файла revApps.ini.
-game идентификатор игры — файл hl2.exe используется для запуска нескольких игр, и мы должны указать конкретную (ep2, hl2, episodic, portal, lostcoast, tf).
Вот, пожалуй, и все. Запускаем игру по нашему ярлыку и играем.