Unity 3D Web Player на Ubuntu через Pipelight

В данной статье расскажу о том, как запускать Unity 3D Web Player в нативных браузерах Ubuntu.


Итак существует много браузерных игр, которые требуют Unity 3D Web Player. Но порта данного плагина не существует для Linux.

В данной статье будет рассмотрено самое оптимальное решение - запуск данного плагина с помощью Pipelight.

Что такое PipeLight?

Pipelight — это программа обёртка Windows NPAPI для Windows плагинов (Unity 3D WP, Silverlight, Flash и т.д.), позволяющая использовать эти плагины в нативных браузерах Linux.

Pipelight состоит из двух частей: 
- Linux библиотека, которая подгружается браузером, 
- Windows программы, стартующей в Wine. 

Windows программа имитирует Windows браузер и подгружает Windows библиотеку dll необходимого плагина.

Инструкция.

Возьмем в качестве примера браузерную игру:


Если мы захотим поиграть в неё, то увидим следующее сообщение:


Получаем сообщение, что Unity Web Player не установлен.

Исправим эту ситуацию:

1. Установка Pipelight в Ubuntu.

Установка проста, а необходимые Wine библиотеки подтянуться сами.
Откройте терминал и выполните следующие команды: sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi
Обновляем pipelight plugin: sudo pipelight-plugin --update
Всё, теперь Pipelight установлен в Ubuntu.
Теперь версия пакета называется «pipelight-multi», а не «pipelight».
Так как тот уже считается устаревшим и поддерживаться не будет.
Если стоял старый пакет pipelight, то нужно его удалить: sudo apt-get purge pipelight После удаления старого плагина, нужно очистить папку с конфигурацией pipelight: rm -rf ~/.wine-pipelight/

2. Настройка Pipelight в Ubuntu для работы Unity Web Player.

Теперь осталось включить поддержку Unity Web Player, для этого выполните следующую команду в терминале: sudo pipelight-plugin --enable unity3d В терминале будет запрошено, что нужно принять лицензионное соглашение.
Жмём клавишу Y, после этого запустится Wine приложение, ждём его загрузки.

Всё. Перезагружаем браузер и теперь должно всё работать.

Заходим снова на сайт игры Contract Wars и теперь видим:


Появится надпись "Разрешить" или "Продолжить блокировать".
Жмём "Разрешить", затем "Разрешить и запомнить", чтобы не задавался данный вопрос в следующий раз.

После чего запустится наша игра:





Вот таким образом мы запустили приложение Unity Web Player в Linux.

Решение основных проблем.

Если у Вас работал плагин, игры работали, и вдруг перестали.

То можно попробовать очистить рабочую папку Pipelight, rm -rf ~/.wine-pipelight/ После чего перезагрузить приложение Unity Web Player (обновить страницу с приложением в вашем браузере).

Если приложение отказывается работать.

То возможно, что в запускаемое приложение встроена проверка User Agent, которая отсеивает не Windows/MacOSX системы.
В этом случае можно подменить User Agent, установив расширение в браузер.

Для Firefox.
Установите следующие плагин:
Открываем Preferences (Настройки данного плагина) и вписываем туда следующую строку:
Safari/OSX: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10
Закрываем Настройки, в конце списка появится новый пункт Safari/OSX, который и нужно выбирать.

Для Chromium подобных браузеров.
Установите следующий плагин.
В появившемся значке - выбирать Safari - OSX Safari 5

Дополнительные возникающие проблемы.

Остановка загрузки приложения - попробуйте перезагрузить страницу с приложением.

Залипание клавиш - также, либо перегружаем страницу, либо это баг приложения. (У меня залипания случаются и в некоторых играх, запускаемых через wine).

Приложение может вообще не заработать - ничего страшного в этом тоже нет. Такое тоже может произойти. В этом случае ничего нельзя сделать. Как правило, это случается 1 к 20.


Хоть Pipelight - это и костыльное решение, но всё-таки это лучше, чем ничего. И это лучше, чем играть в виртуалке с Windows 7/8.

Поделиться:

Если у Вас возникли вопросы.

Приглашаю задавать их на сервисе вопросов и ответов: Ask LinuxRussia.com.
Там Ваши вопросы не потеряются и Вы быстрее получите ответ, в отличие от комментариев.

16 коммент. :

  1. Если на компьютере есть какае то старая версия Pipelight, как её корректно вычистить из системы?

    ОтветитьУдалить
    Ответы
    1. Или в чём именно проблема?

      Удалить
    2. Просто, на будущее. Я пытался установить по инструкции из источника найденного с помошью гугла. Но не получлось. Ошибки какие то начали выпадать. И решил, что надёжней тут спросить.

      Удалить
    3. Добавил решения проблем, а также, как удалить устаревший плагин.

      Удалить
  2. После второго шага:

    climber@home:~$ sudo pipelight-plugin --update
    [sudo] password for climber:
    --2014-11-07 20:04:36-- https://bitbucket.org/mmueller2012/pipelight/raw/master/share/install-dependency.sig
    Распознаётся bitbucket.org (bitbucket.org)… 131.103.20.167, 131.103.20.168
    Подключение к bitbucket.org (bitbucket.org)|131.103.20.167|:443... соединение установлено.
    HTTP-запрос отправлен. Ожидание ответа... 200 OK
    Длина: 9600 (9,4K) [application/pgp-signature]
    Сохранение в: «/tmp/tmp.2kmYrFK7NM»

    100%[======================================>] 9.600 --.-K/s за 0s

    2014-11-07 20:04:37 (143 MB/s) - «/tmp/tmp.2kmYrFK7NM» сохранён [9600/9600]

    gpg: Подпись создана Срд 15 Окт 2014 16:42:29 EEST ключом RSA с ID 1C3B0533
    gpg: Действительная подпись от "Pipelight Dev Team "
    gpg: ВНИМАНИЕ: Данный ключ не заверен доверенной подписью!
    gpg: Нет указаний на то, что подпись принадлежит владельцу.
    Отпечаток главного ключа: 3978 8ABB 0402 FC31 D4FB 22AA 0B6B 817C 1C3B 0533

    Script dependency-installer is already up-to-date.
    climber@home:~$

    и, к сожалению ничего не получается...

    ОтветитьУдалить
    Ответы
    1. Забить на это и продолжить дальнейшие действия.

      Удалить
    2. Плагин будет работать.

      Удалить
    3. ...забил, продолжил - ничего не помогло. В /home/user нет папки ~/.wine-pipelight/ я так думаю что pipelight у меня почему-то не работает, или не установился а жаль...

      Удалить
    4. ...переустановил систему, просто ради интереса сделал всё по инструкции - и вуаля! всё заработало, видимо раньше в системе было что-то не так. Большое спасибо!

      Удалить
  3. 100% [Соединение с common.dist.yandex.ru (213.180.205.3)]
    Ош http://common.dist.yandex.ru stable InRelease

    Ош http://common.dist.yandex.ru stable Release.gpg
    Невозможно инициализировать соединение с common.dist.yandex.ru:80 (2a02:6b8:0:3400::1:3). - connect (101: Сеть недоступна) [IP: 2a02:6b8:0:3400::1:3 80]
    Чтение списков пакетов… Готово
    W: Не удалось получить http://common.dist.yandex.ru/common/dists/stable/InRelease

    W: Не удалось получить http://common.dist.yandex.ru/common/dists/stable/Release.gpg Невозможно инициализировать соединение с common.dist.yandex.ru:80 (2a02:6b8:0:3400::1:3). - connect (101: Сеть недоступна) [IP: 2a02:6b8:0:3400::1:3 80]

    W: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
    W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
    W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
    я так понимаю это ошибка подскажите как её убрать

    ОтветитьУдалить
  4. ruslan@ruslan-System-Product-Name:~$ sudo apt-get install --install-recommends pipelight-multi
    Зчитування переліків пакунків... Виконано
    Побудова дерева залежностей
    Зчитування інформації про стан... Виконано
    Вже встановлена найновіша версія pipelight-multi.
    оновлено 0, встановлено 0 нових, 0 відмічено для видалення і 2 не оновлено.
    ruslan@ruslan-System-Product-Name:~$ sudo pipelight-plugin --update
    --2015-02-04 14:58:33-- https://bitbucket.org/mmueller2012/pipelight/raw/master/share/install-dependency-1434FC73.sig
    Визначення імені bitbucket.org (bitbucket.org)… 131.103.20.168, 131.103.20.167
    Встановлення з'єднання з bitbucket.org (bitbucket.org)|131.103.20.168|:443... під’єднано.
    HTTP-запит надіслано, очікування відповіді… 200 OK
    Довжина: 28860 (28K) [text/plain]
    Зберігання до: «/tmp/tmp.uCAVabRno7»

    100%[======================================>] 28 860 --.-K/s у 0,001s

    2015-02-04 14:58:34 (29,1 MB/s) - «/tmp/tmp.uCAVabRno7» збережено [28860/28860]

    gpg: Підпис створено сб, 31-січ-2015 15:49:39 +0200 EET ключем RSA з ідентифікатором 1434FC73
    gpg: Належний підпис від «Pipelight Dev Team (install-dependency) »
    gpg: УВАГА: цей ключ не сертифіковано за допомогою надійного підпису!
    gpg: Немає підтверджень належності підпису його власнику.
    Основний відбиток ключа: CF23 08D4 3507 9A77 124E 01A2 83C7 3FB2 1434 FC73

    Script dependency-installer is already up-to-date.
    ruslan@ruslan-System-Product-Name:~$ sudo pipelight-plugin --enable unity3d
    Plugin unity3d is now enabled
    ruslan@ruslan-System-Product-Name:~$
    У меня так и не появилось в конце введите Y . Папки wine есть , а wine-pipelight/ нету, и всё /home/user просмотрел там тоже нет

    ОтветитьУдалить
  5. Пишет что он установлен , а его нет , то где же он установлен то, может в ключе дело , там чё то типа он не сертификован пишет в конце , нет подтвердения принадлежности владельцу , может в этом дело ?

    ОтветитьУдалить
  6. Все установилось без ошибок, затем при запуске firefox что то настраивалось, но игры на юнити так и не запускаются. overrider тоже не помог. Проверял на играх в контакте и на других сайтах. Причем окно разрешить=запретить негде не появлялось

    ОтветитьУдалить
  7. Сделал всё по инструкции, но всё равно пишут что надо установить unity web player. Как корректно вернуть всё в изначально положение, что бы переустановить pipelight-multi?

    ОтветитьУдалить
    Ответы
    1. вы бы не торопились с выводами. Возможно, в вашем браузере отключена поддержка NPAPI плагинов. У меня в Opera было именно так. Решалось переходом по адресу opera://flags в браузере, затем ищем флаг Disable NPAPI plug-ins и отключаем.

      Удалить