使用Photon PUN创建房间失败,请求排查‘CreateRoom failed’报错原因
问题描述
尝试使用Photon PUN创建房间时出现以下错误:
CreateRoom failed. Client is on MasterServer (must be Master Server for matchmaking) but not ready for operations (State: PeerCreated). Wait for callback: OnJoinedLobby or OnConnectedToMaster.
报错出现在这段代码中:
PhotonNetwork.CreateRoom(string.Format("[PUBLIC MATCH] {0}", PhotonNetwork.LocalPlayer.ActorNumber + Random.Range(0, 999)), new RoomOptions() { MaxPlayers = (byte)maxPlayers, IsVisible = false, IsOpen = false, CustomRoomProperties = roomOption, CleanupCacheOnLeave = true, CustomRoomPropertiesForLobby = properties }, null);
请问该错误的原因是什么?
错误原因
这个错误的核心原因是调用CreateRoom时,Photon客户端还未完成与Master Server的连接初始化,未进入可执行房间操作的就绪状态:
- 错误提示里的
PeerCreated是Photon连接流程的早期状态,此时客户端仅初始化了连接对象,还没完成和Master Server的握手、认证等关键步骤。 - Photon的匹配规则明确要求:必须等
OnConnectedToMaster或OnJoinedLobby回调触发后,才能执行创建房间、加入房间这类操作——这两个回调是客户端确认已成功连入Master Server并准备好进行房间相关操作的标志。 - 你的代码在客户端还未进入就绪状态时就调用了
CreateRoom,因此触发了这个错误。
内容的提问来源于stack exchange,提问作者user27189187
相关产品推荐
相关产品推荐

