Unity-Technologies / com.unity.netcode.gameobjects

Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
MIT License
2.16k stars 435 forks source link

Netcode Client Join Error #2821

Closed alex4101 closed 6 days ago

alex4101 commented 10 months ago

Description

A clear and concise description of what the bug is.

User1 makes a server and is the host. When User2 joins the server using the room code, this error appears:

[Netcode] Received a packet with an invalid Hash Value. Please report this to the Netcode for GameObjects team at https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues and include the following data: Received Hash: 2450266271307143725, Calculated Hash: 4077705673384003339, Offset: 4, Size: 112, Full receive array: 70 00 00 00 60 11 01 00 70 00 00 00 2d 1a 62 12 31 18 01 22 09 d2 02 02 01 7d 9a e2 a5 01 b2 36 17 b3 01 46 c4 ca 04 01 39 3b e8 2c 01 ab c9 50 60 01 53 a3 38 44 01 d3 f6 1c b8 01 a6 22 89 97 01 b5 fe 01 74 01 be 97 be 73 01 9d 9a 5c 01 01 e9 51 97 17 01 8a f7 e7 83 01 42 7f 88 c6 01 97 a3 f5 46 01 00 00 00 00 01 e7 1d 78 79 e7 4f 92 6d 00 00 00

Reproduce Steps

  1. User1 creates a server by calling StartHost() and receives a room code.
  2. User2 joins the room by typing in the room code and calling StartClient().
  3. When User2 is joining the server, the error occurs on the host-side.

Actual Outcome

A clear and concise description of what happened and broke.

User1 created a server by calling the StartHost() function. They are sent to a server and provided with the room code. User2 joins the server by typing in the correct room code. When they call the StartClient() function, the client attempts to join the server and is waiting to join. On the Host side (User1), the error appears and enters Pause mode in Unity.

Expected Outcome

A clear and concise description of what you expected to happen.

User2 should be able to join the server without error.

Screenshots

If applicable, add screenshots to help explain your problem. Capture

Environment

Additional Context

Add any other context about the problem here. Logs, code snippets would be useful here but please also consider attaching a minimal Unity project that reproduces the issue.

Received Hash: 2450266271307143725, Calculated Hash: 4077705673384003339, Offset: 4, Size: 112, Full receive array: 70 00 00 00 60 11 01 00 70 00 00 00 2d 1a 62 12 31 18 01 22 09 d2 02 02 01 7d 9a e2 a5 01 b2 36 17 b3 01 46 c4 ca 04 01 39 3b e8 2c 01 ab c9 50 60 01 53 a3 38 44 01 d3 f6 1c b8 01 a6 22 89 97 01 b5 fe 01 74 01 be 97 be 73 01 9d 9a 5c 01 01 e9 51 97 17 01 8a f7 e7 83 01 42 7f 88 c6 01 97 a3 f5 46 01 00 00 00 00 01 e7 1d 78 79 e7 4f 92 6d 00 00 00

fluong6 commented 10 months ago

Hi @alex4101, thank you for letting us know about this issue.

To better understand the nature of the issue, can you provide us the transport protocol you are using for your project?

If your project is not using UTP (com.unity.transport), can you try it with UTP and see if you are still encountering this issue?

MusicCorner commented 8 months ago

Same issue on my side: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/2840 @fluong6 i'm using dtls when starting relay and hosting it

michalChrobot commented 6 days ago

It should be fixed in com.unity.transport 2.3.0 as well as in 1.5.0. Please let us know If after updating to one of those versions it will still not work correctly, otherwise we will be slowly closing issues related to this bug. If you will still experience this problem feel free to reopen the issue.