Battlezone Online: Game bắn tăng 3D huyền thoại BZFlag nay chơi được ngay trên trình duyệt

Công nghệ21 tháng 10, 2026·6 phút đọc

Dự án mã nguồn mở Battlezone Online (bzo) đưa tựa game bắn tăng 3D nhiều người chơi BZFlag lên trình duyệt, chạy được trên máy tính, điện thoại và cả kính thực tế ảo mà không cần cài đặt. Trò chơi tương thích với máy chủ và client BZFlag hiện có, xây dựng bằng Node.js, Three.js và hỗ trợ WebXR.

Battlezone Online: Game bắn tăng 3D huyền thoại BZFlag nay chơi được ngay trên trình duyệt

Battlezone Online: Game bắn tăng 3D huyền thoại BZFlag nay chơi được ngay trên trình duyệt

Nếu bạn từng gắn bó với BZFlag — tựa game bắn tăng 3D mã nguồn mở ra đời từ những năm 1990 — thì nay có một cách chơi mới mà không cần cài đặt bất cứ thứ gì. Battlezone Online (bzo) mang toàn bộ trải nghiệm đó lên trình duyệt, chạy được trên máy tính, điện thoại lẫn kính thực tế ảo, và vẫn kết nối chung một thế giới với những người chơi BZFlag truyền thống.

Giao diện trò chơi Battlezone Online trên trình duyệtGiao diện trò chơi Battlezone Online trên trình duyệt

Chơi ngay không cần cài đặt

Điểm hấp dẫn nhất của bzo là sự đơn giản: bạn chỉ cần mở https://bz.rikers.org là có thể vào trận. Trang /list liệt kê các máy chủ bzo công khai cùng những máy chủ BZFlag mà chúng làm trung gian — chỉ cần bấm vào một dòng là vào ngay ván đó.

Điều đáng chú ý là bzo chơi chung được với client và máy chủ BZFlag hiện có, thay vì tự tạo ra một hệ sinh thái riêng biệt. Với cộng đồng lâu năm của BZFlag, đây là cách mở rộng cộng đồng mà không chia cắt người chơi.

Về mặt kỹ thuật, kiến trúc của dự án khá tinh gọn nhưng hiện đại:

  • Máy chủ viết bằng Node.js
  • Client dùng Three.js để dựng hình 3D
  • Kết nối qua WebSockets, WebTransport và WebRTC

Cài đặt máy chủ riêng

Nếu muốn tự vận hành máy chủ cho cộng đồng của mình, bạn có hai lựa chọn: dùng Docker image từ GitHub Container Registry, hoặc tải source tarball/git checkout. Với phần lớn người dùng, Docker là con đường cài đặt và cập nhật thuận tiện hơn.

Mỗi bản phát hành được gắn thẻ theo chuẩn SemVer vX.Y.Z và cung cấp:

  • Một GitHub release kèm ghi chú sinh tự động từ CHANGELOG.md
  • Source tarball
  • Image Ubuntu 26.04 có phiên bản cụ thể tại ghcr.io/timriker/bzo
  • Các tag ubuntu26.04, latest luôn trỏ tới bản mới nhất

Tất cả image đều chứa cả hai biến thể linux/amd64 và linux/arm64, phù hợp với máy chủ truyền thống lẫn các thiết bị ARM như Raspberry Pi hay VPS ARM giá rẻ — điều khá hữu ích với người dùng tại Việt Nam khi thuê hạ tầng.

Tài liệu trong docs/installation.md hướng dẫn chi tiết cách cấu hình, chạy sau reverse proxy, đăng ký máy chủ vào danh sách công khai và cập nhật phiên bản.

Thực tế ảo trên trình duyệt với WebXR

Một trong những điểm nhấn công nghệ của bzo là chế độ VR dùng WebXR gốc, không cần ứng dụng riêng. Chế độ này yêu cầu trình duyệt và kính hỗ trợ immersive-vr, và cần được phục vụ qua HTTPS khi truy cập từ xa — client sẽ tự động chuyển sang wss:// cho kết nối WebSocket.

Nhóm phát triển cũng xử lý khá kỹ các tình huống thực tế:

  • Khi mở ứng dụng đã cài trên trình duyệt của kính, trò chơi cố gắng vào VR ngay, không qua trang chờ 2D
  • Nếu người chơi đã lưu tên, họ vào thẳng trận; nếu chưa, menu XR hiện màn hình Join với đầy đủ lựa chọn tên, đội và xe tăng
  • Việc nhập liệu trong XR dùng bàn phím hệ thống của kính — Quest Browser 26.1 trở lên đã hỗ trợ

Nút VR một chạm bên cạnh biểu tượng cài đặt chỉ hiện trên thiết bị thực sự có kính, vì Chrome trên Android báo hỗ trợ immersive-vr trên mọi điện thoại qua Cardboard.

Đầy đủ cờ và điều khiển như bản gốc

bzo mang theo toàn bộ cờ (flag) mà BZFlag có. Đáng chú ý, cờ WA (Wide Angle) vẫn xuất hiện và "dính" như mọi cờ xấu khác, nhưng thực chất không làm gì cả — nó chỉ mở rộng góc nhìn, và trong VR thì kính đã tự quyết định phép chiếu.

Về điều khiển, tài liệu docs/controls.md liệt kê đầy đủ: bàn phím và chuột, nút cảm ứng trên màn hình, gamepad và tay cầm XR. Trong game, gõ / hoặc ? để xem phím tắt.

Giấy phép: mã nguồn mở, nhưng tài nguyên cần minh bạch

Phần mã nguồn của bzo phát hành theo AGPLv3. Người dùng truy cập qua mạng có thể xem mã nguồn ngay từ ứng dụng đang chạy tại đường dẫn /source, đúng tinh thần của giấy phép này.

Tuy nhiên, nhóm phát triển thẳng thắn thừa nhận vấn đề với tài nguyên đi kèm: model, texture, âm thanh và bản đồ đến từ nhiều nguồn khác nhau — một số thuộc dự án BZFlag, một số làm riêng cho bzo, một số đến từ đóng góp cộng đồng. Không phải tệp nào hiện có cũng ghi rõ nguồn gốc và điều khoản sử dụng.

"Một tệp không tự động thừa hưởng giấy phép của kho chứa chỉ vì nó nằm trong đó, và một tài nguyên mà không ai ghi lại nguồn gốc là câu hỏi để lại cho người hỏi sau."

Nhóm kêu gọi cộng đồng — đặc biệt là tác giả của các tài nguyên — lên tiếng trong phần issue để hoàn thiện hồ sơ giấy phép. Đây là cách xử lý đáng ghi nhận trong bối cảnh nhiều dự án mã nguồn mở còn mơ hồ về vấn đề bản quyền tài nguyên.

Quy trình phát hành nghiêm ngặt

Dù là dự án cộng đồng, bzo áp dụng quy trình phát hành khá chuẩn mực: kiểm tra cú pháp và lint, boot check máy chủ, chạy test suite, xác minh tag ổn định mới hơn bản trước và trỏ đúng vào nhánh main, kiểm tra package.json khớp với tag, chạy audit và CodeQL, rồi build và smoke-test image trên cả amd64 lẫn arm64.

Một nguyên tắc đáng chú ý: bản phát hành thất bại sẽ được để nguyên, không xóa hay di chuyển tag đã công bố, cũng không "vá" lại GitHub release cho bản chưa từng build được. Nhóm sửa nguyên nhân rồi chuyển sang phiên bản kế tiếp — cách làm minh bạch và đáng học hỏi.

Góc nhìn cho người chơi Việt Nam

Với người dùng trong nước, bzo có vài điểm cộng thực tế: không cần tải và cài đặt, chơi được trên điện thoại cấu hình khiêm tốn qua trình duyệt, và có thể tự dựng máy chủ trên VPS ARM giá rẻ để chơi cùng bạn bè với độ trễ thấp. Việc hỗ trợ WebXR cũng mở ra trải nghiệm VR mà không cần đầu tư vào một hệ sinh thái ứng dụng riêng.

Dự án vẫn đang trong quá trình phát triển, nhưng với nền tảng kỹ thuật vững chắc và cách vận hành cộng đồng minh bạch, Battlezone Online là cái tên đáng theo dõi với những ai yêu thích game bắn súng nhiều người chơi mã nguồn mở.

Bạn có thể xem mã nguồn và đóng góp tại github.com/timriker/bzo, hoặc vào chơi thử ngay tại bz.rikers.org.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗