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
- Build fails when building a project containing an 18+ dimension array with IL2CPP
- [Android][Sentis] Human poses are not detected when using the BlazePose model
- Sprite Editor Outline Tool Overlay is not displayed when no Sprite is selected
- “No method with RuntimeInitializeOnLoadMethod attribute” warning from ReadmeEditor.cs is thrown after installing Project Auditor Rules
- Projection matrix is altered when using RasterCommandBuffer.ClearRenderTarget on DX12 and Metal
Add comment