на главную
об игре
StarCraft 2: Wings of Liberty 27.07.2010

StarCraft 2: Wings of Liberty - Запуск игры в отличающихся от Windows платформах

Игра существует в вариантах для Windows и MAC OS X. Давайте запустим Windows-версию в Linux с помощью Wine!
Лично я использовал версию Wine 1.2. Ваша версия Wine может отличаться. Я буду рассматривать особенности именно версии 1.2 (или примерно такой).
Вставляем установочный компакт-диск и видим, что почти всех установочных файлов на диске нет! В чём дело?! Лично я не знаю, знаю только, что нужно подключать DVD-диск с опцией unhide.


1). Подключение DVD-диска.

Не знаю, почему нигде нельзя это сделать из графического интерфейса. Лично мне этот параметр понадобился первый раз.

# mount -o ro,unhide,uid=1000 /dev/cdrom /mnt/cdrom

Лично у меня устройства /dev/cdrom нет. Есть /dev/scd0. А раньше было /dev/hdc. Поэтому если команда не сработает, исправьте устройство /dev/cdrom на устройство вашего DVD-привода. Также я уверен, у вас нет каталога /mnt/cdrom. Поэтому укажите тот, который вам нравится (например, /media/cdrom0) или создайте его командой mkdir.
Ура! Файлы появились. Можно запускать программу установки!

2). Запускаем программу установки.

Хотите - запускайте щелчком мыши из любимого менеджера файлов. А не хотите - запускайте из консоли.

$ cd /mnt/cdrom
$ wine Launcher.exe

.exe можно не писать.

3). Устанавливаем игру.

Если версия Windows в winecfg выставлена больше, чем 2000 (например, XP-7), вы сможете начать установку игры. Вас будут просить почитать лицензионные соглашения - проматывайте их до самого низа, иначе кнопка далее не нажмётся. Вам также потребуется 10 гигабайт свободного места на диске... У вас спросят активировать игру сейчас или позже? Выбирайте, что хотите, я выбрал "позже" и не разочаровался: процедура регистрации на сайте battle.net оказалась немного трудоёмкой...

4). Особенности запуска.

а). Теперь о тонкостях и ухищрениях для запуска игры. Не знаю, нужно ли устанавливать DirectX 9.0c для того, чтобы работала игра. Дело в том, что он у меня установлен всегда, а проверять работоспособность без него я пока не хочу. Не удивляйтесь: в состав Wine входят библиотеки-заменители DirectX 9.0c, только они пока то ли недописаны, то ли не до конца протестированы... Поэтому когда игра не запускается, обычно помогает установка DirectX. Она автоматизирована и выполняется скриптом winetricks. Но я привык устанавливать вручную, чтобы не скачивать постоянно одно и то же, причём много.
О том, как устанавливать DirectX вручную из уже имеющихся файлов установки, рассказано в приложении.

б). В ядро системы 2.6.33 и 2.6.34 вкрался забавный сбой, из-за которого игра не работает. Не работает авторизация аккаунта на battle.net. Вообще этот нонсенс: обычно не важно, с каким ядром ты работаешь: работоспособность программ везде была одинаковая, различались лишь функционал, предоставляемый ядром системы, набор драйверов устройств и скорость работы устройств.
Пользователи этих ядер могут воспользоваться патчем для ядра. bugs2.winehq.org/attachment.cgi?id=29339 - это для 2.6.33, но и для 2.6.34 должна спокойно подойти. Можно также воспользоваться ядром версии 2.6.35 или 2.6.32 или меньше.

в). Игра использует библиотеку звука OpenAL. Wine 1.1.30 и старше использует установленную в системе библиотеку OpenAL, в более ранних версиях нужно загрузить OpenAL для Windows: connect.creativelabs.com/developer/Wiki/OpenAL%2.. . Однако в некоторых версиях Linux наблюдаются проблемы со стандартным системным OpenAL. Неважно какой дистрибутив. Поэтому нужно установить версии библиотек для Windows тоже. Затем открыть winecfg и сделать библиотеку openal32 как "Нативная (Windows)". Если не сработает, добавить библиотеку mmdevapi и выбрать "Не использовать". Также проблема решается установкой OpenAL вручную. Советую это сделать, так как не только StarCraft, но и Сталкер, и нативный UT2004 сбоят, если системная библиотека OpenAL какая-то неправильная. Если кому интересно, в совете про установку зависимостей для Wine я писал, как это сделать.

5). Запускаем игру.

Запускаем игру. Прежде всего загрузятся почти 100 мегабайтов обновлений (к сожалению, игра не хочет запускаться без них: можно попробовать запустить её с отключенным Интернетом). Игра хочет активироваться. Где ключ? Оказывается, он на обложке компакт-диска, на её обратной стороне. Только нужно отодвинуть в сторону два вкладыша с подарочными 10-ю днями игры в StarCraft II и World Of Warcraft. Игра откроет ваш браузер по умолчанию. У меня он Konqueror, у вас может быть и любой другой. Например, FireFox. Зарегистрировавшись на сайте и введя ключ игры, вы сможете вернуться в игру и ввести свои логин и пароль.
Работает всё. Одиночная и сетевая игра. Количество кадров в секунду может быть меньше, чем в Windows, на 15-20%. Если вам хочется добиться большей скорости работы игры, установите в программе winecfg версию Windows как Windows 7. Параметр -opengl, к сожалению, работает только в бета-версии игры - а жаль, что режим OpenGL убрали. С ним было намного быстрее!

Страница обсуждения: linuxforum.ru/viewtopic.php?id=5615
Если вы ещё ни разу не подключали компакт-диски с помощью консоли и не устанавливали новую версию ядра, загляните в страницу осуждения, чтобы прочитать полную версию статьи и узнать подробности!

Приложение: Итак, установка DirectX. В 0.9.xx-1.0 она не проходит, если не скопировать в каталог ~/.wine/drive_c/windows/system32 файлы mscoree.dll и streamci.dll. Начиная с версии 1.1.1, она проходит без этих файлов, но очень медленно и ругаясь на то, что нет .NET (mscoree.dll его хочет). В 1.2 он проходит медленно, минут 10, хотя должно быть несколько секунд. Для решения проблемы надо установить .NET. Чтобы установить .NET 2.0, надо скопировать из Windows файл l_intl.nls в каталог ~/.wine/drive_c/windows/system32, выставить версию Windows как 2000, установить, выставить версию Windows обратно. Но это ещё не всё: чтобы перед запуском каждой программы не было паузы ровно в 1 минуту, надо установить Visual Basic C++ 2005/2005_SP1/2008/2010. Я предпочитаю 2005_SP1. Поэтому если вы не собираетесь, экспериментировать с разными версиями Wine, менять каталоги конфигурации Wine, а только один раз установить всё это, советую автоматизировать установку DirectX скриптом winetricks.
Теперь многие игры, не запускавшиеся раньше, у вас смогут заработать. Если не хочется - запустите игру из консоли, посмотрите, каких файлов не хватает программе, положите их в каталог с игрой. Обычно это d3dx9_xx.dll, где xx - номер.

P.S. В моём Wine 1.2 есть сбой, из-за которого загрузка файлов обновлений не доходит до конца. Решить её можно четырьмя способами: первый - установить Wine 1.3.2, в компоненте Gecko которого сбой исправлен. Второй - установить Internet Explorer 6.0 или старше (поможет winetricks или специальная программа ies4linux). Третий - ничего не скачивать и не устанавливать, скомандовать wineserver -killall, запустить игру снова. Скачается ещё треть. Повторять, пока не скачается полностью. Четвёртый - зайти в каталог игры, взять торрент-файл с обновлением, скачать обновление любимым торрент-клиентом. Установить!

Комментарии: 0
Ваш комментарий