Играть на другом компьютере через интернет

Всем доброго времени суток!)

У меня возник вопрос, на который гугл не дал определённого ответа: каким образом можно организовать аналог трансляции игр steam, но через интернет? Читал про NVIDIA GRID, но это совсем не то, что хотел. Возможно существует аналогичное программное решение? Хочется сделать сервис на подобии почившего OnLive, для использования на слабом ноутбуке в общежитии мощностей домашнего ПК. Наверняка кто-либо из пикабушников-экспертов в данной области уже этим вопросом задавался, и, возможно, даже реализовал подобную фичу у себя 🙂 Поделитесь пожалуйста вашими мыслями и опытом в этом вопросе

UPD: сейчас читаю про Moonlight(Limelight), позволяет работать с GameStream от NVIDIA, но корректная работа не гарантируется, да и видеокарта у меня Radeon)

История о том, как я открыл для себя стриминг игр и что из этого получилось с пошаговой инструкцией.

Посвящается всем, кому интересно эффективное использование имеющихся аппаратных средств.

Введение

Так уж получилось, что жена мне подарила «приставку» к телевизору в виде мощного игрового ПК. ПК был успешно подключен к телевизору и до последнего времени приносил много приятных минут игры на большом экране.

Но, во-первых, не во все игры удобно играть на телевизоре, в тех же шутерах и RTS мне гораздо удобнее играть сидя за столом.
Во-вторых, очень «удачно» сломался единственный выход с игрового ПК — телевизор.
В-третьих, мой проверенный временем рабочий ПК (ноутбук) уже давно перестал быть топовым и далеко не все игры даже сносно удаётся запустить на нём, а менять только потому что не удаётся поиграть — совершенно не повод.
В-четвёртых, иногда возникает непреодолимое желание поиграть с работы, а там далеко не все порты открыты (да, даже для себя на работе я закрыл практически все порты)…

Была поставлена задача: обеспечить доступ к ресурсам игрового ПК с других компьютеров, в т.ч. удалённых.

Обзор решений

В качестве решений рассматривалось ПО, которое использует аппаратное кодирование видео с помощью видеокарты.

Из доступных и бесплатных решений на сегодня я нашёл только стриминг через Steam и относительно доступное решение – встроенный в Nvidia GeForce Experience – стриминг для консоли Shield.

Чем не устроил стриминг через Steam – это необходимость (на данном этапе) иметь компьютеры в одной широковещательной сети, что не позволяет работать с удалённым ПК через маршрутизируемую сеть. Даже поднятие L2TP туннеля не исправило ситуации – клиенты Steam не видят друг друга. Также обнаружилась проблема со звуком при стриминге через Steam: если в системе нет активных звуковых устройств (у меня, например, единственный вывод звука – HDMI, а если он не подключен – то вывода нет), то некоторые игры или не запускаются (Skyrim) или идут без звука. У Nvidia такой проблемы нет.

Большой плюс стриминга Steam — работа «из коробки». С решением же GeForce Experience пришлось несколько повозиться – оно предназначено только для консоли Shield…

Восстанавливаем справедливость

На просторах интернет был найден интересный проект LimeLight, который добавляет функционал Shield на любые Android устройства, но что более важно – реализует стриминг на Windows, Linux и MacOS X. И даже Raspberri Pi.

Читайте также:  Внутренняя ошибка при удалении программы

Вещание поддерживается с разрешением: 1280×720 (30 или 60 кадров) и 1920×1080 (30 или 60 кадров). Управление поддерживается как с помощь клавиатуры/мыши, так и с помощью контроллера, подключенного к компьютеру-клиенту (возможность организовать стриминг на слабый ПК, подключенный к телевизору и играть с помощью контроллера).

В последней версии GeForce Experience была добавлена возможность добавлять альтернативные (без заявленной поддержки стриминга для Shield) игры, но пока отображение списка игр не реализовано в LimeLight. Поэтому Steam — наше всё, по умолчанию при старте – запускается Big-Picture Steam и уже в нём можно выбрать любую доступную игру или программу.

Переходим к практике

Системные требования:

  • нужно иметь карту серии не ниже 600, также поддерживается мобильная линейка 700M, 800M и некоторые 600M;
  • на компьютере-клиенте (на котором фактически будем играть) должна быть установлена Java (по версии ничего не скажу, у меня работает и на 6, и на 7), жёстких требований иметь на клиенте видеокарту Nvidia нет;
  • на компьютере-хосте (на котором будет фактически запущена игра) должен быть установлен Steam;
  • на компьютере-хосте желательно отключить UAC, т.к. могут быть проблемы с запуском некоторых игр (обычно мультиплеерных);
  • на компьютере-хосте должна быть установлена клиентская ОС (Windows 7, 8), на серверной ОС не получилось запустить из-за внутренних особенностей серверных ОС;
  • если вся работа идёт удалённо – необходимо на компьютере-хосте включить авто-вход в систему.

Шаг 1. Заходим на limelight-stream.com, выбираем нужную платформу, если это ПК — github.com/limelight-stream/limelight-pc/releases и качаем пакет под нужную ОС. Выбор win64 или win32 (или lin32, lin64) зависит от того, какая версия Java будет использоваться.

Шаг 2. Создаём ярлык: «ПутькЯвеjava.exe –jar “Путькlimelight-win64.jar”», например, «C:Program FilesJavajre6injava.exe» -jar C:UsersUserDesktoplimelight-win64.jar

Шаг 3. Запускаем утилиту созданным ярлыком.

Шаг 4. Из компьютера-клиента и компьютера-хоста (на котором будут запускаться игры) нужно сделать пару хост-контроллер. Для этого нужно указать IP-адрес хоста и нажать кнопку Pair. После этого на компьютере-хосте появится сообщение о том, что новое устройство Shield хочет подключиться.

Кнопку надо нажать именно на хосте, в активной пользовательской сессии. Пробовал подключаться через RDP к этой сессии пользователя – там сообщения показано не было, так же исчезло и упоминание о Nvidia Shield в оснастке GeForce Experience. Поэтому можно воспользоваться любым Remote Administrator, TeamViewer, Ammyy Admin и т.п. продуктами, если нет физического доступа к консоли хоста (например, с работы).

На хосте нажимаем зелёную кнопку «Подключить» (Connect):

На клиенте:

Собственно на этом всё. Теперь можно нажать кнопку «Start Streaming» и подключиться к игровому компьютеру. К сожалению, после каждой перезагрузки компьютера-хоста приходится восстанавливать подключение.

Развиваем тему

Как запустить, например, танки, которых нет в Steam. Запускаем Steam и добавляем новую игру. Я таким же образом в Steam импортировал IPTV Player чтобы получить единую точку входа своего «медиацентра» для просмотра IPTV.

Далее нажимаем «Обзор» (Browse) и выбираем в каталоге танков файл, который запускает игру, именно игру, а не загрузчик и т.п., для танков это WorldOfTanks.exe, это важно, т.к. через WOTLauncher.exe не запускается.

И добавляем в библиотеку.

Заключение

После вышеописанных действий стриминг должен заработать и можно спокойно поиграть в танки. По локальной сети (1Гбит/с) работает отлично на 1920х1080х60Hz, удалённо через VPN L2TP удаётся поиграть на 1280х720х30Hz.

Читайте также:  Сколько ставить максимум памяти в msconfig

Что мы имеем в результате:

  • мощный медиацентр поключенный к ТВ с возможностью играть на большом экране во всякого рода слешеры (или наоборот слабый медиацентр и стриминг с мощного ПК на телевизор);
  • независимость от других членов семьи – хочешь поиграть – не обязательно занимать телевизор;
  • использование старого железа, играть можно на всём, что может нарисовать 1280х720;
  • можно играть в одни игры на ТВ, в другие – на ПК за столом, можно вообще на любом планшете, если управление позволяет;
  • разделение ресурсов между членами семьи — каждый может играть на своём ПК, используя мощь семейной игровой станции, не нужно каждому покупать топовое железо.

К сожалению ничего не могу сказать по поводу версии для Android, т.к. есть только планшет на нём. Было бы интересно — стриминг на андроид-приставку к телевизору. Если у кого-то есть возможность проверить — буду признателен.

Надеюсь, статья была интересна и/или полезна, спасибо за уделённое время!

Обнаруженные «особенности»

1. Не работают игры Left 4 Dead 2, Portal 2, возможно, другие производства Valve, с другими производителями проблем не замечено. При чём не работает как в стриминге через GeForce Experience, так и в родном Steam.
2. Утилита пытается выставить значение разрешения максимально близкое к выбранному формату вещания (например, выбрано вещания 1280х720). Но на некоторых мониторах (с соотношением сторон, отличающимся от 16:9) могут быть проблемы в виде широкой чёрной рамки. Решается масштабированием к наиболее подходящему разрешению через панель управления.

3. Иногда выбивает Steam, после этого помогает только перезагрузка.

Хочется зарубиться в игровые мегахиты, но ваш старенький ПК не тянет их даже на минималках? У нас есть очень крутой лайфхак для решения проблемы.

Компьютеры не по карману

Капитальный апгрейд или покупка мощного игрового компьютера при сегодняшнем рубле сравнима с приобретением подержанного автомобиля.

  • Бюджетная GeForce GTX 1060 + средний Core i5 обойдутся примерно в 40 тысяч рублей.
  • Средняя GeForce GTX 1070 + старший Core i5K или младший Core i7K стоят в районе 60 тысяч рублей.
  • Топовая GeForce GTX 1080 + раскрывающий её старший Core i7K облегчат кошелёк на 80 и более тысяч рублей.

Добавляем мамку, охлаждение, оперативку, SSD, корпус, блок питания, монитор (в случае с GTX 1080 берут 4K-экран, иначе теряется смысл), аксессуары, и цена начальной конфигурации из актуальных комплектующих с хорошим заделом на будущее доходит до 80 тысяч рублей. Середнячок переваливает за 100–120 тысяч. Стоимость топовой игровой сборки даже считать страшно.

Системные требования в играх растут, денег на новые компьютеры или апгрейд у людей нет, и получается вот такая статистика:

  • За последние три года доля соответствующих критериям игровых компьютеров и ноутбуков у населения сократилась с 23 до 5%.
  • 76% геймеров не удовлетворены мощностью своих компьютеров.
  • 48% геймеров лишены возможности вкладывать деньги в апгрейд компьютера, а модернизацию стоимостью более 20 тысяч рублей могут позволить себе лишь 6% поклонников игр.

Что делать? Кредит? Жаба задушит, жена не поймёт. Копить — долго, а играть хочется сейчас. Смириться и играть в то, что тянет текущий комп? Нет. На помощь приходят современные технологии.

Игровой компьютер как сервис

Вы пользуетесь облачными хранилищами, почтой, мессенджерами, соцсетями и так далее. Их работа обеспечивается дата-центрами. Вы отправляете и получаете данные, а обработкой и хранением занимаются удалённые серверы.

Читайте также:  Схема блока питания микроволновки

Сервис Playkey, о котором пойдёт речь, предлагает такие же дата-центры, но для игр. Вы играете как обычно, только игра запускается и обрабатывается на мощном сервере, заточенном под графику.

А как, собственно, играть, если сервер где-то далеко, а вы у себя дома? Через интернет, конечно же.

Компьютер пользователя отправляет на сервер команды управления, сервер всё это обрабатывает и отправляет обратно видеопоток, с которым справится даже очень слабый компьютер.

Проще говоря, Playkey — это мощнейший игровой компьютер на очень-очень длинном проводе в аренду.

Вообще, идея удалённых игровых компьютеров зародилась давно, но проекты загибались по одной простой причине: мощности серверов хватало, а вот нормального интернета у людей не было.

Без широкого канала в Сеть получать качественную картинку высокого разрешения с минимальным пингом не получится, но сейчас в любом провинциальном городке есть оптоволоконный интернет с хорошим пингом. Даже в нашем Ульяновске провайдеры предлагают 30–50 мегабит в квартиру менее чем за 500 рублей, а для работы Playkey достаточно 5–10 мегабит.

А что с играми?

Playkey поддерживает более 150 игр, включая все актуальные однопользовательские и многопользовательские ААА-бестселлеры наподобие GTA V, «Ведьмак 3», Fallout 4, Just Cause 3, Dark Souls III, Far Cry Primal, World of Warcraft, Overwatch, World of Tanks и другие суперхиты. Новинки добавляются очень оперативно сразу после релиза.

Для игры через Playkey вы будете использовать ваши собственные игровые аккаунты Steam, Battle.net или Uplay (Origin, к сожалению, пока не поддерживается).

Соответственно, если игра платная либо с платной подпиской, она должна быть куплена с помощью вашего игрового аккаунта.

Для размышлений: Playkey является официальным игровым дистрибьютором. При покупке или предзаказе некоторых игр через Playkey можно получить приятные бонусы наподобие бесплатного игрового времени или внутриигровых ништяков.

Как начать пользоваться Playkey

  1. Создаёте аккаунт Playkey.
  2. Скачиваете и устанавливаете клиент Playkey на компьютер.
  3. Выбираете тариф.
  4. Сразу играете.

Отдельная прелесть в том, что игры уже установлены на серверах Playkey, то есть скачивать и ждать не нужно.

Тарифы

Пробный тариф «Тренировочка» включает в себя 60 минут игры и стоит всего 70 рублей (или даже 35 рублей, если действует акция). Идеально для ознакомления и тестирования качества сервиса.

Месячная подписка стоит 590 рублей (или 390 рублей по акции при оплате картой или «Яндекс.Деньгами») и включает в себя 4 200 минут игры (если разделить на 30 дней, то получается 140 минут в день — более чем достаточно, если вы не откровенный задрот). При превышении лимита можно докупать пакеты по 1 200 минут за 200 рублей.

Для хардкорщиков предусмотрена полугодовая подписка за 2 940 рублей с лимитом 4 200 минут в месяц и возможностью докупать по 1 200 минут за 200 рублей.

Реально можно играть?

Как видите, реально. Даже на неттопе, даже на MacBook. Ощущения замечательные, прерываний нет, всё плавно и детально. Задержка такая же, как и в любой онлайн-игре на европейском сервере, а зачастую ещё меньше, потому что, помимо Германии и Ирландии, у Playkey есть серверы в России, и в частности в Москве. Играть очень комфортно. Главное, чтобы был нормальный интернет.