如何在光子统一的服务器端编码

时间:2016-04-25 08:20:34

标签: photon unity3d

我们需要创建一个拥有10 + 1个用户的游戏。 在这款多人在线游戏中,10名玩家将成为真正的用户。 1位玩家是经销商,它将成为应用软件 - 他将像经销商一样工作。 这个经销商不会是真正的玩家。这个经销商将投掷DICE。

我们怎么能在光子PUN中做到这一点?我们正在使用光子的免费版本 现在。

1 个答案:

答案 0 :(得分:1)

根据您使用的Photon客户端SDK,您应该回调主客户端何时更改(应为“OnMasterClientSwitched”)。 当服务器检测到主客户端断开连接时会触发此操作。 主客户端应该是具有最低操作员编号的参与者,但是有一种方法可以强制主客户端(从客户端更改它)。 如果您将数据保存在房间属性中或发送事件并可能缓存它们,那么只要房间仍然“活着”,就不存在数据丢失的风险。当相应的演员离开房间时,应该清理另一边的演员属性。

虽然有一个棘手的情况:当主客户端没有响应并且没有明确断开连接时,可能会有几秒钟(默认超时10秒),然后服务器检测到该actor超时并切换到新的。如果这种情况与您有关,例如,如果您定位移动设备,我们可以讨论可能的解决方案。