Unity version: 6000.3.14f1
Fishnet: 4.7.2R Pro
I ran into this as it produces an error log on the server. It looks to be harmless but may warrant further investigation into possible side effects.
Basically this can be reproduced by:
- Host starts tugboat + multipass connections as server (presumably occurs works with any transport)
- Register a callback on
InstanceFinder.ServerManager.OnRemoteConnectionState that shuts down multipass when args.ConnectionState == RemoteConnectionState.Stopped
- Have an authenticator fail a joining client, which disconnects it and invokes the above callback
- In the ServerManager it calls
Disconnect(false) on the connection when auth fails
- Start the transports again
- Receive logged error
Happy to provide more context on request, but the issue is pretty self-evident when you look at the source code; _disconnectingClients is never cleared by the TransportManager, so when the server connection is started again it tries to keep disconnecting connections from the last session, which produces this trace:
TransportIdData could not be found for Multipass connectionId of -1.
UnityEngine.Debug:LogError (object)
FishNet.Managing.Logging.LevelLoggingConfiguration:LogError (string) (at Assets/FishNet/Runtime/Managing/Logging/LevelLoggingConfiguration.cs:148)
FishNet.Managing.NetworkManager:InternalLogError (string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:82)
FishNet.Managing.NetworkManagerExtensions:LogError (FishNet.Managing.NetworkManager,string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:140)
FishNet.Transporting.Multipass.Multipass:GetDataFromMultipassId (int) (at Assets/FishNet/Runtime/Transporting/Transports/Multipass/Multipass.cs:229)
FishNet.Transporting.Multipass.Multipass:StopClient (int,bool) (at Assets/FishNet/Runtime/Transporting/Transports/Multipass/Multipass.cs:1019)
FishNet.Transporting.Multipass.Multipass:StopConnection (int,bool) (at Assets/FishNet/Runtime/Transporting/Transports/Multipass/Multipass.cs:929)
FishNet.Managing.Transporting.TransportManager:<IterateOutgoing>g__SendAsServer|76_0 (FishNet.Managing.Transporting.TransportManager/<>c__DisplayClass76_0&) (at Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:736)
FishNet.Managing.Transporting.TransportManager:IterateOutgoing (bool) (at Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:656)
FishNet.Managing.Timing.TimeManager:TryIterateData (bool) (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:1120)
FishNet.Managing.Timing.TimeManager:IncreaseTick () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:767)
FishNet.Managing.Timing.TimeManager:<TickUpdate>g__MethodLogic|113_0 () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:393)
FishNet.Managing.Timing.TimeManager:TickUpdate () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:381)
FishNet.Transporting.NetworkReaderLoop:Update () (at Assets/FishNet/Runtime/Transporting/NetworkReaderLoop.cs:29)
Unity version: 6000.3.14f1
Fishnet: 4.7.2R Pro
I ran into this as it produces an error log on the server. It looks to be harmless but may warrant further investigation into possible side effects.
Basically this can be reproduced by:
InstanceFinder.ServerManager.OnRemoteConnectionStatethat shuts down multipass whenargs.ConnectionState == RemoteConnectionState.StoppedDisconnect(false)on the connection when auth failsHappy to provide more context on request, but the issue is pretty self-evident when you look at the source code;
_disconnectingClientsis never cleared by the TransportManager, so when the server connection is started again it tries to keep disconnecting connections from the last session, which produces this trace: