VPS에서 게임 플레이가 가능할까? 현실적인 답변
VPS에서 직접 게임을 실행하는 것은 GPU 부재로 인해 불가능합니다. 하지만 친구들과 함께할 게임 서버를 호스팅하는 용도로는 최적의 선택입니다. 왜 일반적인 VPS에서 3D 게임 구동이 안 되는지, 소프트웨어 렌더러의 한계와 기술적인 이유를 명확하게 설명해 드립니다.
VPS에서 게임을 할 수 있습니까? 짧은 답변
VPS에서 게임을 할 수 있습니까? 이 질문을 하는 사람들은 서로 정반대의 답변을 필요로 합니다. 임대 서버에서 직접 게임을 실행하고 자신의 화면으로 영상을 보려는 경우, 일반적인 VPS(가상 사설 서버)로는 불가능하며 어떠한 설정을 변경해도 해결되지 않습니다. 다른 플레이어들이 접속할 게임 서버를 호스팅하려는 경우라면, VPS는 비용 대비 가장 훌륭한 선택지 중 하나이며 소규모 플랜으로도 충분한 경우가 많습니다.
호스팅 측면의 정보를 찾으러 오셨다면 게임 서버용 VPS 선택하기 또는 VPS에서 Minecraft 서버 운영하기로 바로 이동하십시오. 아래 섹션에서는 왜 직접 플레이하는 것이 불가능한지 설명합니다. 이는 사람들이 명확한 답변을 거의 듣지 못하는 부분이기 때문입니다.
표준 VPS에 GPU가 없는 이유
표준 VPS는 공유 호스트의 일부를 할당받은 것으로, 가상 CPU 코어, RAM, 디스크, 네트워크 포트로 구성됩니다. 호스트는 랙 서버이며, 랙 서버에는 소비자용 그래픽 카드가 탑재되지 않습니다. 게이밍 GPU(Graphics Processing Unit)는 자체 냉각 팬과 높은 전력 소비량을 감당할 수 있는 데스크톱 케이스용으로 설계되었기 때문입니다. 가상 머신에는 부팅 콘솔 화면을 출력하기 위한 가상 디스플레이 어댑터가 제공되며, 이것이 그래픽 기능의 전부입니다.
lspci | grep -i -E 'vga|3d|display'
ls -l /dev/dri첫 번째 명령어를 실행하면 보통 Cirrus Logic GD 5446나 Red Hat, Inc. Virtio 1.0 GPU와 같은 한 줄의 결과가 출력됩니다. 해당 장치에는 3D 엔진이 없습니다. 두 번째 명령어는 일반적으로 ls: cannot access '/dev/dri': No such file or directory을 반환하는데, 이는 프로그램이 열 수 있는 직접 렌더링 장치가 존재하지 않기 때문입니다. 실제 GPU가 장착된 인스턴스에서는 동일한 명령어를 실행하면 card0 및 renderD128가 나열됩니다.
Mesa는 여전히 llvmpipe(소프트웨어 렌더러)을 통해 OpenGL을 제공하며, 이는 모든 삼각형을 CPU에서 직접 그립니다. 데스크톱 환경이나 구형 2D 게임을 실행하기에는 충분합니다. 하지만 최신 3D 게임을 실행하면 초당 프레임 수가 매우 낮게 나오며, CPU가 가장 취약한 작업에 매달리게 되어 게임 로직까지 느려지게 됩니다.
원격 플레이에서 입력 지연이 치명적인 이유
원격 플레이는 하나의 루프입니다. 사용자의 키 입력이 서버로 전달되고, 서버는 프레임을 렌더링한 뒤 이를 비디오로 인코딩하여 다시 전송합니다. 이후 클라이언트가 이를 디코딩하여 화면에 출력합니다. 각 단계마다 밀리초 단위의 시간이 소요되며, 이들이 합쳐져 전체 지연 시간이 결정됩니다.
The data behind this chart
[
{
"label": "Input capture and send",
"typical_ms": 5
},
{
"label": "Network round trip",
"typical_ms": 15
},
{
"label": "Frame render on the server",
"typical_ms": 12
},
{
"label": "Hardware video encode",
"typical_ms": 8
},
{
"label": "Decode and display on the client",
"typical_ms": 15
},
{
"label": "Sum of the stages above",
"typical_ms": 55
}
]이 과정에서 네트워크 왕복 시간은 15 ms에 불과하며, 서버를 가까운 곳으로 선택하여 개선할 수 있는 유일한 부분입니다. 나머지는 파이프라인 자체의 처리 시간이며, 서버의 물리적 위치와는 무관합니다. 게임 엔진이 작업을 시작하기도 전에 이 단계들로 인해 발생하는 지연 시간은 55 ms에 달합니다. 이는 동일 지역 내의 클라이언트로 하드웨어 인코더 스트리밍을 수행할 때 공개된 일반적인 수치이며, 단일 장비에서 측정한 값이 아니므로 문제의 구조를 파악하는 참고 자료로 활용해야 합니다.
이러한 지연 시간은 피드백 루프 내에 존재합니다. 사용자가 마우스를 움직이고, 결과를 확인한 뒤, 다시 보정하는 과정을 거칩니다. 지연 시간이 길어지면 모든 보정 작업이 늦게 반영되므로, 목표 지점을 지나치게 되고 다시 보정하는 악순환이 반복됩니다. 턴제 게임, 전략 게임, 경영 시뮬레이션, 카드 게임은 이러한 지연을 견딜 수 있습니다. 하지만 슈팅, 격투, 리듬, 레이싱 게임은 그렇지 못합니다.
지터(Jitter)와 패킷 손실은 다른 방식으로 성능을 저하시킵니다. 비디오 스트림은 재전송을 기다릴 수 없습니다. 해당 패킷이 속한 프레임은 이미 재생 시점을 지났기 때문입니다. 따라서 패킷 손실은 일시 정지가 아닌 화면 깨짐(blocking artifacts)이나 화면 멈춤 현상으로 나타납니다. 이것이 바로 원격 데스크톱이 원격 플레이에 적합하지 않은 이유입니다. VNC(virtual network computing)와 일반적인 RDP(remote desktop protocol)는 변경된 화면 영역을 TCP를 통해 전송합니다. 초당 60회씩 화면이 완전히 바뀌는 환경에서는 이 방식이 끊임없는 재전송 스트림을 유발합니다.
진정한 클라우드 게이밍 박스에 필요한 것
이를 제대로 구축하는 것은 가능합니다. 동시에 네 가지 요소가 필요합니다.
- 데이터센터용 카드를 탑재한 GPU 인스턴스: 제공업체가 임대할 수 있는 유일한 라이선스 형태이기 때문입니다.
- NVENC와 같은 하드웨어 비디오 인코더: NVIDIA의 내장 인코더를 사용해야 합니다. 소프트웨어 인코딩은 CPU 자원을 소모하고 지연 시간을 추가하기 때문입니다.
- 데스크톱이 아닌 게임용으로 설계된 스트리밍 쌍: 서버 측의 Sunshine과 클라이언트 측의 Moonlight가 일반적인 오픈 소스 선택지입니다.
- 사용자와 같은 대도시권 내의 서버: 왕복 시간은 거리에 비례하며, 거리는 광섬유 내 빛의 속도에 의해 결정되기 때문입니다.
그다음 비용을 산정하십시오. GPU 인스턴스는 시간 단위로 과금되므로, 시간당 요금에 730을 곱하면 한 달 내내 실행했을 때의 비용이 나옵니다. 2026년 8월 기준으로 이는 미화 세 자릿수의 월간 청구액이 발생하며, 이 금액이면 1년 안에 콘솔 기기를 완전히 구매할 수 있습니다. 게다가 게임 라이선스 비용은 별도로 지불해야 합니다. GPU VPS가 실제로 제공하는 것과 GPU 시간 임대에 대한 손익분기점 계산에서 구체적인 수치를 다룹니다.
단순히 게임을 즐기기만 원한다면, 상용 클라우드 게이밍 서비스가 이미 라이선스 문제를 해결한 상태로 사용자와 가까운 데이터센터에서 정확히 이 스택을 운영하고 있습니다. 특정 도시의 VPS 하나로는 이 작업을 위해 구축된 네트워크를 따라갈 수 없습니다.
안티 치트 및 라이선스 정책에 따른 제한
완벽하게 구성된 GPU 서버라 할지라도 정책적인 제약에 부딪힙니다. Riot의 Vanguard는 Windows 11 환경에서 TPM 2.0(Trusted Platform Module)과 Secure Boot를 요구하며, 가상 머신 내부에서의 실행을 차단하므로 대여한 클라우드 하드웨어에서는 Valorant를 실행할 수 없습니다. Easy Anti-Cheat와 BattlEye 역시 하이퍼바이저를 탐지할 수 있으며, 이를 사용하는 여러 게임은 가상 머신에서의 실행을 차단하거나 계정을 제재합니다. 이는 의도적인 조치입니다. 치트 개발자들이 가상 머신을 이용해 도구를 숨기기 때문에, 가상 머신에서의 실행을 거부하는 것만으로도 게임사는 저비용으로 보안을 강화할 수 있습니다.
라이선스 문제도 여기에 더해집니다. NVIDIA의 GeForce 드라이버 라이선스는 데이터센터에서의 사용을 제한하고 있으며, 이것이 바로 서비스 제공업체들이 데스크톱용 카드가 아닌 데이터센터용 카드를 대여하는 이유입니다. Windows는 사용자가 소유하지 않은 하드웨어에서 실행할 수 있는 라이선스를 필요로 합니다. 또한 스토어 플랫폼의 이용 약관은 소프트웨어의 실행 가능 범위를 규정합니다. 이러한 제약은 개별적으로는 우회할 방법이 있을지 모르나, 모두 합쳐지면 개인이 직접 구축한 클라우드 게이밍 환경에서 대다수의 경쟁형 게임을 실행하는 것은 불가능해집니다.
CPU 전용 VPS가 원활하게 작동하는 경우
이제 다른 관점을 살펴보겠습니다. 전용 게임 서버는 화면을 렌더링하지 않습니다. 서버는 게임 세계를 시뮬레이션하고, 각 플레이어의 입력을 적용하며, 네트워크를 통해 상태 업데이트를 다시 전송합니다. 화면을 그리는 작업은 플레이어의 기기가 담당합니다. 렌더링이 필요 없으므로 GPU도 필요하지 않으며, 따라서 게임 플레이에는 부적합한 사양의 서버가 호스팅에는 적합한 형태가 됩니다.
- Minecraft, Valheim, Terraria, Factorio, Rust, Project Zomboid 및 headless 서버 빌드를 제공하는 대부분의 게임을 위한 전용 서버.
- 음성 채팅. Mumble 서버는 가벼워서 동일한 소규모 플랜의 게임 서버와 함께 실행할 수 있습니다.
- 일반 HTTP를 통한 모드 및 맵 다운로드, 그리고 플레이어가 접속자를 확인할 수 있는 웹 패널.
- 매치메이킹, 통계, 리더보드, Discord 봇 및 이를 지원하는 데이터베이스.
- 외부로 전송되는 정기적인 월드 백업. 이를 통해 데이터가 손상되어도 전체 맵을 잃지 않고 한 시간 분량의 데이터만 손실됩니다.
대부분의 경우 RAM 용량이 제한 요소가 되며, 많은 게임에서 메인 시뮬레이션 틱이 단일 스레드에서 실행되므로 코어 개수보다는 단일 코어 속도가 더 중요합니다. 느린 코어 8개를 가진 플랜보다 빠른 코어 4개를 가진 플랜이 더 유리합니다. 대역폭은 CPU보다 플레이어 수에 따라 더 많이 소모되며, 제공업체마다 데이터 전송량을 제한하므로 플랜을 선택하기 전에 허용량을 확인하십시오.
적절한 포트를 개방하십시오. 대부분의 게임 내 트래픽은 TCP가 아닌 UDP(user datagram protocol)를 사용한다는 점을 기억해야 합니다.
sudo ufw allow 25565/tcp
sudo ufw allow 27015/udp
sudo ufw statusufw status은 각 규칙과 그 옆의 ALLOW를 나열해야 합니다. 서버 내부에서 포트를 개방했음에도 서버에 연결할 수 없다면, 제공업체의 제어 패널에서 별도의 네트워크 방화벽을 확인하십시오. 서버 내부의 규칙은 서버 앞단에 위치한 필터에는 영향을 주지 않기 때문입니다.
관리자 개입 없이 서버를 계속 실행하십시오. systemd 유닛이나 Docker restart policy를 사용하면 재부팅 후에도 서버가 자동으로 다시 시작됩니다. 부팅 시 자동으로 시작되는 compose 스택을 구성하는 것이 일반적인 방식입니다. 여기에 외부로 전송되는 정기 백업을 결합하면 디스크 장애 시에도 월드 파일을 안전하게 보존할 수 있습니다.
VPS를 호스팅하기 전에 점검하는 방법
플레이어와의 지연 시간(latency)은 서버의 체감 성능을 결정하며, 이는 측정 가능한 수치입니다. 원하는 지역의 테스트 주소를 제공업체에 요청한 다음, 서버가 아닌 플레이어의 네트워크에서 다음 명령을 실행하십시오.
ping -c 20 203.0.113.10
mtr -r -c 100 203.0.113.10ping은 rtt min/avg/max/mdev = 18.4/19.1/24.6/1.2 ms와 같은 요약 줄로 끝납니다. 마지막 숫자는 지터(jitter)입니다. 수치가 낮더라도 변동이 심한 것보다, 평균이 다소 높더라도 지터가 낮고 일정한 것이 게임 환경에서는 더 쾌적합니다. mtr는 홉(hop)별 패킷 손실을 출력합니다. 중간 라우터들은 ICMP(internet control message protocol) 응답을 최하위 우선순위로 처리하여 실제 트래픽에서는 발생하지 않는 손실을 보고하는 경우가 많으므로, 반드시 마지막 줄의 손실률만 확인해야 합니다.
그다음 호스트가 자원을 초과 할당(oversubscribed)했는지 확인하십시오.
vmstat 1 5st 열은 스틸 타임(steal time)을 나타냅니다. 이는 가상 CPU가 실행 준비를 마쳤음에도 물리 호스트가 해당 사이클을 다른 게스트에게 할당하느라 대기한 시간의 비율입니다. 이 값이 0이 아닌 상태로 유지된다면, 상품 설명 페이지의 내용과 관계없이 부하가 걸릴 때 틱 레이트(tick rate)가 불안정해집니다. 스틸 타임과 노이지 네이버에서 이를 읽는 방법을 다루며, VPS 직접 벤치마킹하기에서는 1년 약정을 하기 전에 수집해야 할 나머지 지표들을 설명합니다.
두 질문에 대한 명확한 답변
게임을 즐기려면 직접 제어할 수 있는 하드웨어에서 실행하거나 게임 스트리밍 전용 서비스를 이용해야 합니다. 범용 VPS는 렌더링을 수행할 수 없으며, GPU 인스턴스는 하드웨어 구매 비용보다 비싸면서도 안티 치트(anti-cheat) 문제로 인해 게임 실행이 어렵습니다. 게임 서버를 호스팅하려면 VPS를 임대하십시오. 저렴한 비용으로 훌륭한 성능을 제공하며, 동일한 서버에서 다른 서비스도 함께 운영할 수 있습니다.
FAQ
VPS에 Steam을 설치해서 게임을 할 수 있습니까?
Linux VPS에 Steam 클라이언트를 설치하고 게임을 다운로드할 수는 있습니다. 하지만 게임을 실행하는 것은 불가능합니다. 일반적인 플랜에는 GPU가 없으므로 3D 게임은 CPU 렌더링으로 전환되어 초당 몇 프레임 수준으로 동작하며, 많은 최신 게임은 지원되는 렌더러가 없으면 실행조차 되지 않습니다. 렌더링된 화면을 다시 사용자에게 전송하려면 인코딩 및 네트워크 지연 시간이 추가됩니다. Steam Remote Play는 사용자가 소유한 실제 게임용 PC에서 스트리밍하도록 설계되었으며, 해당 기기에 그래픽 카드가 장착되어 있을 것을 전제로 합니다.
GPU VPS를 사용하면 보유한 모든 게임을 할 수 있습니까?
렌더링 문제는 해결되지만 다른 문제는 그대로 남습니다. 여전히 하드웨어 인코더, Moonlight와 같은 저지연 클라이언트, 그리고 왕복 지연 시간이 짧은 가까운 위치의 서버가 필요합니다. 가장 큰 장벽은 안티 치트입니다. Riot의 Vanguard는 가상 머신에서 실행되지 않으며, Easy Anti-Cheat와 BattlEye는 하이퍼바이저를 감지할 수 있으므로 경쟁형 슈팅 게임은 플레이할 수 없습니다. 싱글 플레이어 게임이나 속도가 느린 게임은 현실적인 사용 사례이지만, 월 비용은 로컬 하드웨어 구매 비용보다 높을 수 있습니다.
친구 10명이 함께할 Minecraft 서버를 운영하려면 어느 정도 크기의 VPS가 필요합니까?
10인용 바닐라 Java 서버는 2 vCPU와 4 GB RAM 환경에서 원활하게 동작합니다. JVM(Java virtual machine)에는 -Xmx3G을 사용하여 약 3 GB를 할당하고 나머지는 운영 체제에 남겨두어야 합니다. JVM은 할당된 메모리를 모두 사용하려 하며, 커널 또한 페이지 캐시를 위한 메모리가 필요하기 때문입니다. 대규모 모드팩을 사용한다면 상황이 달라집니다. 힙 메모리만 6 GB에서 8 GB를 확보하고, 메인 월드 틱이 단일 스레드에서 실행되므로 단일 코어 성능이 더 빠른 플랜을 선택하십시오.
원격 데스크톱은 괜찮은데 왜 게임은 원활하지 않습니까?
데스크톱은 화면의 일부분만 조금씩 변경되므로 창이 100 ms 늦게 다시 그려져도 사용자는 거의 느끼지 못합니다. 반면 게임은 초당 수십 번씩 모든 픽셀을 변경하며 사용자의 입력과 화면 반응이 즉각적인 피드백 루프를 형성합니다. VNC나 일반적인 RDP는 변경된 영역을 TCP로 전송하므로, 화면이 계속 움직이는 게임에서는 재전송과 지연이 발생합니다. 적절한 비디오 스트리밍 방식을 사용하더라도 입력 지연은 여전히 존재하며, 조준을 시도할 때 바로 그 지연 시간을 체감하게 됩니다.