Для установки я взял самого первого Сталкера, образ формата .mdf. Вы, наверное, уже знаете, что образы формата алкоголя в большинстве случаев можно смонтировать как обычный iso (если при копировании образа не обходилась специфическая защита). Так мы и поступим в нашем случае:
kenny@localhost ~ $
mount -o loop /mnt/D/CD_IMG/games/stalker/STALKER.mdf /mnt/loop
localhost ~ $ mount
/dev/sda7 on / type ext3 (rw,noatime)
...
/mnt/D/CD_IMG/games/stalker/STALKER.mdf
on /mnt/loop type iso9660 (rw,loop=/dev/loop0)
Образ смонтирован, запускаем установку.
$ cd /mnt/loop
$ wine setup.exe
Начнется "стандартная" установка приложения.И после нажатия очередного "далее" мы попали на ввод серийного номера и пароля. Ну я введу свои, Вы вводите свои Потом, понятное дело, снимаем галку "регистрировать игру" (я никогда не регистрирую даже лицензионные игры, потому что лень - двигатель прогресса

.
Итак, установка завершена. Чисто ради интереса попробуем оставить включенной галку "запустить игру"...
И благополучно обламаемся. Копирайтеры не дремлют. Сраный СтарФорс не даст запустить игру с абсолютно легального, лицензионного диска. Тем более, с алкоголевского образа. Придется ломать абсолютно законно купленную софтину. Да, блин, мы живем именно в этой дерьмовой стране - копии игр на английском языке обычно делают без СтарФорса - видимо неоднократно получали за такую защиту "по чайнику". Еще раз обращаю внимание - сначала надо установить патч до последней версии (который есть у Вас, и в которую Вы будете дальше играть), а потом снять защиту, причем nocd должен быть именно для этой версии. Кстати, файл XR3DA лучше сохранять перед снятием защиты, иначе при выходе следующего патча придется переустанавливать игру.
kenny@localhost /mnt/loop $
wine /home/kenny/Soft/stk-sfk-r-patch-any-1.0003.exe
Запускать игру второй раз, чтобы посмотреть на картинку Старфорса мы не будем. И так понятно, что защита не даст запустить игру в режиме эмуляции, сразу скопирум nocd-патч в директорию с установленным Сталкером:
cp /mnt/D/CD_IMG/games/stalker/
/STALKER_1.0003_No-DVD_RUS/XR_3DA.exe
~/.wine/drive_c/
/Program Files/S.T.A.L.K.E.R/bin/
Итак, запускаем игру:
kenny@localhost /mnt/loop $
cd ~/.wine/drive_c/Program Files/S.T.A.L.K.E.R/bin/
kenny@localhost ~/.wine/drive_c/
/Program Files/S.T.A.L.K.E.R/bin $
wine ./XR_3DA.exe
Урра... Игра запущена? Черный экран и бегущая по консоли строка:
err:ntdll:RtlpWaitForCriticalSection section 0xb84390 "?" wait timed out in thread 0009, blocked by 001b, retrying (60 sec)
Ахах, какая досада. Но у нас же установлен Линукс, может ну его нахрен? Пошли в винду? Нет, комсомольцы(как и физики) не ищут легких путей. Ну эту винду не нравится она мне. Поэтому, мы лезем сюда:
winehq И первое, что видим, сталкер работает только через директ саунд. Надеюсь, вайн уже настроен, чтобы выводить звук через OSS? Если нет, сделаем это сейчас:
kenny@localhost ~/.wine/drive_c/
/Program Files/S.T.A.L.K.E.R/bin $ winecfg
Вы заметили? В настройках драйвера ОБЯЗАТЕЛЬНО стоит эмуляция. Иначе игра не заработает.
Эти настройки же настройки звука оптимальны для всех остальных игр. К сожалению (или к счастью), поддержка альсы в wine включена только недавно, поэтому с oss он работает гораздо корректнее. Поэтому в системе должны быть установлены драйвера ALSA с обязательной поддержкой OSS, wine скомпилирован с флагом OSS и в настройках выбран именно OSS.
Ну что же, запустим, наконец, игру:
kenny@localhost ~/.wine/drive_c/
/Program Files/S.T.A.L.K.E.R/bin $ wine XR_3DA.exe
Вуаля! Все работает, тем не менее:
Обратите внимание на светящиеся шкафы. Это артефакты, возникающие вследствие того, что wine некорректно (пока некорректно) работает с библиотеками DirectX9. Кроме того, возникают эффекты типа перевернутых автоматов в руках персонажей, не отображается оружие в режиме прицеливания итд. Снова идем на winehq.org и внимательно читаем камменты. Не буду Вас заставлять это делать - подскажу пошагово. Включаем режим GLSL и режим рендеринга fbo:
kenny@localhost ~/.wine/drive_c/
/Program Files/S.T.A.L.K.E.R/bin $ wine regedit
У меня все уже сделано - делаем так же. Выставляем ключи "UseGLSL" и "OffscreenRenderingMode"
Если кому-то интересно, что какие ключи означают, идем сюда
RegKey и курим до просветления.
Запускаем Сталкера в режиме dx80 без вступления итд:
kenny@localhost ~/.wine/drive_c/
/Program Files/S.T.A.L.K.E.R/bin $ wine XR_3DA.exe
-dsound -nointro -nodistort -dx80
Получается вполне играбельной, я так прошел ее до самого реактора. К сожелению, в режиме ДиректХ8 не работает динамическое освещение и смена дня и ночи, так и не посмотрел. Потом стало лениво и я ушел обратно в свой любимый Counter Strike.
Напоминаю еще раз, что, хотя у меня и описаны шаги по обходу защиты StarForce - копия игры лицензионная. Но запустить с работающей защитой на своей машине я игру не могу. Обращаю внимание производителей игр, особенно Буки и 1С. Не надо нам СтарФорса! Не работает нормально эта защита, она часто очень мешает законным обладателям игр. Пора бы начать прислушиваться к мнениям клиентов?
Итак, игра запущена, работает. Если будут возникать проблемы, не стесняйтесь, пишите. Чем смогу - помогу. До новых встреч, любители честного софта и правильных операционных систем
Оригинал статьи