Configure multi-player containers with GPU pinning, Moonlight-ready ports, and baseline project documentation. Co-authored-by: Cursor <cursoragent@cursor.com>
Game Server с использованием Sunshine и Steam
Этот проект предоставляет Docker-конфигурацию для запуска игрового сервера с использованием Sunshine и Steam, позволяя запускать игры на нескольких клиентах одновременно.
Структура проекта
Dockerfile- файл для создания Docker-образа с Sunshine и Steamdocker-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-чипа)
Установка
-
Убедитесь, что у вас установлен Docker и Docker Compose
-
Склонируйте репозиторий
-
Настройте пути к папкам Steam в
docker-compose.yml -
Проверьте назначение GPU-чипов в
NVIDIA_VISIBLE_DEVICES:player1-> GPU1player2-> GPU2player3-> GPU3player4-> GPU4
GPU
0в этой конфигурации обычно занят отдельной видеокартой (например, Quadro) и не используется для игровых контейнеров. -
Запустите команду:
docker-compose up -d
Настройка
Конфигурация Sunshine
Конфигурационные файлы Sunshine находятся в директориях players/pX_config/:
apps.json- список установленных игрcredentials/- SSL сертификаты
sunshine.conf не хранится в репозитории и генерируется Sunshine автоматически при первом запуске контейнера.
Порты
Каждый клиент использует следующие порты:
- TCP: 47984-47990
- UDP: 47998-48000
Порты для каждого клиента отличаются для избежания конфликтов.
Отладка
Для проверки состояния контейнеров используйте:
docker-compose ps
Для просмотра логов:
docker-compose logs player1
Улучшения
- Добавлен healthcheck для лучшей стабильности
- Добавлено логирование для отладки
- Оптимизирован Dockerfile
- Улучшена стабильность запуска контейнеров