> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-ru/igry-i-striming/sunshine-moonlight.md).

# Удаленный гейминг с Sunshine + Moonlight

Транслируйте и играйте в игры для ПК удалённо с почти нулевой задержкой, используя Sunshine (хост) и Moonlight (клиент) на серверах Clore.ai с поддержкой GPU.

{% hint style="info" %}
**Sunshine** — это сервер потоковой передачи игр с открытым исходным кодом и самостоятельным размещением, с более чем 20 000 звёзд на GitHub. **Moonlight** — это бесплатный клиент с открытым исходным кодом, который подключается к нему. Вместе они конкурируют с GeForce NOW — при значительно меньшей стоимости.
{% endhint %}

***

## Что такое Sunshine + Moonlight?

**Sunshine** — это форк оригинального стека Moonlight/GameStream, который теперь полностью независим и активно поддерживается LizardByte. Он захватывает вывод GPU, кодирует его в реальном времени с использованием H.264/H.265/AV1 и передаёт по сети с ультранизкой задержкой.

**Moonlight** — это клиентское приложение, доступное для Windows, macOS, Linux, Android, iOS, Raspberry Pi и даже некоторых смарт-телевизоров.

### Зачем использовать это на Clore.ai?

* **Арендуйте высокопроизводительный GPU** (RTX 4090, A100 и т. д.) по спотовой цене
* **Потоковая передача игр AAA-класса** из облака на любое устройство — даже на дешёвый ноутбук
* **Подписка на GeForce NOW** не нужна — вы контролируете оборудование
* **Моддинг игр, игровой процесс с помощью ИИ**, или тестирование разработки игр на мощном оборудовании

***

## Предварительные требования

| Требование              | Подробности                                       |
| ----------------------- | ------------------------------------------------- |
| Учётная запись Clore.ai | При достаточном балансе CLORE                     |
| GPU-сервер              | Предпочтителен GPU NVIDIA (для кодирования NVENC) |
| Клиент Moonlight        | Установлен на вашем локальном устройстве          |
| SSH-доступ              | Для первоначальной настройки                      |

***

## Шаг 1: Арендуйте GPU-сервер на Clore.ai

1. Перейдите на [маркетплейсе clore.ai](https://clore.ai) → **Маркетплейс**
2. Фильтр по **Тип GPU**: Для потоковой передачи 1080p/60fps рекомендуется RTX 3080 или лучше
3. Ищите серверы с портами **22**, **47990**, и **48010** доступные
4. Выберите сервер и перейдите к оформлению заказа

{% hint style="warning" %}
**Требования к портам**: Sunshine требует портов 47990 (HTTPS веб-интерфейс) и 48010 (потоковая передача). Перед заказом убедитесь, что они указаны в списке доступных портов сервера.
{% endhint %}

### Рекомендуемый GPU для потоковой передачи

| Разрешение | Целевой FPS  | Минимальная GPU |
| ---------- | ------------ | --------------- |
| 1080p      | 60 кадров/с  | RTX 3060        |
| 1440p      | 60 кадров/с  | RTX 3080        |
| 4K         | 60 кадров/с  | RTX 3090 / 4080 |
| 1080p      | 120 кадров/с | RTX 4070+       |

***

## Шаг 2: Разверните Sunshine через Docker

### Docker Compose (рекомендуется)

Создайте файл `docker-compose.yml`:

```yaml
version: "3.8"

services:
  sunshine:
    image: lizardbyte/sunshine:latest
    container_name: sunshine
    restart: unless-stopped
    privileged: true
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
      - SUNSHINE_USERNAME=admin
      - SUNSHINE_PASSWORD=your_secure_password
    volumes:
      - ./sunshine-config:/config
      - /tmp/.X11-unix:/tmp/.X11-unix:rw
      - /dev/dri:/dev/dri
    devices:
      - /dev/dri:/dev/dri
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
```

### Запустите контейнер

```bash
# Скачайте и запустите
docker compose up -d

# Проверьте логи
docker compose logs -f sunshine

# Проверьте, что он работает
docker ps | grep sunshine
```

{% hint style="success" %}
**Первый запуск**: Sunshine требуется около 30 секунд для инициализации. Следите за логами и дождитесь "Sunshine started successfully" перед продолжением.
{% endhint %}

### Одна команда Docker (быстрый старт)

```bash
docker run -d \
  --name sunshine \\
  --restart unless-stopped \
  --privileged \\
  --network host \\
  -e SUNSHINE_USERNAME=admin \\
  -e SUNSHINE_PASSWORD=changeme \\
  -v $(pwd)/sunshine-config:/config \\
  -v /tmp/.X11-unix:/tmp/.X11-unix \\
  --device /dev/dri:/dev/dri \\
  --gpus all \
  lizardbyte/sunshine:latest
```

***

## Шаг 3: Настройте веб-интерфейс Sunshine

1. Откройте браузер и перейдите по адресу:

   ```
   https://<your-clore-server-ip>:47990
   ```
2. Примите предупреждение о самоподписанном сертификате
3. Войдите, используя заданные вами учётные данные (`admin` / `your_secure_password`)

{% hint style="warning" %}
**Только HTTPS**: Веб-интерфейс Sunshine работает по HTTPS. Ваш браузер покажет предупреждение о сертификате — это ожидаемо. Нажмите "Advanced" → "Proceed", чтобы продолжить.
{% endhint %}

### Разделы веб-интерфейса

| Раздел           | Назначение                                        |
| ---------------- | ------------------------------------------------- |
| **ПИН**          | Сопряжение с клиентом Moonlight                   |
| **Приложения**   | Определите приложения/игры для потоковой передачи |
| **Конфигурация** | Настройки кодировщика, разрешения и битрейта      |
| **Логи**         | Отладка проблем потоковой передачи                |

***

## Шаг 4: Настройте параметры кодирования

Перейдите по адресу **Конфигурация** → **Видео** в веб-интерфейсе:

### Рекомендуемые настройки для Clore.ai

```
# Кодировщик
encoder: nvenc          # Использовать аппаратное кодирование NVIDIA

# Разрешение
resolution_width: 1920
resolution_height: 1080

# Частота кадров
fps: 60

# Битрейт
bitrate: 50000          # 50 Мбит/с для 1080p60 — отличное качество

# H.265 (лучшее сжатие, используйте, если клиент поддерживает)
codec: hevc
```

{% hint style="info" %}
**NVENC против VAAPI**: На серверах NVIDIA в Clore.ai всегда используйте `nvenc` кодировщик. Он переносит кодирование на аппаратную часть GPU, освобождая CPU для самой игры.
{% endhint %}

### Руководство по битрейту

| Качество | Разрешение | Битрейт     |
| -------- | ---------- | ----------- |
| Хорошо   | 1080p60    | 20 Мбит/с   |
| Отлично  | 1080p60    | 35 Мбит/с   |
| Отлично  | 1080p60    | 50 Мбит/с   |
| Отлично  | 1440p60    | 50 Мбит/с   |
| Отлично  | 4K60       | 100+ Мбит/с |

***

## Шаг 5: Добавьте приложения для трансляции

В веб-интерфейсе Sunshine → **Приложения** → **Добавить новое**:

### Пример: потоковая передача рабочего стола

```
Имя: Desktop
Команда: (оставьте пустым для полного рабочего стола)
Рабочий каталог: /home/user
```

### Пример: игра Steam

```
Имя: Steam Big Picture
Команда: steam -bigpicture
Рабочий каталог: /home/user
Команда отсоединения: (пусто)
```

### Пример: пользовательская игра

```
Имя: My Game
Команда: /opt/games/mygame/start.sh
Рабочий каталог: /opt/games/mygame
Изображение: /opt/games/mygame/cover.png
```

***

## Шаг 6: Настройте виртуальный дисплей (сервер без монитора)

Серверы Clore.ai работают без монитора (headless). Вам нужен виртуальный дисплей:

```bash
# Установите драйвер виртуального дисплея
apt-get update && apt-get install -y xvfb x11vnc xfce4

# Создайте виртуальный дисплей
Xvfb :1 -screen 0 1920x1080x24 &
export DISPLAY=:1

# Запустите среду рабочего стола
startxfce4 &
```

### Или используйте скрипт виртуального framebuffer

```bash
#!/bin/bash
# start-display.sh

export DISPLAY=:1

# Запустить виртуальный дисплей
Xvfb :1 -screen 0 1920x1080x24 -ac +extension GLX +render -noreset &
sleep 2

# Запустить оконный менеджер
openbox &
sleep 1

# Запустить Sunshine
docker compose up -d sunshine
```

Сделайте его исполняемым и запустите:

```bash
chmod +x start-display.sh
./start-display.sh
```

{% hint style="info" %}
**NVIDIA GPU без дисплея**: Добавьте следующее в конфигурацию Sunshine, чтобы использовать GPU без физического дисплея:

```bash
export __GL_SYNC_TO_VBLANK=0
export __GL_GSYNC_ALLOWED=0
```

{% endhint %}

***

## Шаг 7: Подключитесь с помощью клиента Moonlight

### Установите Moonlight

| Платформа    | Скачать                                                  |
| ------------ | -------------------------------------------------------- |
| Windows      | [moonlight-stream.org](https://moonlight-stream.org)     |
| macOS        | Mac App Store или moonlight-stream.org                   |
| Linux        | `flatpak install flathub com.moonlight_stream.Moonlight` |
| Android      | Google Play Store                                        |
| iOS          | App Store                                                |
| Raspberry Pi | `apt install moonlight-embedded`                         |

### Сопряжение Moonlight с Sunshine

1. Откройте Moonlight на вашем локальном устройстве
2. Нажмите **Добавить ПК** и введите IP-адрес вашего сервера Clore.ai
3. Moonlight отобразит **PIN-код**
4. Перейдите в веб-интерфейс Sunshine → **ПИН** → введите PIN
5. Соединение установлено! ✅

### Настройки Moonlight для лучшего опыта

```
Разрешение: 1920x1080
FPS: 60
Битрейт: 50 Мбит/с
Видеокодек: HEVC (H.265)
Аппаратное декодирование: включено
Аудио: стерео
```

***

## Шаг 8: Справочник по перенаправлению портов

| Порт        | Протокол | Назначение                            |
| ----------- | -------- | ------------------------------------- |
| 22          | TCP      | Управление SSH                        |
| 47984       | TCP      | HTTPS (совместимость с GameStream)    |
| 47989       | TCP      | HTTP (совместимость с GameStream)     |
| 47990       | TCP      | Веб-интерфейс HTTPS                   |
| 48010       | TCP      | RTSP (управление потоковой передачей) |
| 47998-48000 | UDP      | Потоковая передача видео/аудио        |
| 48010       | UDP      | Потоковая передача видео              |

{% hint style="warning" %}
**Сопоставление портов Clore.ai**: При заказе сервера убедитесь, что порты 47990 и 48010 включены в карту портов. UDP-порты для потоковой передачи (47998-48000) также должны быть доступны, если возможно.
{% endhint %}

***

## Устранение неполадок

### Sunshine не запускается

```bash
# Проверить журналы контейнера
docker logs sunshine --tail 50

# Типичное исправление: права доступа
chmod 777 /tmp/.X11-unix
xhost +local:docker
```

### Чёрный экран при потоковой передаче

```bash
# Убедитесь, что виртуальный дисплей работает
export DISPLAY=:1
xdpyinfo | grep dimensions

# Перезапустите дисплей
pkill Xvfb
Xvfb :1 -screen 0 1920x1080x24 &
```

### Высокая задержка

* Переключитесь с **Wi‑Fi на Ethernet** на стороне клиента
* Уменьшите битрейт в настройках Moonlight
* Используйте **H.265** вместо H.264 (лучшее сжатие при том же качестве)
* Включите **Равномерность кадров** в конфигурации Sunshine

### Ошибка NVENC: "No encoder found"

```bash
# Убедитесь, что NVIDIA GPU доступен
nvidia-smi

# Проверьте, что контейнер имеет доступ к GPU
docker exec sunshine nvidia-smi

# Если нет, перезапустите с флагом --gpus all
docker stop sunshine && docker rm sunshine
# Запустите снова с --gpus all
```

### Проблемы аутентификации/сопряжения

```bash
# Сбросьте учётные данные Sunshine
docker exec sunshine sunshine --creds admin newpassword

# Очистите сопряжённых клиентов
rm -f ./sunshine-config/sunshine_state.json
docker restart sunshine
```

***

## Расширенная конфигурация

### Поддержка нескольких мониторов

```yaml
# В конфигурации Sunshine (sunshine.conf)
[video]
adapter_name = /dev/dri/card0
output_name = HDMI-A-1
```

### Аудио по сети

Установите виртуальный sink PulseAudio:

```bash
apt-get install -y pulseaudio
pulseaudio --daemon
pactl load-module module-null-sink sink_name=virtual_sink
export PULSE_SERVER=unix:/run/user/1000/pulse/native
```

### Поддержка геймпада

Sunshine поддерживает эмуляцию виртуального геймпада. Включите в конфигурации:

```yaml
[input]
gamepad = enabled
ds4_back_as_touchpad_click = disabled
```

### Wake-on-LAN (для постоянно работающих серверов)

```bash
# Поддерживайте сервер активным даже без потоковой передачи
docker update --restart=always sunshine
```

***

## Оптимизация затрат

### Рассчитайте стоимость потоковой передачи

```
Аренда GPU: $0.05–0.19/час (RTX 3080)
Хранилище: ~ $0.01/час (SSD 50 ГБ)
Итого: ~ $0.31-0.81/час

против GeForce NOW: $9.99-$19.99/месяц (ограниченное количество часов)
против Xbox Cloud Gaming: $14.99/месяц (ограниченный каталог)
```

### Советы по экономии

1. **Спотовые инстансы**: Используйте самый дешёвый доступный GPU в часы низкой нагрузки
2. **Приостанавливайте, когда не играете**: Останавливайте контейнер, но сохраняйте том
3. **Предварительно устанавливайте игры**: Используйте постоянный том, чтобы не загружать заново каждый раз
4. **Автоматическое выключение**: Добавьте скрипт для остановки сервера после бездействия

```bash
# Автоматическое выключение после 30 минут без подключения Moonlight
#!/bin/bash
while true; do
  connections=$(ss -tn | grep 47990 | wc -l)
  if [ "$connections" -eq 0 ]; then
    idle_count=$((idle_count + 1))
  else
    idle_count=0
  fi
  if [ "$idle_count" -ge 30 ]; then
    echo "Нет подключений в течение 30 минут, выключаюсь"
    docker stop sunshine
    break
  fi
  sleep 60
done
```

***

## Лучшие практики безопасности

{% hint style="danger" %}
**Никогда не открывайте Sunshine без аутентификации!** Всегда устанавливайте сложный пароль и рассмотрите использование VPN или SSH-туннеля для дополнительной безопасности.
{% endhint %}

### Метод SSH-туннеля (самый безопасный)

```bash
# На локальном компьютере создайте SSH-туннель
ssh -L 47990:localhost:47990 \\
    -L 48010:localhost:48010 \\
    root@<clore-server-ip>

# Затем подключите Moonlight к localhost вместо IP-адреса сервера
```

### Измените учётные данные по умолчанию

```bash
docker exec sunshine sunshine --creds admin 'Y0urStr0ngP@ssw0rd!'
```

### Ограничьте доступ по IP

В конфигурации Sunshine:

```
allowed_ips = 192.168.1.0/24,203.0.113.5
```

***

## Тесты производительности

| GPU      | Разрешение | FPS | Задержка | Кодировщик |
| -------- | ---------- | --- | -------- | ---------- |
| RTX 3060 | 1080p      | 60  | \~15 мс  | NVENC      |
| RTX 3080 | 1440p      | 60  | \~12 мс  | NVENC      |
| RTX 4080 | 4K         | 60  | \~10 мс  | NVENC AV1  |
| RTX 4090 | 4K         | 120 | \~8 мс   | NVENC AV1  |

*Задержка измерена в локальной сети со скоростью 100 Мбит/с*

***

## Полезные ссылки

* [GitHub Sunshine](https://github.com/LizardByte/Sunshine) — более 20 тыс. звёзд
* [Официальный сайт Moonlight](https://moonlight-stream.org)
* [Документация Sunshine](https://docs.lizardbyte.dev/projects/sunshine)
* [Discord LizardByte](https://discord.gg/lizardbyte)
* [Маркетплейс Clore.ai](https://clore.ai)

***

## Итог

| Шаг | Действие                                                   |
| --- | ---------------------------------------------------------- |
| 1   | Арендуйте GPU-сервер с портами 22, 47990, 48010            |
| 2   | Развернуть `lizardbyte/sunshine` через Docker              |
| 3   | Настройте через веб-интерфейс по адресу `https://IP:47990` |
| 4   | Установите кодировщик NVENC, битрейт 50 Мбит/с             |
| 5   | Создайте виртуальный дисплей (Xvfb)                        |
| 6   | Установите клиент Moonlight локально                       |
| 7   | Сопряжение с помощью PIN-кода                              |
| 8   | Транслируйте и играйте! 🎮                                 |

С Sunshine + Moonlight на Clore.ai вы получаете облачный игровой опыт, не уступающий любому коммерческому сервису — с полным контролем над вашим оборудованием и играми. Без подписок, без ограничений, без лимитов.

***

## Рекомендации по GPU для Clore.ai

| Сценарий использования                    | Рекомендуемый GPU | Оценочная стоимость на Clore.ai |
| ----------------------------------------- | ----------------- | ------------------------------- |
| Стриминг 1080p/60 кадров/с                | RTX 3090 (24 ГБ)  | $0.07–0.21/гпу/ч                |
| Стриминг 4K с высокой частотой обновления | RTX 4090 (24 ГБ)  | $0.14–0.42/гпу/ч                |
| AAA-игры + стриминг                       | RTX 4090 (24 ГБ)  | $0.14–0.42/гпу/ч                |

> 💡 Все примеры в этом руководстве можно развернуть на [Clore.ai](https://clore.ai/marketplace) GPU-серверах. Просматривайте доступные GPU и арендуйте по часам — без обязательств, с полным root-доступом.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/igry-i-striming/sunshine-moonlight.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
