Photon PUN 替代方案:回合制与休闲游戏
PUN 2 已进入维护模式。哪些游戏需要 Fusion 或游戏服务器,哪些用带房间与匹配功能的托管 WebSocket 服务就够,以及各自的费用。
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 价格页与 PUN 2 介绍,查询日期 2026-10-31。Photon 每个 CCU 每月含 3 GB 流量。Hibira 按日计算你发送的消息,一个 client event 不论多少玩家收到都只算一条消息;免费套餐中,送达玩家的份数计入每月 2 GB 流量;从 Hobby 开始,广播送达不计次数。所有套餐的每日消息数、同时连接数和每月直连流量仍有上限。请见价格页。
迁移大概是什么样子
| 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 迁移指南。可以从 Unity 指南开始,浏览器玩家也能加入的房间请见游戏大厅。
常见问题
PUN 2 要停止服务了吗?
Photon 的文档写道,PUN 2 已进入维护(LTS)模式:只修复错误、不加新功能,并建议新项目考虑 Fusion 或 Quantum。现有的 PUN 2 游戏仍可继续运行。
回合制游戏可以用 WebSocket 服务取代 Photon 吗?
可以,卡牌、桌游、问答、派对等回合制或休闲游戏都可以。房间、匹配、presence 和房内事件涵盖了 PUN 为这类游戏做的事。需要 tick 同步的实时动作游戏,仍然需要 Fusion、Quantum 或游戏服务器。
Unity WebGL 版本可以用吗?
可以。Hibira 的 Unity 包在编辑器、桌面与移动设备,以及 WebGL 版本中都通过 WebSocket 连接,同一个房间也能从浏览器或 Godot 加入。
产品名称为其所有者的商标。