Files
game-server/README.md
bilal 95d7b24c73 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>
2026-06-18 15:14:58 +03:00

83 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. Улучшена стабильность запуска контейнеров