DisconnectByServerLogic Disconnect peer by auth timeout
Options
Tree
✭
I create a Peer on my unity Client
Every 10 seconds will recive statusCode "DisconnectByServerLogic"
And see the photon sever log is
void Start() { Debug.Log("Start Connect"); peer = new PhotonPeer(this, ConnectionProtocol.Udp); peer.Connect("127.0.0.1: 27001", "Master");//Post number used 5505 also disconnect connected = false; } // Update is called once per frame void Update() { peer.Service(); } public void OnStatusChanged(StatusCode statusCode) { Debug.Log("serStatus-----" + statusCode.ToString()); switch (statusCode) { case StatusCode.Connect: break; default: peer.Connect("127.0.0.1: 27001", "Master");//connect when disconnect break; } } }
Every 10 seconds will recive statusCode "DisconnectByServerLogic"
And see the photon sever log is
DEBUG Photon.LoadBalancing.MasterServer.MasterClientPeer - Disconnect peer by auth timeout. timeout:20000, p:T:MasterClientPeer,ConnId:0,ip:127.0.0.1:62900,Udp,GpBinaryV16 DEBUG Photon.LoadBalancing.MasterServer.MasterClientPeer - Disconnect: peer=T:MasterClientPeer,ConnId:0,ip:127.0.0.1:62900,Udp,GpBinaryV16, UserId:: reason=2, detail= DEBUG Photon.LoadBalancing.MasterServer.MasterClientPeer - Auth Timeout Checker stopped. authTimeout:20000 p:T:MasterClientPeer,ConnId:0,ip:10.127.0.0.1:62900,Udp,GpBinaryV16I dont want receive disconnect code so please help me ! Thanks!
0
Comments
-
hi, @Tree
you have to send Authenticate request with corresponding parameters otherwise server disconnects you. that is expected and correct behavior.
our .netclient sdk contains LoadBalancingPeer it may help you with doing standard work if you connect to LoadBalancing
best,
ilya0 -
hi, @Tree
LoadBalancing/Realtime uses predefined set of operations. everything else is blocked. Use RaiseEvent operation to send signals about everything in your game. It is flexible enough to fit to any needs.
if logic of your game more or less fits to Realtime, I would recommend to use plugin. This will reduce amount of things you have to know and you will be able to add protection from hackers and cheaters
if you still need your own event code, than take a look into `void InitInboundController()`. it defines the range of allowed operations
best,
ilya0 -
@chvetsov
I meet another question. when I send event from Sever
this code in GameApplication.csprotected virtual PeerBase CreateGamePeer(InitRequest initRequest) { var peer = new GameClientPeer(initRequest, this); { if (this.webRpcManager.IsRpcEnabled) { peer.WebRpcHandler = this.webRpcManager.GetWebRpcHandler(); } initRequest.ResponseObject = "ResponseObject"; } PeerList.Add(peer);//the line add by mine return peer; }
this code is my sendpublic static void SendEvent(Photon.Hive.Operations.OperationCode code) { EventData ed = new EventData((byte)code); foreach (PeerBase peer in PeerList) { peer.SendEvent(ed, new SendParameters()); } }
in my unity client I recive twice event
this is log stackUnityEngine.Debug:Log(Object) LastHitBattle_PhotonManager:OnEvent(EventData) (at Assets/Scripts/PhotonControl/LastHitBattle/LastHitBattle_PhotonManager.cs:45) PhotonListenerManager:OnEvent(EventData) (at Assets/Photon/PhotonRealtime/Code/PhotonListenerManager.cs:47) Photon.Realtime.LoadBalancingClient:OnEvent(EventData) (at Assets/Photon/PhotonRealtime/Code/LoadBalancingClient.cs:3364) ExitGames.Client.Photon.PeerBase:DeserializeMessageAndCallback(StreamBuffer) (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/PeerBase.cs:898) ExitGames.Client.Photon.EnetPeer:DispatchIncomingCommands() (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/EnetPeer.cs:563) ExitGames.Client.Photon.PhotonPeer:DispatchIncomingCommands() (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/PhotonPeer.cs:1863) Photon.Voice.Unity.VoiceConnection:Dispatch() (at Assets/Photon/PhotonVoice/Code/VoiceConnection.cs:548) Photon.Voice.Unity.VoiceConnection:FixedUpdate() (at Assets/Photon/PhotonVoice/Code/VoiceConnection.cs:531) UnityEngine.Debug:Log(Object) LastHitBattle_PhotonManager:OnEvent(EventData) (at Assets/Scripts/PhotonControl/LastHitBattle/LastHitBattle_PhotonManager.cs:45) PhotonListenerManager:OnEvent(EventData) (at Assets/Photon/PhotonRealtime/Code/PhotonListenerManager.cs:47) Photon.Realtime.LoadBalancingClient:OnEvent(EventData) (at Assets/Photon/PhotonRealtime/Code/LoadBalancingClient.cs:3364) ExitGames.Client.Photon.PeerBase:DeserializeMessageAndCallback(StreamBuffer) (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/PeerBase.cs:898) ExitGames.Client.Photon.EnetPeer:DispatchIncomingCommands() (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/EnetPeer.cs:563) ExitGames.Client.Photon.PhotonPeer:DispatchIncomingCommands() (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/PhotonPeer.cs:1863) Photon.Pun.PhotonHandler:Dispatch() (at Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs:221) Photon.Pun.PhotonHandler:FixedUpdate() (at Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs:147)
I used pun2 and photon voice in my project.I just want add pun2 peer in my server peerlist.I hope just recive once event in my unity. Can I know who they are about pun2 or voice in Photon Server?
Thanks!0