Search Issue Tracker
Fixed in 5.4.0
Votes
0
Found in
5.3.5f1
Issue ID
805468
Regression
No
[UNET]Leaving a lobby prevents client from rejoining and trying to rejoin fills up slots
Steps to reproduce:
1. Open attached project.
2. Open "Build Settings" window. If you see this error message:
"Because you are not a member of this project this build will not access Unity services.",
please, go to "Window->Services->Multiplayer->Go to dashboard" and set up a new Network Lobby (more information here: http://blogs.unity3d.com/2015/09/10/unity-services-are-just-a-few-clicks-away/).
3. Build a project and play it.
4. Enter player's name and press "Create" button to host a game.
5. Back to the Unity Editor and enter the Play mode.
6. Press "List servers" button.
7. Select the server that was created during the fourth step, press "Join" button and wait until the client joins the game.
8. Back to the host and press "X" button that is located in the right of "Player2" to kick this client (alternatively, the client might press "Back" button).
9. Again back to the client and press "List servers" button.
10. When the servers are listed, select the one that was created during the fourth step and press "Join" button.
11. Notice that the connection lasts forever and the "Console" window outputs these error messages (different versions of Unity outputs different error messages):
"Join Failed:[[UnityEngine.Networking.Match.JoinMatchResponse]-success:False-extendedInfo:failed: Failed enumerating host node id appId=1146902. Match is likely unavailable, please select another to join.]-address:,port:0,networkId:0x0000000000000000,nodeId:0x0000,usingRelay:False
UnityEngine.Networking.Match.<ProcessMatchResponse>c__Iterator0`1:MoveNext()"
"ArgumentException: An element with the same key already exists in the dictionary.
System.Collections.Generic.Dictionary`2[UnityEngine.Networking.Types.NetworkID,UnityEngine.Networking.Types.NetworkAccessToken].Add (NetworkID key, UnityEngine.Networking.Types.NetworkAccessToken value) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:404)
UnityEngine.Networking.Utility.SetAccessTokenForNetwork (NetworkID netId, UnityEngine.Networking.Types.NetworkAccessToken accessToken) (at C:/buildslave/unity/build/Runtime/Networking/Managed/UNETTypes.cs:119)
UnityEngine.Networking.NetworkManager.OnMatchJoined (UnityEngine.Networking.Match.JoinMatchResponse matchInfo) (at C:/buildslave/unity/build/Extensions/Networking/Runtime/NetworkManager.cs:1215)
UnityEngine.Networking.Match.NetworkMatch+<ProcessMatchResponse>c__Iterator0`1[UnityEngine.Networking.Match.JoinMatchResponse].MoveNext () (at C:/buildslave/unity/build/Runtime/Networking/Managed/MatchMakingClient.cs:302)"
12. As a client press "Cancel" button and try rejoining the game.
Actual result:
The client cannot rejoin the game, however, the slots fills up (every time the client tries rejoining the game) and when it reaches the limit of the players, the client cannot found a server anymore.
Expected result:
After the client leaves the game, he should be fully removed from the game, so that he would be able to rejoin the game later.
Reproduced with:
5.3.4f1, 5.3.5f1, 5.3.5p1.
Cannot reproduce with:
5.4.0b18, because there are some compiler (related to namespace) errors that prevents user from entering the Play mode.
5.1.0f3. 5.2.4f1, because Scene Management is not supported.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Add comment