# Photon PUN 替代方案：回合制與休閒遊戲

> PUN 2 已進入維護模式。哪些遊戲需要 Fusion 或遊戲伺服器，哪些用有房間與配對功能的託管 WebSocket 服務就夠，以及各自的費用。

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

Photon 的文件寫道，PUN 2 已進入維護（LTS）模式，只修錯誤、不再加新功能，並建議新專案考慮 Fusion 或 Quantum。這兩者適合即時動作遊戲。但很多 PUN 遊戲不是這類：它們是卡牌、桌遊、問答或派對遊戲，玩家輪流行動，每秒幾次更新就夠了。這類遊戲可以改用有房間和配對功能的託管 WebSocket 服務取代 PUN，費用更低，也原生支援 WebGL。

## 你的遊戲需要遊戲伺服器嗎？

| 回合制與休閒遊戲：WebSocket 服務就夠 | 即時動作遊戲：請保留遊戲伺服器 |
| --- | --- |
| 卡牌、桌遊、益智與文字遊戲 | 射擊、格鬥與競速遊戲 |
| 問答、猜謎、派對與畫圖遊戲 | 玩家之間必須同步的物理運算 |
| 回合制策略與自走棋 | 以 tick 為單位的模擬、lockstep 或 rollback 網路同步 |
| 放在獨立遊戲伺服器前面的大廳、配對與聊天 | 單一玩家每秒超過 10 次更新 |
| WebGL 遊戲，以及瀏覽器和 Unity 玩家同房 | 超過 100 位玩家的房間 |

WebSocket 服務跑在 TCP 上，沒有 tick，只在玩家之間轉送事件，不執行遊戲邏輯。如果你的遊戲屬於右欄，Photon Fusion、Quantum 或專用伺服器會更適合。

## PUN 2 遊戲可以搬去哪裡

| 選項 | 誰來營運 | 最適合 |
| --- | --- | --- |
| Photon Fusion 或 Quantum | Photon | 即時動作、tick 同步與預測；網路程式碼需要重寫 |
| 自己架設的開源遊戲伺服器，例如 Nakama 或 Colyseus | 你 | 需要伺服器權威邏輯，且你能自己營運和擴充伺服器 |
| Hibira 搭配 Unity 套件 | Hibira | 回合制與休閒房間、配對佇列、WebGL，以及和瀏覽器、Godot 玩家跨平台同玩 |

## 同樣玩家數的費用

| 同時在線玩家 | Photon Public Cloud | Hibira |
| --- | --- | --- |
| 20 到 100 | 20 CCU 免費，僅限開發；100 CCU 一次付 95 美元，效期 12 個月 | 免費方案：100 條連線，可用於正式環境 |
| 500 | 每月 95 美元 | Hobby，每月 19 美元 |
| 1,000 | 每月 185 美元 | Starter，每月 39 美元 |
| 2,000 到 3,000 | 2,000 CCU 每月 370 美元 | Pro，3,000 條連線每月 89 美元 |

Photon 的數字取自 [PUN 價格頁](https://www.photonengine.com/pun/pricing)與 [PUN 2 介紹](https://doc.photonengine.com/pun/current/getting-started/pun-intro)，查詢日期 2026-10-31。Photon 每個 CCU 每月含 3 GB 流量。Hibira 按日計算你發送的訊息，一個 client event 不論多少玩家收到都只算一則訊息；免費方案中，送達玩家的份數計入每月 2 GB 流量；從 Hobby 開始，廣播送達不計次數。所有方案的每日訊息數、同時連線數與每月直連流量仍有上限。請見[價格頁](https://hibira.io/zh-tw/pricing)。

## 搬家大概是什麼樣子

| PUN 2 | Hibira Unity 套件 |
| --- | --- |
| `JoinRandomOrCreateRoom` | `HibiraQueue.Join`，指定人數、積分範圍與條件 |
| `CreateRoom`、`JoinOrCreateRoom` | 在 `presence-room-` 頻道上以 `HibiraRoom.Join` 加入，並設定容量 |
| `OnPlayerEnteredRoom`、`OnPlayerLeftRoom` | `room.MembersChanged` |
| `MasterClient` | `room.Host`：最早加入的玩家，離開時交給下一位 |
| `photonView.RPC`、`RaiseEvent` | `room.Channel.Trigger("client-…")` 與 `Bind` |
| `PhotonNetwork.Instantiate`、`PhotonView` | 沒有對應功能：自己送出生成與狀態事件 |

你的後端用應用程式的 secret 為每個房間和佇列簽名，所以玩家名稱和積分來自你的伺服器，而不是用戶端。完整對照與每個步驟的程式碼，請見 [PUN 2 搬家指南](https://github.com/hibira-io/unity/blob/main/Documentation~/moving-from-photon-pun-2.md)。可以從 [Unity 指南](https://hibira.io/zh-tw/guides/unity)開始，瀏覽器玩家也能加入的房間請見[遊戲大廳](https://hibira.io/zh-tw/use-cases/game-lobbies)。

## 常見問題

### PUN 2 要停止服務了嗎？

Photon 的文件寫道，PUN 2 已進入維護（LTS）模式：只修錯誤、不加新功能，並建議新專案考慮 Fusion 或 Quantum。現有的 PUN 2 遊戲仍可繼續運作。

### 回合制遊戲可以用 WebSocket 服務取代 Photon 嗎？

可以，卡牌、桌遊、問答、派對等回合制或休閒遊戲都可以。房間、配對、presence 和房內事件涵蓋了 PUN 為這類遊戲做的事。需要 tick 同步的即時動作遊戲，仍然需要 Fusion、Quantum 或遊戲伺服器。

### Unity WebGL 版本可以用嗎？

可以。Hibira 的 Unity 套件在編輯器、桌面與行動裝置，以及 WebGL 版本中都透過 WebSocket 連線，同一個房間也能從瀏覽器或 Godot 加入。
