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

3.4 KiB
Raw Blame History

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. Запустите команду:

    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

Улучшения

  1. Добавлен healthcheck для лучшей стабильности
  2. Добавлено логирование для отладки
  3. Оптимизирован Dockerfile
  4. Улучшена стабильность запуска контейнеров