Unity-PhotonServer局域网配置
声明:本文中用的是Photon-OnPremise-Server-SDK_v4-0-29-11263,试用最新版本连接后一直认证不通过。
启动本地PhotonServer
官网下载SDK后,不用放官网下载的license,直接双击运行PhotonControl.exe,(v4有默认有20个连接的免费试用权
,v5不放license无法启动服务器)
然后直接Start as application
Unity连接本地PhotonServer
我这里AppId用的是开通过中国区光子服务的ID(感觉没影响,反正我是没连上光子中国区的云服务器)
v4版本的PhotonServer不用勾选Use Name Server
Server为局域网IP(172.22.xx.xxx)
端口UDP为5055
注意
问题1.协议不对
PhotonServer SDK v4和Unity PUN 2.42连接PhontonServer出错Log里显示CENetPeerBase::HandleIncomingCommands() - PeerAppSelection()- Init: Unexpected protocol, expected value is between 1.2 and 1.7
解决方法:
将LoadBalancingClient.cs中替换成GpBinaryV16。(PhotonServer是v4用GpBinaryV16,v5用GpBinaryV18)
//this.SerializationProtocol = SerializationProtocol.GpBinaryV18;
this.SerializationProtocol = SerializationProtocol.GpBinaryV16;
或者用这段代码
PhotonNetwork.NetworkingClient.LoadBalancingPeer.SerializationProtocolType = ExitGames.Client.Photon.SerializationProtocol.GpBinaryV16;
问题2.连上服务器大厅,但是无法加入房间,会提示Failed Parsing Address
服务器大厅连接上了但是一直卡在创建或加入房间
解决方法:
之前用的UDP端口是5056,一直会报错(可能是5056端口没打开),端口修改成5055就成功加入房间了。
注:不能勾选上Start In Offine Mod,勾上后虽然可以加入房间,但是两个客户端不在同一个房间里。