Description

With the rework of IP address resolution in 4.25, this assert now occurs. When no packet handler is used, UPendingNetGame::InitNetDriver calls SendInitialJoin() immediately, before async address resolution has completed. It will try to write to the send buffer and send data before the buffer or socket/address has been properly initialized. It doesn't assert when the packet handler is enabled because the SendInitialJoin call is deferred until the handler handshake is complete, and this handshake will retry in the background until the address is resolved and the connection is properly set up.

 

Reverting to the old resolution behavior with "net.IpConnectionDisableResolution 1" will work around the issue when -NoPacketHander is set.

Steps to Reproduce
  1. Start a simple multiplayer project like QAGame or ShooterGame in the editor with "-NoPacketHandler" on the command line
  2. Start a PIE session with 2 players or a dedicated server

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-100594 in the post.

1
Login to Vote

Fixed
ComponentUE - Networking
Affects Versions4.25.3
Target Fix5.0-m4
Fix Commit14807256
Release Commit14807256
CreatedOct 6, 2020
ResolvedNov 23, 2020
UpdatedApr 27, 2021