# Thay thế Photon PUN cho game theo lượt và casual

> PUN 2 đang ở chế độ bảo trì. Game nào cần Fusion hoặc game server, game nào chỉ cần dịch vụ WebSocket lưu trữ sẵn có phòng và ghép trận, và chi phí của từng lựa chọn.

Source: https://hibira.io/vi/topics/photon-pun-alternative
Updated: 2026-10-31

Tài liệu của Photon cho biết PUN 2 đang ở chế độ bảo trì (LTS): vẫn sửa lỗi nhưng không có tính năng mới, và các dự án mới nên cân nhắc Fusion hoặc Quantum. Hai sản phẩm đó hợp với game hành động thời gian thực. Nhưng nhiều game PUN không thuộc loại đó: chúng là game bài, board game, đố vui hay party game, người chơi lần lượt đi và vài lần cập nhật mỗi giây là đủ. Với những game này, một dịch vụ WebSocket được lưu trữ sẵn có phòng và ghép trận có thể thay PUN với chi phí thấp hơn và hỗ trợ WebGL sẵn.

## Game của bạn có cần game server không?

| Theo lượt và casual: dịch vụ WebSocket là đủ | Hành động thời gian thực: giữ game server |
| --- | --- |
| Game bài, board game, giải đố và game chữ | Game bắn súng, đối kháng và đua xe |
| Đố vui, trivia, party game và game vẽ | Vật lý phải đồng bộ liên tục giữa người chơi |
| Chiến thuật theo lượt và auto-battler | Mô phỏng theo tick, netcode lockstep hoặc rollback |
| Sảnh chờ, ghép trận và chat đặt trước một game server riêng | Hơn 10 lần cập nhật mỗi giây từ một người chơi |
| Game WebGL và phòng có cả người chơi trình duyệt lẫn Unity | Phòng hơn 100 người chơi |

Dịch vụ WebSocket chạy trên TCP, không có tick và chuyển tiếp sự kiện giữa người chơi mà không chạy logic game. Nếu game của bạn ở cột bên phải, Photon Fusion, Quantum hoặc một server riêng sẽ phù hợp hơn.

## Game PUN 2 có thể chuyển đi đâu

| Lựa chọn | Ai vận hành | Phù hợp nhất cho |
| --- | --- | --- |
| Photon Fusion hoặc Quantum | Photon | Hành động thời gian thực, đồng bộ tick và dự đoán; phải viết lại mã mạng |
| Game server mã nguồn mở bạn tự lưu trữ, như Nakama hoặc Colyseus | Bạn | Logic do server quyết định, nếu bạn tự vận hành và mở rộng được server |
| Hibira với gói Unity | Hibira | Phòng theo lượt và casual, hàng chờ ghép trận, WebGL và chơi chéo với người chơi trình duyệt và Godot |

## Chi phí với cùng số người chơi

| Người chơi trực tuyến cùng lúc | Photon Public Cloud | Hibira |
| --- | --- | --- |
| 20 đến 100 | 20 CCU miễn phí chỉ để phát triển; 100 CCU trả một lần 95 USD, dùng 12 tháng | Gói miễn phí: 100 kết nối, dùng được cho sản phẩm thật |
| 500 | 95 USD mỗi tháng | Hobby, 19 USD mỗi tháng |
| 1.000 | 185 USD mỗi tháng | Starter, 39 USD mỗi tháng |
| 2.000 đến 3.000 | 370 USD mỗi tháng cho 2.000 CCU | Pro, 89 USD mỗi tháng cho 3.000 kết nối |

Số liệu của Photon lấy từ [trang giá PUN](https://www.photonengine.com/pun/pricing) và [giới thiệu PUN 2](https://doc.photonengine.com/pun/current/getting-started/pun-intro), kiểm tra ngày 2026-10-31. Photon bao gồm 3 GB lưu lượng mỗi CCU mỗi tháng. Hibira tính tin nhắn bạn gửi theo ngày, và một client event chỉ tính là một tin nhắn dù bao nhiêu người chơi nhận. Ở gói miễn phí, các lượt gửi tới người chơi tính vào 2 GB dữ liệu mỗi tháng; từ gói Hobby trở lên, không tính lượt gửi broadcast. Mọi gói vẫn giới hạn số tin nhắn mỗi ngày, số kết nối cao điểm và dữ liệu gửi trực tiếp mỗi tháng. Xem [trang giá](https://hibira.io/vi/pricing).

## Chuyển đổi trông như thế nào

| PUN 2 | Gói Unity của Hibira |
| --- | --- |
| `JoinRandomOrCreateRoom` | `HibiraQueue.Join` với số người, khoảng xếp hạng và điều kiện |
| `CreateRoom`, `JoinOrCreateRoom` | `HibiraRoom.Join` trên kênh `presence-room-` với sức chứa |
| `OnPlayerEnteredRoom`, `OnPlayerLeftRoom` | `room.MembersChanged` |
| `MasterClient` | `room.Host`: người chơi vào đầu tiên, chuyển cho người kế tiếp khi họ rời đi |
| `photonView.RPC`, `RaiseEvent` | `room.Channel.Trigger("client-…")` và `Bind` |
| `PhotonNetwork.Instantiate`, `PhotonView` | Không có tương đương: tự gửi sự kiện tạo đối tượng và trạng thái |

Backend của bạn ký từng phòng và hàng chờ bằng secret của ứng dụng, nên tên và điểm xếp hạng của người chơi đến từ server chứ không phải client. Bảng đối chiếu đầy đủ kèm mã cho từng bước có trong [hướng dẫn chuyển từ PUN 2](https://github.com/hibira-io/unity/blob/main/Documentation~/moving-from-photon-pun-2.md). Hãy bắt đầu với [hướng dẫn Unity](https://hibira.io/vi/guides/unity), và xem [sảnh chờ game](https://hibira.io/vi/use-cases/game-lobbies) cho phòng mà người chơi trình duyệt cũng vào được.

## Câu hỏi thường gặp

### PUN 2 có bị ngừng không?

Tài liệu của Photon cho biết PUN 2 đang ở chế độ bảo trì (LTS): vẫn sửa lỗi nhưng không có tính năng mới, và dự án mới nên cân nhắc Fusion hoặc Quantum. Các game PUN 2 hiện có vẫn chạy bình thường.

### Game theo lượt có thể dùng dịch vụ WebSocket thay Photon không?

Có, với game bài, board game, đố vui, party game và các game theo lượt hoặc casual khác. Phòng, ghép trận, presence và sự kiện trong phòng bao quát những gì PUN làm cho các game này. Game hành động thời gian thực cần đồng bộ tick vẫn cần Fusion, Quantum hoặc game server.

### Có chạy được trên bản build Unity WebGL không?

Có. Gói Unity của Hibira kết nối qua WebSocket trong Editor, trên máy tính, di động và trong bản build WebGL, và người chơi từ trình duyệt hoặc Godot cũng vào được cùng phòng.
