최근 게임 스트리밍의 인기가 높아지면서, 다양한 플랫폼과 방법들이 등장하고 있습니다. 특히, PC 게임을 즐기는 사용자라면 한 번쯤 Steam의 원격 플레이 기능을 써봤을 것입니다. 그런데, 이 기능을 좀 더 손쉽고 유연하게 활용할 수 있는 방법이 있다면 더 좋지 않을까요? 바로 Steam-Headless/docker-steam-headless 프로젝트입니다. 이 프로젝트는 NVIDIA GPU를 지원하는 헤드리스 Steam Docker 이미지를 제공하여, 웹 UI를 통해 쉽게 접근할 수 있는 게임 스트리밍 서버를 구축할 수 있게 해줍니다.

주요 기능 및 특징

Steam-Headless/docker-steam-headless 프로젝트는 다음과 같은 주요 기능을 제공합니다:

  1. 헤드리스 Steam 클라이언트: Linux에서 Proton을 사용하여 실행되는 Steam 클라이언트가 기본으로 설정되어 있습니다.
  2. 원격 데스크탑 스트리밍: Moonlight와 호환되는 서버로, 원격 데스크탑 스트리밍이 가능합니다.
  3. 쉬운 게임 런처 설치: EmeDeck, Heroic 및 Lutris를 Flatpak을 통해 간편하게 설치할 수 있습니다.
  4. 풀 비디오/오디오 지원: noVNC를 통한 웹 접근으로 Xfce4 데스크탑을 사용할 수 있습니다.
  5. 다양한 GPU 지원: NVIDIA, AMD 및 Intel GPU를 지원하여 다양한 하드웨어 환경에서도 원활한 스트리밍이 가능합니다.
  6. 컨트롤러 지원: 모든 게임에서 컨트롤러를 사용할 수 있습니다.
  7. 루트 접근: 필요시 루트 권한을 통해 시스템을 자유롭게 수정할 수 있습니다.
  8. Debian Trixie 기반: 안정성과 성능이 뛰어난 Debian 기반의 컨테이너입니다.
  9. 이 외에도 다양한 추가 소프트웨어를 설치할 수 있으며, 게임 라이브러리를 특정 경로에 마운트하는 것 역시 지원합니다.

    설치 및 기본 사용법

    요구 사항

    • Docker와 Docker Compose가 설치되어 있어야 합니다.
    • Docker 설치하기

      먼저, Docker를 설치합니다. Ubuntu를 기준으로 설명하겠습니다.

      sudo apt update
      sudo apt install docker.io docker-compose

      Docker 이미지 실행하기

      아래의 명령어로 Docker 이미지를 다운로드하고 실행할 수 있습니다.

      docker run -d \
        --name steam-headless \
        --restart unless-stopped \
        -e DISPLAY=:0 \
        -e MODE=secondary \
        -v /run/dbus:/run/dbus:ro \
        -v ~/path/to/games:/mnt/games \
        -p 8080:80 \
        steam-headless

      이 명령어에서 ~/path/to/games는 여러분의 게임 라이브러리 경로로 수정해야 합니다. 이제 웹 브라우저를 통해 http://<서버_IP>:8080으로 접속하면 웹 UI를 통해 Steam에 접근할 수 있습니다.

      기본 설정

      웹 UI에서 Steam 클라이언트를 설정한 후, 게임 라이브러리를 추가하고, 컨트롤러를 설정할 수 있습니다. 추가 소프트웨어는 Applications > System > Software 메뉴에서 설치할 수 있습니다.

      실무 활용 시나리오

      이 프로젝트는 여러 환경에서 활용될 수 있습니다. 예를 들어:

    • 원격 근무 시: 집에서 회사의 고성능 PC를 원격으로 접근하여 작업하거나 게임을 즐길 수 있습니다.
    • 친구와 함께 게임하기: 여러 친구들과 함께 게이밍 세션을 만들고, 서로의 게임을 쉽게 스트리밍하면서 즐길 수 있습니다.
    • 게임 서버 관리: 게임 서버를 직접 운영하고, 다양한 게임 런처를 이용하여 손쉽게 관리할 수 있습니다.

비슷한 도구와 비교

비슷한 도구로는 Parsec와 Moonlight가 있습니다. Parsec은 빠른 반응 속도로 유명하지만, Steam과의 통합이 부족할 수 있습니다. Moonlight는 NVIDIA의 Gamestream 기술을 기반으로 하여 좋은 성능을 보이지만, 추가적인 설정이 필요할 수 있습니다. 반면, Steam-Headless/docker-steam-headless는 Steam과의 완벽한 통합을 제공하며, 다양한 게임 런처를 지원해 유연한 사용이 가능합니다.

추천 대상

이 프로젝트는 게임 스트리밍에 관심이 있는 모든 개발자 및 게이머에게 추천합니다. 특히, 원격으로 게임을 즐기고 싶은 사용자, 다양한 게임 런처를 사용하고 싶은 사용자에게 적합합니다. 또한, Docker를 활용하여 게임 서버를 관리하고 싶은 분들에게도 유용합니다.

더 많은 정보와 소스 코드는 GitHub에서 확인해보세요. 이 프로젝트로 자유롭고 유연한 게임 스트리밍을 경험해 보시기 바랍니다!