You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: host not generating its own local client disconnect notification (#2822)
* fix
Assure the host generates a notification for the local host client no longer being connected when it shuts itself down.
* test
Include modification to the DisconnectTest to validate this fix.
Rewrote the SenderIdTest to be a bit more flexible with regard to waiting for the client disconnect event and not failing if it received anything afterwards.
Adding check for ConnectionEvent.ClientDisconnected for both test types.
Fixing issue with StopOneClient destroying the NetworkManager when destroy is set to false.
Copy file name to clipboardExpand all lines: com.unity.netcode.gameobjects/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@ Additional documentation and release notes are available at [Multiplayer Documen
12
12
13
13
### Fixed
14
14
15
+
- Fixed issue where the host was not invoking `OnClientDisconnectCallback` for its own local client when internally shutting down. (#2822)
15
16
- Fixed issue where NetworkTransform could potentially attempt to "unregister" a named message prior to it being registered. (#2807)
16
17
- Fixed issue where in-scene placed `NetworkObject`s with complex nested children `NetworkObject`s (more than one child in depth) would not synchronize properly if WorldPositionStays was set to true. (#2796)
Assert.IsTrue(m_DisconnectedEvent.ContainsKey(m_ServerNetworkManager),$"Could not find the server {nameof(NetworkManager)} disconnect event entry!");
171
+
Assert.IsTrue(m_DisconnectedEvent[m_ServerNetworkManager].ClientId==m_ClientId,$"Expected ClientID {m_ClientId} but found ClientID {m_DisconnectedEvent[m_ServerNetworkManager].ClientId} for the server {nameof(NetworkManager)} disconnect event entry!");
172
+
Assert.IsTrue(m_DisconnectedEvent.ContainsKey(m_ClientNetworkManagers[0]),$"Could not find the client {nameof(NetworkManager)} disconnect event entry!");
173
+
Assert.IsTrue(m_DisconnectedEvent[m_ClientNetworkManagers[0]].ClientId==m_ClientId,$"Expected ClientID {m_ClientId} but found ClientID {m_DisconnectedEvent[m_ServerNetworkManager].ClientId} for the client {nameof(NetworkManager)} disconnect event entry!");
174
+
// Unregister for this event otherwise it will be invoked during teardown
Assert.IsTrue(m_DisconnectedEvent.ContainsKey(m_ServerNetworkManager),$"Could not find the server {nameof(NetworkManager)} disconnect event entry!");
180
+
Assert.IsTrue(m_DisconnectedEvent[m_ServerNetworkManager].ClientId==m_ClientId,$"Expected ClientID {m_ClientId} but found ClientID {m_DisconnectedEvent[m_ServerNetworkManager].ClientId} for the server {nameof(NetworkManager)} disconnect event entry!");
181
+
Assert.IsTrue(m_DisconnectedEvent.ContainsKey(m_ClientNetworkManagers[0]),$"Could not find the client {nameof(NetworkManager)} disconnect event entry!");
182
+
Assert.IsTrue(m_DisconnectedEvent[m_ClientNetworkManagers[0]].ClientId==m_ClientId,$"Expected ClientID {m_ClientId} but found ClientID {m_DisconnectedEvent[m_ServerNetworkManager].ClientId} for the client {nameof(NetworkManager)} disconnect event entry!");
AssertOnTimeout("Timed out waiting for host-client to generate disconnect message!");
211
+
212
+
Assert.IsTrue(m_DisconnectedEvent.ContainsKey(m_ServerNetworkManager),$"Could not find the server {nameof(NetworkManager)} disconnect event entry!");
213
+
Assert.IsTrue(m_DisconnectedEvent[m_ServerNetworkManager].ClientId==NetworkManager.ServerClientId,$"Expected ClientID {m_ClientId} but found ClientID {m_DisconnectedEvent[m_ServerNetworkManager].ClientId} for the server {nameof(NetworkManager)} disconnect event entry!");
0 commit comments