VPS 可以玩遊戲嗎?標準 VPS 為何不行
標準 VPS 沒有遊戲 GPU,軟體算繪現代 3D 遊戲會降至個位數 FPS;但用於架設 Minecraft 等遊戲伺服器通常很合適。
你可以在 VPS 上玩遊戲嗎?簡短答案
「你可以在 VPS 上玩遊戲嗎?」這個問題有兩種情況,答案也完全不同。如果你想在租用的伺服器上親自玩遊戲,並在自己的螢幕上觀看畫面,標準 VPS(虛擬私人伺服器)無法做到這件事,任何設定變更都無法解決。如果你想架設遊戲伺服器,讓其他玩家連線,VPS 是以這個價格能租到的最佳選項之一,而且小型方案通常就已足夠。
如果你需要的是架設遊戲伺服器,請直接前往 選擇遊戲伺服器用 VPS 或 在 VPS 上執行 Minecraft 伺服器。以下各節會說明為什麼無法在 VPS 上玩遊戲,因為這正是人們最少能獲得明確答案的部分。
為什麼標準 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 的延遲。這些是硬體編碼器將串流傳送至同一區域用戶端時,公開資料常見的數值,不是單一機器的測量結果,因此應將其視為問題的整體形狀。
這段延遲會出現在回饋迴路中。你移動滑鼠,看到結果,再進行修正。額外延遲會讓每次修正都晚一步到達,因此你會超過目標,接著再次修正。回合制遊戲、策略遊戲、經營模擬遊戲與卡牌遊戲通常能輕鬆承受這種延遲。射擊遊戲、格鬥遊戲、節奏遊戲與競速遊戲則無法承受。
抖動與封包遺失造成的影響不同。視訊串流無法等待重傳,因為遺失封包所屬的畫面已經太晚,封包遺失會表現為區塊狀失真或畫面凍結,而不是暫停。這也是遠端桌面不適合作為此用途的原因。VNC(virtual network computing)與一般的 RDP(remote desktop protocol)會透過 TCP 傳送變更的矩形區域;如果畫面每秒完全變更 60 次,就會形成大量重傳的資料流。
真正的雲端遊戲主機需要什麼
要正確建置這套架構是可行的,但必須同時具備 4 項條件。
- 配備資料中心 GPU 的 GPU instance,因為供應商只有取得這類 GPU 的出租授權。
- 硬體視訊編碼器,例如 NVIDIA 內建的 NVENC,因為使用軟體編碼會占用 CPU 資源並增加延遲。
- 專為遊戲而非桌面環境設計的串流軟體組合。伺服器使用 Sunshine,客戶端使用 Moonlight,這是常見的開放原始碼選擇。
- 位於你所在都會區的伺服器,因為往返延遲取決於距離,而距離受光纖中的光速限制。
接著計算成本。GPU instance 按小時計費,因此將每小時費率乘以 730,即可算出持續運作 1 個月的費用。截至 August 2026,這會是每月 3 位數的美元費用。這筆錢在 1 年內足以直接買下 1 台遊戲主機,而且還不包含遊戲授權費。GPU VPS 實際提供的內容與租用 GPU 時數的損益平衡計算會詳細說明相關數字。
如果你只是想玩遊戲,商用雲端遊戲服務已經在鄰近你的資料中心執行完全相同的架構,且授權問題也已處理妥當。位於單一城市的 1 台 VPS,無法匹敵專為此用途建置的網路。
反作弊與授權限制所剩無幾
即使 GPU 主機配置完善,也會受到規範限制。Riot 的 Vanguard 要求 Windows 11 啟用 TPM 2.0(trusted platform module)與 Secure Boot,且拒絕在虛擬機器內執行。因此,Valorant 不會在租用的雲端硬體上啟動。Easy Anti-Cheat 和 BattlEye 也能偵測 hypervisor,部分使用這些元件的遊戲會封鎖虛擬機器,或因此封鎖玩家帳戶。這是刻意設計的機制:作弊工具開發者會利用虛擬機器隱藏工具,因此拒絕在虛擬機器中執行,是成本低廉的遊戲防護措施。
授權問題則是另一層限制。NVIDIA 對 GeForce 驅動程式的授權限制資料中心用途,因此供應商出租的是資料中心卡,而不是桌上型顯示卡。Windows 需要允許在非自有硬體上執行的授權。商店平台的條款會規範遊戲副本可在哪裡執行。單獨來看,這些限制都還能處理。合併來看,手工組裝的雲端遊戲主機無法執行多數玩家真正想玩的競技遊戲。
僅配備 CPU 的 VPS 很適合執行的工作
接著看另一類用途。專用遊戲伺服器不會繪製畫面。它會模擬遊戲世界、套用每位玩家的輸入,再透過網路傳回狀態更新。畫面由玩家自己的電腦繪製。不需要渲染,就不需要 GPU,因此不適合用來遊玩的主機,反而適合用來代管伺服器。
- Minecraft、Valheim、Terraria、Factorio、Rust、Project Zomboid,以及大多數提供 headless server build 的遊戲專用伺服器。
- 語音聊天。Mumble server 的負載很低,可以和遊戲伺服器共用同一個小型方案。
- 透過 plain HTTP 提供 mod 與地圖下載,以及讓玩家查看目前在線人數的 web panel。
- 配對、統計資料、排行榜、Discord bots,以及背後使用的資料庫。
- 定期將世界備份移出主機,讓損毀的存檔只會損失 1 小時,而不是整張地圖。
RAM 通常是主要限制。對許多這類遊戲而言,單核心速度比核心數量更重要,因為 Minecraft 或 Factorio server 的主要模擬 tick 會在單一執行緒上執行。配備 8 個慢速核心的方案,效能可能不如配備 4 個高速核心的方案。頻寬用量通常比 CPU 更受玩家人數影響,而且供應商會計算傳輸量,因此選擇方案前請先確認流量額度。
開放正確的埠,並記住遊戲內的大多數流量使用 UDP(user datagram protocol),而不是 TCP。
sudo ufw allow 25565/tcp
sudo ufw allow 27015/udp
sudo ufw statusufw status 應在旁邊列出每條規則及其 ALLOW。如果此處的埠已開放,但伺服器仍無法連線,請檢查供應商的控制面板是否另有 network firewall,因為主機內部的規則不會影響前方的篩選器。
讓伺服器在無人管理時持續執行。systemd unit 或 Docker restart policy 會在重新開機後重新啟動伺服器,而 開機時自動啟動的 compose stack 是常見做法。再搭配 定期執行的異機備份,即可避免世界檔案因磁碟故障而遺失。
託管前如何檢查 VPS
玩家的網路延遲會決定伺服器的操作感受,而且可以量測。請供應商提供目標區域的測試位址,然後從玩家使用的網路執行下列指令,不要從伺服器執行。
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。平均值穩定且 jitter 低,在遊戲中的感受會比平均值較低但波動明顯更好。mtr會列出每一跳的封包遺失率,但只應查看最後一行的遺失率,因為中間的路由器會將自身的 ICMP(internet control message protocol)回覆設為最低優先級,常會回報實際網路流量並未遭遇的遺失。
接著檢查主機是否超額配置。
vmstat 1 5st 欄位是 steal time,表示虛擬 CPU 已準備執行,但實體主機將這些 CPU 週期交給其他 guest 的時間比例。這個欄位若持續出現非零值,表示無論方案頁面如何宣稱,伺服器在負載下的 tick rate 都會波動。Steal time 與 noisy neighbours 說明如何解讀這項數值,自行對 VPS 進行效能基準測試 則涵蓋在承諾使用一年之前應收集的其他數值。
兩個問題的直接答案
如果你想玩遊戲,請使用自己能接觸到的硬體,或使用專為遊戲串流打造的服務。一般用途的 VPS 無法進行遊戲畫面渲染,而 GPU 執行個體的成本高於自有硬體,卻仍可能無法通過反作弊機制。如果你想架設遊戲伺服器,請租用 VPS。VPS 以低廉的價格提供很合適的方案,而且同一台伺服器在非遊戲時段也能執行其他服務。
FAQ
我可以在 VPS 上安裝 Steam 並遊玩遊戲嗎?
您可以在 Linux VPS 上安裝 Steam client,且它會下載遊戲。但遊玩遊戲才是會失敗的部分。標準方案沒有 GPU,因此 3D 遊戲會退回使用 CPU rendering,每秒只能顯示數個畫格;許多現代遊戲也會因缺少支援的 renderer 而拒絕啟動。接著,將能夠 rendering 的畫面串流回您的螢幕,還會額外增加 encoding 與 network delay。Steam Remote Play 的設計用途,是從您擁有的實體遊戲電腦進行串流,並預期該電腦配備 graphics card。
GPU VPS 能讓我遊玩自己擁有的任何遊戲嗎?
它只能解決 rendering 問題,其他問題仍然存在。您仍需要 hardware encoder、低延遲的 client,例如 Moonlight,以及距離足夠近、能維持較短 round trip 的伺服器。Anti-cheat 才是主要限制:Riot 的 Vanguard 拒絕在 virtual machine 中執行,而 Easy Anti-Cheat 與 BattlEye 可能偵測到 hypervisor,因此無法遊玩競技射擊遊戲。單人遊戲與節奏較慢的遊戲才是實際用途,但每月成本可能高於購買本機硬體的價格。
10 位朋友遊玩的 Minecraft server 需要多大的 VPS?
10 位玩家使用 vanilla Java server 時,2 vCPU 與 4 GB RAM 就足夠。使用 -Xmx3G 將約 3 GB 配給 JVM (Java virtual machine),其餘記憶體留給作業系統,因為 JVM 會使用您允許的所有記憶體,而 kernel 仍需要記憶體作為 page cache。大型 modpack 會改變需求:單是 heap 就應規劃 6 GB 到 8 GB,並選擇 single core 較快的方案,因為主要的 world tick 會在單一 thread 上執行。
為什麼 remote desktop 感覺正常,但遊戲不行?
桌面環境一次只會變更螢幕的一小部分,即使視窗延遲 100 ms 才重繪,通常也不會被察覺。遊戲每秒會數十次變更每個 pixel,並透過您的操作形成 feedback loop。VNC 與 plain RDP 會透過 TCP 傳送變更的矩形區域,因此畫面持續移動時會造成 retransmission 與停頓。即使使用適當的 video stream,input delay 仍然存在;您嘗試瞄準時感受到的,就是這項延遲。