Initial Docker-based game server setup for Sunshine and Steam.
Configure multi-player containers with GPU pinning, Moonlight-ready ports, and baseline project documentation. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
82
README.md
Normal file
82
README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Game Server с использованием Sunshine и Steam
|
||||
|
||||
Этот проект предоставляет Docker-конфигурацию для запуска игрового сервера с использованием Sunshine и Steam, позволяя запускать игры на нескольких клиентах одновременно.
|
||||
|
||||
## Структура проекта
|
||||
|
||||
- `Dockerfile` - файл для создания Docker-образа с Sunshine и Steam
|
||||
- `docker-compose.yml` - конфигурация для запуска нескольких контейнеров
|
||||
- `players/` - директория с конфигурациями и данными для каждого игрока
|
||||
- `p1_config/`, `p2_config/`, `p3_config/`, `p4_config/` - конфигурации для каждого клиента
|
||||
- `p1_steam/`, `p2_steam/`, `p3_steam/`, `p4_steam/` - данные Steam для каждого клиента
|
||||
|
||||
## Особенности
|
||||
|
||||
- Поддержка 4 одновременных клиентов
|
||||
- Использование NVIDIA GPU для ускорения работы
|
||||
- Автоматическое восстановление контейнеров
|
||||
- Healthcheck для мониторинга состояния
|
||||
- Логирование для отладки
|
||||
|
||||
## Требования
|
||||
|
||||
- Docker и Docker Compose
|
||||
- NVIDIA драйверы
|
||||
- NVIDIA Container Toolkit
|
||||
- 2x Tesla K80 (суммарно 4 GPU-чипа)
|
||||
|
||||
## Установка
|
||||
|
||||
1. Убедитесь, что у вас установлен Docker и Docker Compose
|
||||
2. Склонируйте репозиторий
|
||||
3. Настройте пути к папкам Steam в `docker-compose.yml`
|
||||
4. Проверьте назначение GPU-чипов в `NVIDIA_VISIBLE_DEVICES`:
|
||||
|
||||
- `player1` -> GPU `1`
|
||||
- `player2` -> GPU `2`
|
||||
- `player3` -> GPU `3`
|
||||
- `player4` -> GPU `4`
|
||||
|
||||
GPU `0` в этой конфигурации обычно занят отдельной видеокартой (например, Quadro) и не используется для игровых контейнеров.
|
||||
5. Запустите команду:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Настройка
|
||||
|
||||
### Конфигурация Sunshine
|
||||
|
||||
Конфигурационные файлы Sunshine находятся в директориях `players/pX_config/`:
|
||||
- `apps.json` - список установленных игр
|
||||
- `credentials/` - SSL сертификаты
|
||||
|
||||
`sunshine.conf` не хранится в репозитории и генерируется Sunshine автоматически при первом запуске контейнера.
|
||||
|
||||
### Порты
|
||||
|
||||
Каждый клиент использует следующие порты:
|
||||
- TCP: 47984-47990
|
||||
- UDP: 47998-48000
|
||||
|
||||
Порты для каждого клиента отличаются для избежания конфликтов.
|
||||
|
||||
## Отладка
|
||||
|
||||
Для проверки состояния контейнеров используйте:
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
Для просмотра логов:
|
||||
```bash
|
||||
docker-compose logs player1
|
||||
```
|
||||
|
||||
## Улучшения
|
||||
|
||||
1. Добавлен healthcheck для лучшей стабильности
|
||||
2. Добавлено логирование для отладки
|
||||
3. Оптимизирован Dockerfile
|
||||
4. Улучшена стабильность запуска контейнеров
|
||||
|
||||
Reference in New Issue
Block a user