Установка Steam, HL и CS на Linux, vifsla | |
.: Просмотров: 25908 :: :: :. |
Внимание! По идее, всё описанное в этом руководстве должно работать с любой версией Wine старше wine-20031610, однако автором использовалась исключительно CVS-версия.
Прежде всего, нам нужно достать wine (!). Отправляемся в CVS-репозитарий за самой свежей версией:
$ export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine
$ cvs login
Там от вас потребуют пароль, который состоит из слова "cvs", после чего можно начинать собственно закачку:
$cvs -z3 checkout wine
Приступаем к сборке wine:
$ cd wine
$ ./configure --enable-debug --enable-trace
$ make depend && make
$ su -c "make install"
Ну, вроде можно пользоваться wine? Ай-яй-яй, а про конфигурационные-то файлы мы и забыли! Желающие могут попытаться написать их самостоятельно, а мы отправимся за набором winecfg вот по этому адресу: http://sourceforge.net/projects/winecfg/
Переписываем свежеполученный каталог dotwine поверх .wine в своём домашнем каталоге:
$ mv /[dirs]/dotwine ~/.wine
Всё, вы получили благополучно установленный Wine. В принципе, собирать программу можно и без --enable-debug и --enable-trace, заменив их на --disable-debug и --disable-trace соответственно, что может дать некоторый прирост в скорости работы. Однако имейте ввиду, что в этом случае при появлении каких-либо проблем выявить их природу будет гораздо сложнее.
Справившись с данным шагом, можно переходить к следующему - к установке dcom98.
Перед тем, как начать, лучше сделать резервную копию конфигурационного файла Wine, поскольку в процессе инсталляции в него будут внесены изменения. Поэтому стоит написать что-то вроде:
$ cp ~/.wine /config ~/.wine/config.orig
и избавить себя тем самым от лишней головной боли. Теперь подправьте секцию [DllOverrides] конфигурационного файла так, чтобы она выглядела следующим образом:
[DllOverrides]
"mshtml" = "native"
; For ie6
"*comctl32" = "builtin"
; For Outlook97
"mapi" = "native, builtin"
"mapi32" = "native, builtin"
; Native dlls needed for various parts of the install
"ole32" = "native, builtin"
"compobj" = "native, builtin"
"ole2" = "native, builtin"
"ole2nls" = "native, builtin"
"ole2conv" = "native, builtin"
"ole2prox" = "native, builtin"
"ole2thk" = "native, builtin"
"storage" = "native, builtin"
"olepro32" = "native, builtin"
"rpcrt4" = "native, builtin"
"oleaut32" = "native, builtin"
"msvcrt" = "native, builtin"
"wininet" = "native, builtin"
; for the ie runonce
"setupapi" = "native, builtin"
"devenum" = "native, builtin"
"quartz" = "native, builtin"
"urlmon" = "native"
"shdocvw" = "native, builtin"
"jscript" = "native, builtin"
"wintrust" = "native, builtin"
"shlwapi" = "native, builtin"
"secur32" = "native, builtin"
"crypt32" = "native, builtin"
"ddraw" = "native, builtin"
; allow launching user.exe (for Remedy)
"*user.exe" = "native,builtin"
; default for all other dlls
"*" = "builtin, native"
На данном этапе у вас есть два выбора: либо довериться автору и взять этот файл, либо самостоятельно отыскать dcom98 на сайте Microsoft. Да, обязательно убедитесь, что версия Windows в Wine установлена в win98. Теперь запускаем
$ WINEDLLOVERRIDES="ole32=n" wine dcom98.exe
Компоненты DCOM98 должны тихо-смирно установиться.
Пришло время заняться установкой IE6. Возьмите установочный пакет IE6 sp1 с сайта Microsoft и выполните команду
$ wine ie6setup.exe
Тип установки - "Выборочная" (Custom Install), из предлагаемых для установки компонентов следует отметить только браузер (browser) и поддержку vbscript (vbscript support) (ни в коем случае НЕ УСТАНАВЛИВАЙТЕ никакие ШРИФТЫ). Вы получите сообщение об ошибке (просто нажмите ОК) и уведомление о том, что "exception pack wasn't installed".
Вы только что установили "ключевой компонент операционной системы", а он, в свою очередь, установил несколько библиотек Windows в вашем каталоге .wine/fake_windows. Выполните команду
$ wine wineboot
чтобы перезагрузить библиотеки wine (аналогично загрузке Windows). Если до этого момента всё у вас прошло без проблем, то сейчас самое время сделать резервную копию каталога .wine:
$ cp -R .wine/ .winebackup/
Подправленный нами на втором шаге конфигурационный файл Wine утратил свою актуальностью, поэтому мы возвратим его к исходному состоянию:
$ rm .wine/config
$ cp .wine/config.orig .wine/config
Займемся теперь шрифтами.
Скачать шрифты Windows и найти руководство по их установке под Linux можно здесь: http://avi.alkalay.net/software/msfonts/
Если вы не испытываете желания устанавливать шрифты в систему глобально, то просто скопируйте их в каталог .wine/fake_windows/Windows/Fonts.
Для корректного отображения кнопок максимизации и минимизации окна в Steam скачайте Marlett.ttf и скопируйте его во всё тот же каталог .wine/fake_windows/Windows/Fonts (http://www.uq.net.au/~zziwilki/marletts.htm)
Накачавшись шрифтов, снова перезапускаем Windows (просто на всякий пожарный):
$ wine wineboot
Ну, наконец-то мы можем заняться собственно ЭТИМ.
Вот вроде бы и пришло время вставить диск с игрой и начать установку... да не тут-то было, сначала давайте приведём в надлежащий вид конфигурационный файл Wine. Для вашего удобства автор предоставил свой конфигурационный файл, в котором есть все-все необходимые твики. Впрочем, сейчас мы пробежимся по ним на тот случай, если вам вдруг захочется поковыряться самостоятельно. Для ленивых (в исходном тексте - занятых) читателей: просто скопируйте упомянутый выше файл в ~/.wine/config и переходите к разделу, посвящённому установке игры.
Для настойчивых: ну надо же, есть еще порох в пороховницах и ягоды в ягодицах, т. е. остались еще люди, которые могут чего-то сами настроить :)
В конфигурационном файле Wine вы найдёте секцию под названием [AppDefaultsIEXPLORE.EXEDllOverrides]. Скопируйте её и обзовите [AppDefaultsSteam.exeDllOverrides].
Теперь вернитесь в DllOverrides, принадлежащие IEXPLORE.EXE и добавьте такую сточку:
"mshtml" = "native"
Если забыть эту строку, IE6, вместо того, чтобы отображать страницы, будет пытаться их скачать. Думается, это не совсем то, что нам нужно.
Теперь добавьте следующие строки в DllOverrides, принадлежащие Steam.exe:
"shdocvw" = "native, builtin"
"shlwapi" = "native, builtin"
Если не сделать этого, то вы сможете насладиться загадочными сообщениями об ошибках при попытке запустить Steam.
Создайте секцию для исполняемого файла Half-Life:
[AppDefaultshl.exeDllOverrides]
"shdocvw" = "native, builtin"
"shlwapi" = "native, builtin"
В противном случае Half-Life будет просто валять дурака вместо того, чтобы работать (невероятно, но факт).
Теперь конфигурационный файл Wine выглядит примерно так, как и должен. Если ваши собственные настройки не дают желаемого результата, загляните в мой файл.
Да, чуть не забыл. У меня были проблемы с запуском Half-Life в полноэкранном режиме, так что вы можете попробовать запустить его в окне. Добавьте такую секцию после DllOverrides для hl.exe:
[AppDefaultshl.exex11drv]
"Desktop" = "800x600"
"DXGrab" = "Y"
Размер окна можно установить по своему усмотрению.
Устанавливаем игру. Смонтируйте компакт-диск с игрой и скомандуйте:
$ wine /mnt/cdrom/Setup.exe
Здесь /mnt/cdrom - точка монтирования CD-ROM в вашем конкретном случае. Ничего сложного, не так ли? Закончив установку, переходите к следующему шагу.
Теперь качаем Steam CS installer (называется steaminstall_cs.exe). Найти его можно на любом приличном файловом сервер игры.
Запускаем программу установки:
$ wine steaminstall_cs.exe
Установка должна пройти нормально, и после того, как она завершится и потратит ваше время "обновляя" Steam (она сожрала подозрительно мало трафика), запустится Steam. Создайте учётную запись или пройдите авторизацию и добавьте Counter-Strike в ваш список игр. ВНИМАНИЕ! Если вам не дадут клавиатурного фокуса (а 99% времени вы будете сидеть без него), то кликните правой кнопкой мыши на поле ввода и выберите любую опцию (cut/copy/paste). Престо: фокус ввода с клавиатуры. (На всякий случай поясню: речь идёт о том, что курсор клавиатуры должен быть в окне Steam и все нажатия клавиш должны идти именно туда).
Если всё прошло успешно, Steam должен обнаружить существующую инсталляцию Half-Life и обновить её. На машине автора Steam не работал без предустановленного Half-Life (хотя по идее должен был). Почему? Не спрашивайте :)
Теперь, когда все игры успешно установили себя, попробуйте соединиться с каким-нибудь сервером. Игра может упасть и вылететь, может просто повиснуть; в последнем случае активизируйте консоль или откройте свободную TTY и скомандуйте:
$ killall wine
или даже
$ killall -9 wine
В новых версиях:
$ killall wine-pthread
или
$ killall -9 wine-pthread
Это "сольёт" Steam, а мы, тем временем, сможем немного подправить конфигурационные файлы Counter-Strike.
Похоже, Counter-Strike бажит на MODT-запросах. С разной степенью точности можно предполагать, что баг проявляется при html-выводе, однако думается, что лучше запретить MODT целиком. Перейдите в каталог, в котором у вас установлен Steam. Оттуда переместитесь в ./SteamApps/[youremail]/counter-strike/cstrike и удалите файл custom.hpk, если таковой существует:
$ rm custom.hpk
Затем задайте html-файлу "с приветом" доступ только-для-чтения:
$ chmod 400 modt_templ.html
Наконец, откройте config.cfg вашим любимым текстовым редактором (vim, nano, pico, emacs и т. д.) и добавьте строку
"hpk_maxsize" "0"
Ошибка должна исчезнуть.
Думаю этому вас учить не нужно. Go-Go-Go!