Rời xa bàn làm việc: Xây dựng máy chủ Cloud Gaming độ trễ thấp với Sunshine & Moonlight

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

Vấn đề: Chơi game cấu hình cao không có nghĩa là phải “chôn chân” một chỗ

Tôi đã build một dàn máy gaming cực mạnh, nhưng sau chín tiếng đồng hồ dán mắt vào màn hình để làm việc, điều cuối cùng tôi muốn làm là tiếp tục ngồi trên chính chiếc ghế văn phòng đó. Tôi muốn chơi kho game của mình trên TV phòng khách hoặc máy tính bảng khi đang nằm thư giãn trên sofa. Các dịch vụ thương mại như GeForce Now hay Xbox Cloud Gaming rất ấn tượng, nhưng chúng đi kèm với mức phí 20 USD hàng tháng và danh sách trò chơi hạn chế. Thêm vào đó, bạn luôn phải phụ thuộc vào khoảng cách tới trung tâm dữ liệu của họ.

Các công cụ remote desktop tiêu chuẩn như RDP hay VNC đều vô dụng ở đây. RDP được thiết kế cho bảng tính và văn bản, chứ không phải cho những khung hình tốc độ cao của một game hành động nhập vai. Nếu bạn cố gắng chạy game qua một kết nối điều khiển từ xa cơ bản, bạn sẽ chỉ nhận được một “bản trình chiếu” 3 FPS và độ trễ đầu vào khiến trải nghiệm không thể chơi nổi. Bạn cần một giao thức được xây dựng để tối ưu tốc độ.

Tại sao hầu hết các truy cập từ xa thất bại khi chơi game

Stream game không chỉ là vấn đề về băng thông. Kẻ thù thực sự là độ trễ “từ chuyển động đến photon” (motion-to-photon). Để có cảm giác phản hồi tức thì, PC host phải chụp lại khung hình, mã hóa nó thành một luồng video (H.264 hoặc HEVC) và gửi qua mạng trong vòng chưa đầy 15 mili giây. Nếu quy trình đó mất 50ms, bạn sẽ cảm thấy như thể mình đang điều khiển nhân vật lội trong bùn vậy.

NVIDIA ban đầu đã tiên phong trong lĩnh vực này với GameStream, nhưng gần đây họ đã khai tử dịch vụ này để thúc đẩy người dùng sử dụng các nền tảng độc quyền của họ. May mắn thay, cộng đồng mã nguồn mở đã vào cuộc. Bằng cách tách biệt phần cứng streaming khỏi phần mềm, giờ đây chúng ta có thể đạt được hiệu suất tốt hơn cả bản gốc trên hầu hết mọi phần cứng. Làm chủ thiết lập này là một “thử thách nhập môn” cho bất kỳ người đam mê HomeLab nào muốn tối đa hóa hiệu suất GPU của mình.

So sánh các lựa chọn: Sunshine và phần còn lại

Việc chọn đúng bộ công cụ (stack) là rất quan trọng. Dưới đây là cái nhìn tổng quan về bối cảnh hiện tại:

  • Steam Link: Thân thiện với người dùng nhưng thường mang lại cảm giác hình ảnh bị “mờ” do nén quá mạnh. Nó cũng gặp khó khăn với các tựa game không thuộc Steam và các cửa sổ thông báo admin khó chịu của Windows.
  • Parsec: Hiệu suất tuyệt vời, nhưng nó là mã nguồn đóng. Nhiều tính năng tốt nhất, như độ sâu màu 4:4:4, bị khóa sau gói thuê bao 8 USD/tháng.
  • Sunshine & Moonlight: Đây là tiêu chuẩn vàng. Sunshine là máy chủ (server) và Moonlight là ứng dụng khách (client). Nó hoàn toàn miễn phí, mã nguồn mở và hỗ trợ GPU NVIDIA, AMD, Intel với mức tiêu tốn tài nguyên thấp nhất mà tôi từng thử nghiệm.

Ưu và nhược điểm của việc tự host (Self-Hosted)

Ưu điểm

  • Quyền sở hữu hoàn toàn: Không phí hàng tháng và không giới hạn thư viện game. Nếu nó chạy được trên PC của bạn, nó sẽ stream được đến thiết bị của bạn.
  • Độ sắc nét kinh ngạc: Bạn có thể đẩy bitrate lên tới 150 Mbps, mang lại hình ảnh gần như không thể phân biệt được với kết nối HDMI trực tiếp.
  • Quyền riêng tư: Quá trình chơi game của bạn nằm gói gọn trong mạng nội bộ. Không có công ty bên ngoài nào cần biết bạn đã dành bao nhiêu giờ cho Stardew Valley.

Nhược điểm

  • Yêu cầu mạng: Bạn cần một bộ định tuyến Wi-Fi 6 5GHz cực kỳ ổn định hoặc lý tưởng nhất là kết nối Ethernet. Kết nối 2.4GHz sẽ dẫn đến tình trạng giật lag liên tục.
  • Cấu hình: Đây không phải là kiểu cài đặt “một cú nhấp chuột”. Bạn sẽ cần dành khoảng 20 phút trong giao diện web để tinh chỉnh mọi thứ cho hoàn hảo.

Phần cứng khuyến nghị

Để có trải nghiệm 1440p hoặc 4K mượt mà, hãy hướng tới các thông số sau:

  • PC Host: NVIDIA GTX 10-series hoặc mới hơn (để có bộ mã hóa NVENC) hoặc card AMD Radeon hiện đại. Hãy cắm dây mạng LAN Gigabit từ PC này tới router.
  • Thiết bị Client: Hầu hết mọi thứ đều dùng được. Một chiếc Chromecast với Google TV giá 50 USD, một chiếc laptop cũ, hoặc một chiếc smartphone hiện đại đều có thể xử lý việc giải mã.
  • Mạng: Một router có khả năng hỗ trợ độ rộng kênh ít nhất 80MHz trên băng tần 5GHz.

Hướng dẫn cài đặt: Triển khai Sunshine và Moonlight

Bước 1: Cài đặt Sunshine trên PC Gaming của bạn

Sunshine đóng vai trò là trạm phát sóng cá nhân của bạn. Mặc dù nó hỗ trợ Linux và macOS, hầu hết người dùng sẽ chạy nó trên Windows. Tải bản cài đặt mới nhất từ Sunshine GitHub.

Đối với những người chạy HomeLab trên nền tảng Linux, bạn có thể sử dụng terminal:

# Ví dụ cho người dùng Debian/Ubuntu
wget https://github.com/LizardByte/Sunshine/releases/latest/download/sunshine-debian-bookworm-amd64.deb
sudo apt install ./sunshine-debian-bookworm-amd64.deb
systemctl --user enable --now sunshine

Bước 2: Cấu hình giao diện Web UI

Sunshine được quản lý thông qua trình duyệt của bạn. Hãy truy cập địa chỉ:

https://localhost:47990

Bỏ qua cảnh báo “Your connection is not private”; đó chỉ là chứng chỉ tự ký cho máy cục bộ của bạn. Tạo thông tin đăng nhập và đi tới tab Configuration. Hầu hết các mặc định đều ổn, nhưng hãy đảm bảo Advertised Name là một cái tên dễ nhận biết, ví dụ như “Gaming-Rig-01”.

Bước 3: Kết nối thiết bị Client

Cài đặt ứng dụng Moonlight trên điện thoại, TV hoặc Steam Deck của bạn. Sau khi mở ứng dụng, host Sunshine của bạn sẽ tự động xuất hiện. Nhấp vào biểu tượng, và một mã PIN 4 chữ số sẽ hiện ra. Nhập mã PIN này vào tab PIN của giao diện web Sunshine trên PC để ghép nối các thiết bị một cách an toàn.

Bước 4: Tối ưu hóa để có cảm giác như chơi trực tiếp

Đừng hài lòng với các cài đặt mặc định. Mở cài đặt của Moonlight trên thiết bị client và thực hiện các tinh chỉnh sau:

  • Bitrate: Đặt mức 30-50 Mbps cho 1080p. Nếu bạn có router Wi-Fi 6 và đang stream 4K, hãy đẩy lên 80 Mbps.
  • Tốc độ khung hình (Frame Rate): Khớp với màn hình client của bạn. Nếu bạn dùng iPad Pro, hãy đặt 120 FPS để có chuyển động mượt mà như nhung.
  • Điều tiết khung hình (Frame Pacing): Nếu bạn nhận thấy các hiện tượng khựng nhẹ (micro-stutter), hãy bật chế độ “Balanced” trong cài đặt Moonlight.

Chơi game khi không ở nhà

Stream qua internet là nơi mọi thứ trở nên phức tạp. Đừng mở port trên router của bạn; đó là một rủi ro bảo mật lớn. Thay vào đó, hãy cài đặt Tailscale trên cả PC gaming và thiết bị di động của bạn. Tailscale tạo ra một đường ống bảo mật, được mã hóa. Moonlight sẽ coi địa chỉ IP của Tailscale như một kết nối nội bộ, cho phép bạn chơi Cyberpunk 2077 từ Wi-Fi khách sạn cách xa hàng trăm cây số.

Lời kết

Tự vận hành máy chủ gaming là cách để bạn khai thác tối đa tiềm năng phần cứng của mình. Bằng cách sử dụng Sunshine làm bộ mã hóa tốc độ cao, bạn biến một chiếc PC cố định thành một tài nguyên linh hoạt có sẵn ở bất cứ đâu trong nhà. Nó xóa nhòa khoảng cách giữa sức mạnh phần cứng thuần túy và sự tiện lợi thực tế. Bạn không còn phải lựa chọn giữa đồ họa đẹp nhất và chỗ ngồi thoải mái nhất trong nhà nữa.

Share: