Wolf вместо Moonlight: настройка игрового стриминга с домашнего сервера

Игровой стриминг с домашнего сервера — задача, которая рано или поздно встаёт перед многими энтузиастами. Стандартная связка Sunshine и Moonlight хороша, но у неё есть ограничения: она привязана к Steam, требует физического дисплея на хосте и не поддерживает несколько одновременных сессий. Альтернат

Wolf вместо Moonlight: настройка игрового стриминга с домашнего сервера

Игровой стриминг с домашнего сервера — задача, которая рано или поздно встаёт перед многими энтузиастами. Стандартная связка Sunshine и Moonlight хороша, но у неё есть ограничения: она привязана к Steam, требует физического дисплея на хосте и не поддерживает несколько одновременных сессий. Альтернатива — Wolf из проекта Games on Whales. Это open-source решение, которое создаёт виртуальный дисплей для каждого клиента, позволяет запускать игры без Steam на сервере и работать с несколькими пользователями одновременно. В этой статье разберём, как развернуть Wolf на домашнем сервере с NVIDIA, настроить автоматическое восстановление после обновлений драйвера и избежать типичных ошибок.

Как работает Wolf и чем он лучше Sunshine + Moonlight

Wolf — это часть экосистемы Games on Whales, которая использует Docker-контейнеры для изоляции игровых сессий. В отличие от Sunshine, где стриминг привязан к единственному физическому дисплею и сессии пользователя, Wolf запускает каждый экземпляр игры в отдельном контейнере с собственным виртуальным дисплеем. Это означает, что вы можете одновременно стримить разные игры на телевизор, ноутбук и Steam Deck, не мешая друг другу. Серверу не нужен подключённый монитор — всё работает через dummy-драйвер.

Для клиентов используется стандартный Moonlight, который подключается к Wolf через протокол NVIDIA GameStream (Reverse Engineered). При этом на хосте не требуется устанавливать Steam или логиниться в учётную запись — игры запускаются напрямую из контейнера. Это особенно удобно для пользователей, которые хотят стримить пиратские копии, эмуляторы или игры из других лаунчеров. Ещё одно преимущество — изоляция: если что-то пойдёт не так с одной сессией, остальные продолжат работать.

Как настроить игровой стриминг с домашнего сервера на любое устройство?

Для начала нужно подготовить сервер. Wolf требует GPU NVIDIA (тестировалось на RTX 3060 и выше), установленный Docker и драйверы NVIDIA с поддержкой контейнеров. Автор статьи использовал процессор Ryzen 5800X3D и карту RTX 3060. Перед установкой необходимо установить nvidia-container-toolkit и настроить dummy-драйвер для создания виртуального дисплея. Без этого Wolf не сможет инициализировать сессию. Главная сложность — официальный проброс драйвера NVIDIA несовместим с Wolf. После каждого обновления драйвера (например, через apt upgrade) стриминг молча переставал работать. Причина — в изменении версии библиотек, которые ожидает Wolf. Автор решил проблему, написав systemd-сервис, который после обновления автоматически пересобирает контейнер и перезапускает сервис. Скрипт проверяет версию драйвера и при необходимости выполняет docker-compose down && docker-compose up -d.

Подготовка сервера: что нужно знать перед установкой

Перед установкой Wolf убедитесь, что ваш сервер соответствует требованиям. Вам понадобится GPU NVIDIA, поддерживающая аппаратное кодирование (например, RTX 3060 или выше), процессор с достаточной производительностью (рекомендуется Ryzen 5 или Intel Core i5), а также операционная система Linux (тестировалось на Ubuntu 22.04). Установите Docker и docker-compose, а также драйверы NVIDIA с поддержкой контейнеров. Для настройки dummy-драйвера создайте файл xorg.conf с параметрами виртуального дисплея, например, разрешение 1920x1080 при 60 Гц. Это критически важно, иначе клиент Moonlight не сможет подключиться.

Пошаговая настройка Wolf на домашнем сервере

Установка Wolf сводится к клонированию репозитория Games on Whales и запуску docker-compose.yml. В официальной документации есть готовый compose-файл, который поднимает Wolf вместе с необходимыми зависимостями. После запуска откройте порт 47989 для Moonlight и настройте проброс на роутере, если планируется стриминг извне. Далее создайте виртуальный дисплей через xorg.conf с dummy-драйвером. После настройки дисплея добавьте игры в Wolf через веб-интерфейс (доступен на порту 8080). Для каждой игры укажите команду запуска внутри контейнера, например, для запуска в оконном режиме передайте аргументы. Убедитесь, что в контейнере установлены необходимые библиотеки для ваших игр.

Как настроить автоматическое восстановление после обновлений

Самый неприятный момент — после обновления драйвера NVIDIA Wolf перестаёт работать. Ошибка проявляется как чёрный экран на клиенте или сообщение «Failed to initialize video stream». Чтобы избежать ручного вмешательства, создайте systemd-сервис, который запускается после apt и проверяет, изменилась ли версия драйвера. Если да — он останавливает Wolf, пересобирает образ и запускает заново. Код сервиса и скрипта можно найти в статье на Habr. Альтернативный вариант — закрепить версию драйвера через apt-mark hold, но это лишает обновлений безопасности. Рекомендуется использовать автоматический скрипт для минимизации простоев.

Кого затронет и как

Решение будет полезно владельцам домашних серверов, которые хотят играть на разных устройствах без покупки нескольких копий игр и без привязки к Steam. Особенно актуально для пользователей Steam Deck — можно стримить тяжёлые игры с сервера, экономя заряд батареи. Разработчики из Games on Whales активно развивают проект, добавляя поддержку AMD и Intel GPU. В русскоязычном сообществе Wolf пока малоизвестен, но его возможности превосходят Sunshine для многопользовательских сценариев. Если вы владелец сервера с NVIDIA и хотите максимальной гибкости, Wolf — отличный выбор.

Что будет дальше

Проект Games on Whales продолжает развиваться: в планах — поддержка Wayland, улучшенная работа с AMD и интеграция с популярными лаунчерами. Wolf уже сейчас можно использовать в продакшене, но стоит быть готовым к ручной настройке и потенциальным проблемам с драйверами. В будущем, вероятно, появится более простая установка через готовые образы или пакетные менеджеры. Следите за обновлениями на GitHub проекта, чтобы не пропустить новые функции.

Итог

Wolf из Games on Whales — мощная альтернатива Sunshine + Moonlight для тех, кому нужна многопользовательская игра с виртуальными дисплеями. Несмотря на сложности с драйверами NVIDIA, решение работает стабильно и открывает новые возможности для домашнего стриминга. Если вы готовы потратить час на настройку и написать пару скриптов — Wolf того стоит. Начните с подготовки сервера, следуйте пошаговой инструкции и настройте автоматическое восстановление, чтобы избежать проблем в будущем.