SSD Nodes Learn 🎉 VPS từ $5.50/tháng
Hướng dẫn Matt ConnorBởi Matt Connor

Có thể chơi game trực tiếp trên VPS không?

VPS tiêu chuẩn không thể chơi game trực tiếp vì thiếu GPU và màn hình để xuất hình. Nhưng bạn có thể host game server ổn định với một gói VPS nhỏ.

Bạn có thể chơi game trên VPS không? Câu trả lời ngắn gọn

Bạn có thể chơi game trên VPS không? Câu hỏi này thường có hai ý khác nhau và cần hai câu trả lời trái ngược. Nếu bạn muốn tự chơi game trên một server thuê và xem hình ảnh trên màn hình của mình, VPS tiêu chuẩn không thể làm việc đó. Không có thay đổi cấu hình nào khắc phục được vấn đề này. Nếu bạn muốn host một game server để người chơi khác kết nối vào, VPS là một trong những lựa chọn đáng thuê nhất so với chi phí, và một gói nhỏ thường đã đủ.

Nếu bạn quan tâm đến việc host game server, hãy chuyển thẳng đến chọn VPS cho game server hoặc chạy Minecraft server trên VPS. Các phần dưới đây giải thích vì sao không thể chơi game trực tiếp trên VPS, vì đây là điều mọi người thường không nhận được câu trả lời rõ ràng.

Vì sao VPS tiêu chuẩn không có GPU

VPS tiêu chuẩn là một phần tài nguyên trên host dùng chung: core CPU ảo, RAM, disk và một cổng mạng. Host là một server dạng rack, còn server dạng rack không có card đồ họa dành cho người dùng phổ thông, vì gaming GPU (graphics processing unit) được thiết kế cho case desktop có quạt riêng và ngân sách điện năng lớn. Máy ảo của bạn được cấp một display adapter ảo để console lúc boot có nơi hiển thị. Đó là toàn bộ phần đồ họa.

lspci | grep -i -E 'vga|3d|display'
ls -l /dev/dri

Lệnh đầu tiên in ra một dòng, thường có dạng như Cirrus Logic GD 5446 hoặc Red Hat, Inc. Virtio 1.0 GPU. Các thiết bị đó không có 3D engine. Lệnh thứ hai thường trả về ls: cannot access '/dev/dri': No such file or directory, vì không có thiết bị render trực tiếp để chương trình mở. Trên một GPU instance thực, lệnh này sẽ liệt kê card0renderD128.

Mesa vẫn cung cấp OpenGL thông qua llvmpipe, software renderer của nó, dùng CPU để vẽ từng triangle. Cách này đủ cho desktop hoặc một game 2D cũ. Game 3D hiện đại chỉ chạy được vài frame mỗi giây. Khi đó CPU phải xử lý đúng tác vụ mà nó làm kém nhất, nên game logic cũng chạy chậm theo.

Vì sao độ trễ input là yếu tố khiến remote play không thể chơi được

Remote play là một vòng lặp. Thao tác nhấn phím của bạn đi đến server, server render một frame, encode frame đó thành video rồi gửi ngược lại, sau đó client decode và hiển thị lên màn hình. Mỗi giai đoạn mất vài mili giây và tổng độ trễ sẽ tăng dần.

ChartTypical published latency for a hardware-encoded game stream, same region
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
  }
]

Chỉ 15 ms trong số đó là round trip của network. Đây là phần duy nhất bạn có thể cải thiện bằng cách chọn server gần mình hơn. Phần còn lại nằm trong chính pipeline và không phụ thuộc server đặt ở đâu. Các giai đoạn này cộng lại thành 55 ms độ trễ trước khi game thực hiện bất kỳ xử lý nào của riêng nó. Đây là các con số điển hình được công bố cho hardware encoder streaming đến client trong cùng khu vực, không phải số đo từ một máy cụ thể. Vì vậy, hãy xem chúng như hình dạng của vấn đề.

Độ trễ đó nằm trong một feedback loop. Bạn di chuyển chuột, thấy kết quả rồi điều chỉnh. Độ trễ tăng thêm khiến mỗi lần điều chỉnh đến muộn, nên bạn vượt qua mục tiêu rồi phải điều chỉnh lại. Game turn-based, game chiến thuật, game mô phỏng quản lý và game thẻ bài thường chịu được điều này. Game bắn súng, game đối kháng, game rhythm và game đua xe thì không.

Jitter và packet loss gây ảnh hưởng theo cách khác. Video stream không thể chờ retransmission, vì frame chứa packet đó đã bị trễ. Do đó, packet loss xuất hiện dưới dạng hình ảnh bị vỡ khối hoặc bị đứng hình thay vì một khoảng tạm dừng. Đây cũng là lý do remote desktop không phải công cụ phù hợp. VNC (virtual network computing) và RDP (remote desktop protocol) thông thường gửi các vùng màn hình đã thay đổi qua TCP. Một màn hình thay đổi hoàn toàn 60 lần mỗi giây sẽ biến việc này thành một stream retransmission.

Một máy cloud gaming thực tế cần gì

Có thể xây dựng hệ thống này đúng cách. Nhưng cần đủ 4 yếu tố cùng lúc.

  • Một GPU instance dùng card datacenter, vì nhà cung cấp chỉ được cấp phép cho thuê loại này.
  • Hardware video encoder như NVENC, encoder tích hợp của NVIDIA, vì encode bằng software tiêu tốn CPU và làm tăng độ trễ.
  • Một cặp streaming được thiết kế cho game thay vì desktop. Sunshine trên server kết hợp với Moonlight trên client là lựa chọn mã nguồn mở phổ biến.
  • Một server trong cùng khu vực đô thị với bạn, vì round trip phụ thuộc vào khoảng cách, còn khoảng cách bị giới hạn bởi tốc độ ánh sáng trong sợi quang.

Tiếp theo, hãy tính chi phí. GPU instance được tính theo giờ, vì vậy hãy nhân giá theo giờ với 730 để tính chi phí của một tháng chạy liên tục. Tính đến tháng 8 năm 2026, chi phí này lên đến hàng trăm USD mỗi tháng. Mức này đủ để mua đứt một console trong vòng 1 năm, trong khi bạn vẫn phải trả thêm phí bản quyền game. GPU VPS thực sự cung cấp gìphép tính điểm hòa vốn khi thuê GPU theo giờ phân tích các con số này.

Nếu mục đích duy nhất của bạn là chơi game, các dịch vụ cloud gaming thương mại đã chạy đúng stack này từ những datacenter gần bạn và đã giải quyết vấn đề bản quyền. Một VPS duy nhất tại một thành phố không thể sánh với một network được xây dựng riêng cho mục đích đó.

Anti-cheat và giấy phép chặn phần còn lại

Ngay cả một máy có GPU hoàn hảo vẫn phải tuân theo các quy định. Vanguard của Riot yêu cầu TPM 2.0 (trusted platform module) và Secure Boot trên Windows 11, đồng thời từ chối chạy trong máy ảo. Vì vậy, Valorant sẽ không khởi động trên phần cứng cloud thuê. Easy Anti-Cheat và BattlEye cũng có thể phát hiện hypervisor. Một số game dùng các hệ thống này sẽ chặn máy ảo hoặc ban tài khoản vì lý do đó. Đây là chủ ý của nhà phát triển: những người phát triển cheat dùng máy ảo để che giấu công cụ của họ, nên từ chối chạy trong máy ảo là một biện pháp bảo vệ rẻ cho game.

Giấy phép còn đặt thêm một lớp hạn chế. Giấy phép NVIDIA dành cho driver GeForce hạn chế việc sử dụng trong datacenter. Vì vậy, các nhà cung cấp cho thuê GPU dành cho datacenter thay vì GPU desktop. Windows cần giấy phép cho phép chạy trên phần cứng bạn không sở hữu. Điều khoản của storefront quy định một bản game được phép chạy ở đâu. Từng hạn chế riêng lẻ vẫn có thể xử lý được. Nhưng khi kết hợp lại, chúng có nghĩa là bộ máy cloud gaming tự lắp sẽ không chạy được hầu hết các game competitive mà người dùng muốn chơi trên đó.

VPS chỉ có CPU chạy rất tốt những gì

Bây giờ xét đến loại ứng dụng còn lại. Dedicated game server không bao giờ render một frame. Nó mô phỏng thế giới game, áp dụng input của từng người chơi và gửi các bản cập nhật trạng thái qua network. Máy của người chơi tự thực hiện việc render. Không cần render thì không cần GPU, nên VPS không phù hợp để chơi game lại có cấu hình phù hợp để host game server.

  • Dedicated server cho Minecraft, Valheim, Terraria, Factorio, Rust, Project Zomboid và hầu hết game khác có bản headless server.
  • Voice chat. Mumble server đủ nhẹ để chạy cùng game server trên cùng một gói VPS nhỏ.
  • Tải mod và map qua HTTP thuần, cùng web panel để người chơi xem ai đang online.
  • Matchmaking, stats, leaderboard, Discord bot và database phía sau các thành phần đó.
  • Backup world theo lịch và đưa bản backup ra khỏi VPS, để save bị hỏng chỉ làm mất tối đa một giờ dữ liệu thay vì mất toàn bộ map.

RAM thường là giới hạn chính. Với nhiều game, tốc độ của một core quan trọng hơn số lượng core, vì main simulation tick của Minecraft hoặc Factorio server chạy trên một thread. Gói có tám core chậm sẽ kém hơn gói có bốn core nhanh. Băng thông phụ thuộc vào số người chơi nhiều hơn CPU, và nhà cung cấp tính giới hạn transfer, nên hãy kiểm tra dung lượng được cấp trước khi chọn gói.

Mở đúng các port và nhớ rằng phần lớn traffic trong game dùng UDP (user datagram protocol) thay vì TCP.

sudo ufw allow 25565/tcp
sudo ufw allow 27015/udp
sudo ufw status

ufw status phải liệt kê từng rule, kèm ALLOW bên cạnh. Nếu port đã mở ở đây mà server vẫn không thể truy cập, hãy kiểm tra control panel của nhà cung cấp xem có network firewall riêng hay không. Rule bên trong máy không có tác dụng đối với filter nằm phía trước máy.

Hãy để server tự chạy mà không cần bạn can thiệp. Một systemd unit hoặc Docker restart policy sẽ khởi động lại server sau reboot. Một compose stack tự khởi động khi boot là mô hình thường dùng. Kết hợp với backup định kỳ ra khỏi VPS để file world vẫn tồn tại nếu disk gặp sự cố.

Cách kiểm tra VPS trước khi chạy dịch vụ trên đó

Độ trễ đến người chơi quyết định server có phản hồi tốt hay không, và bạn có thể đo được chỉ số này. Hãy yêu cầu nhà cung cấp một địa chỉ test trong khu vực bạn muốn, rồi chạy các lệnh sau từ mạng của người chơi, không phải từ server.

ping -c 20 203.0.113.10
mtr -r -c 100 203.0.113.10

ping kết thúc bằng một dòng tóm tắt như rtt min/avg/max/mdev = 18.4/19.1/24.6/1.2 ms. Con số cuối cùng là jitter. Mức trung bình ổn định với jitter thấp sẽ cho cảm giác tốt hơn khi chơi game so với mức trung bình thấp hơn nhưng dao động mạnh. mtr in mức packet loss theo từng hop. Bạn chỉ nên đọc mức loss ở dòng cuối cùng, vì các router trung gian ưu tiên thấp nhất cho phản hồi ICMP (internet control message protocol) của chính chúng và thường báo loss mà network traffic thực tế không gặp phải.

Tiếp theo, hãy kiểm tra xem host có bị oversubscribe hay không.

vmstat 1 5

Cột st là steal time: tỷ lệ thời gian virtual CPU của bạn đã sẵn sàng chạy nhưng physical host chuyển các CPU cycle đó cho guest khác. Giá trị khác 0 ổn định ở cột này có nghĩa là tick rate của bạn sẽ dao động khi có tải, bất kể trang thông tin của gói dịch vụ ghi gì. Steal time và noisy neighbour giải thích cách đọc chỉ số này, còn tự benchmark VPS giải thích các chỉ số còn lại cần thu thập trước khi bạn cam kết thuê trong một năm.

Câu trả lời thẳng cho cả hai câu hỏi

Nếu muốn chơi, hãy chạy game trên phần cứng bạn có thể trực tiếp sử dụng, hoặc dùng một dịch vụ được xây dựng riêng cho việc stream game. VPS đa dụng không thể render game, còn GPU instance có chi phí cao hơn phần cứng nhưng vẫn có thể không tương thích với hệ thống anti-cheat. Nếu muốn host, hãy thuê VPS. VPS thực sự phù hợp với nhu cầu này và có giá thấp; cùng một máy còn có thể chạy các dịch vụ khác giữa những buổi chơi game.

FAQ

Tôi có thể cài Steam trên VPS và chơi game của mình không?

Bạn có thể cài Steam client trên VPS Linux và client sẽ tải game xuống. Phần chơi game mới là phần bị lỗi. Gói tiêu chuẩn không có GPU, nên các game 3D sẽ chuyển sang render bằng CPU với tốc độ vài frame mỗi giây. Nhiều game hiện đại cũng từ chối khởi động nếu không có renderer được hỗ trợ. Việc stream hình ảnh đã render về màn hình còn cộng thêm độ trễ encode và network. Steam Remote Play được thiết kế để stream từ một máy chơi game thật mà bạn sở hữu, và yêu cầu máy đó có card đồ họa.

VPS có GPU có cho phép tôi chơi mọi game mình sở hữu không?

Nó giải quyết vấn đề render, nhưng không giải quyết các vấn đề khác. Bạn vẫn cần hardware encoder, một client có latency thấp như Moonlight, và một server đủ gần để round trip luôn ngắn. Anti-cheat mới là rào cản: Vanguard của Riot từ chối chạy trong virtual machine, còn Easy Anti-Cheat và BattlEye có thể phát hiện hypervisor, nên các game bắn súng cạnh tranh không phù hợp. Game single-player và game có nhịp độ chậm hơn là lựa chọn thực tế, nhưng chi phí hằng tháng cao hơn giá phần cứng local.

Tôi cần VPS cấu hình bao nhiêu để chạy server Minecraft cho 10 người bạn?

Một server Java vanilla cho 10 người chơi sẽ chạy ổn với 2 vCPU và 4 GB RAM. Cấp cho JVM (Java virtual machine) khoảng 3 GB bằng -Xmx3G và để phần còn lại cho hệ điều hành, vì JVM sẽ dùng mọi byte bạn cho phép, trong khi kernel vẫn cần memory cho page cache. Modpack lớn sẽ thay đổi yêu cầu: hãy dự trù riêng 6 GB đến 8 GB heap, và chọn gói có single core nhanh hơn, vì world tick chính chạy trên một thread.

Tại sao remote desktop hoạt động ổn nhưng game thì không?

Desktop chỉ thay đổi một phần nhỏ của màn hình mỗi lần, và không ai nhận thấy nếu việc vẽ lại một cửa sổ đến trễ 100 ms. Game thay đổi từng pixel hàng chục lần mỗi giây và tạo một feedback loop thông qua tay bạn. VNC và RDP thông thường gửi các vùng màn hình đã thay đổi qua TCP, nên màn hình chuyển động liên tục sẽ gây retransmission và stall. Ngay cả video stream đúng chuẩn cũng không loại bỏ input delay, và đó là độ trễ bạn cảm nhận khi cố ngắm bắn.

#gaming#vps#gpu#game-servers#cloud-gaming