Search Issue Tracker

Active

Votes

0

Found in

Not Applicable

Issue ID

UUM-141028

Regression

No

Distributed Authority intermittent client connect failures

Based on Forum-Issue-1717323 with a continued internal discussion here.

Description

I’m seeing an intermittent failure when starting a Distributed Authority session with Unity Services Multiplayer + NGO + UTP + Relay.

To debug it, I embedded the {{com.unity.services.multiplayer}} package locally so I could add instrumentation inside the package and also added a few traces in {{com.unity.netcode.gameobjects}} / Unity Transport. That let me compare a good run and a bad run at a fairly low level.

What happens in the good case:

  • Lobby/session setup completes normally.
  • Distributed Authority session creation succeeds.
  • Relay join/allocation succeeds.
  • UTP starts as client.
  • Relay reaches {{{}Established{}}}.
  • Relay layer receives {{{}Accepted{}}}.
  • NGO then gets {{Connect}} / {{ClientConnected}} and the session proceeds normally.

What happens in the bad case:

  • The flow is identical through lobby setup, Distributed Authority session creation, relay join/allocation, and UTP client startup.
  • Relay also reaches {{{}Established{}}}.
  • But the relay layer never receives {{{}Accepted{}}}.
  • The client keeps sending connect requests until UTP eventually disconnects with {{{}MaxConnectionAttempts{}}}.
  • NGO then reports client disconnected / startup canceled.

A few notes from instrumentation:

  • Region resolution is the same in both runs.
  • Distributed Authority session creation and relay allocation both succeed in both runs.
  • The divergence seems to be specifically after relay establishment, in the Distributed Authority/approval/accept path.

So the failure appears to be:

  • not lobby/session creation
  • not region selection
  • not relay allocation/join
  • not basic UTP startup

It looks more like “relay established, but the connection is never accepted/approved”.

Has anyone seen this before, or does this pattern point to a known issue in the Distributed Authority/Relay/NGO handshake path? In particular, is there a known reason why a client would reach Relay {{Established}} but never receive {{{}Accepted{}}}, eventually failing with {{{}MaxConnectionAttempts{}}}?

Initial setup
(Describe the initial setup, and what project, branch, and version of Unity are you using)

Reproduction steps
(Describe in a bulleted list the steps that you are taking, or any other information to help us have the same result.)

Expected behaviour
(Describe in as much detail as possible what you expect to see happen, ideally with examples, screenshots, links, and logs.)

Actual behavior
(Describe in as much detail as possible what is actually happening, ideally with logs, screenshots, links etc.)

Logs and Links
(Add links to Yamato jobs, links to logs, and add a stack trace in this section)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.