[Major] ~50% of players receive a Network Error after successful Matchmaking

Summary

A very large number of players are unable to join our map because of a Network Connection Error. The reason is unknown and we have no way to investigate the root cause on our own.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Matchmaking

Steps to Reproduce

Reproduction steps are unclear. It appears to happen more commonly on consoles, but not exclusively and not consistently.

Our game has a large project size of 82% and download size of 330 MB. However, players fail to connect after having successfully Downloaded the map.

Players who fail to connect can often succeed when trying again hours later (although a very small % bother trying again). Immediate re-tries fail more often than not, even after restarting the game and even console.

When previously blocked players do get in they experience no noticeable lag. Client performance is perfectly fine, sitting at 1.9% Missed Frames overall.

Expected Result

Substantially less connection errors. Players should make it into the game.

Observed Result

With the data at our disposal, we estimate about half of the players who attempt to get into our map are failing to complete the “Connecting” stage after successful matchmaking.

Looking at Analytic data from July 16, there were 25,460 Successful Matchmaking results (only 288 failures). In the same time period there were only 13,826 Plays (54%), and an analytic_device triggered on first player interaction concurs with this concerningly low number of Plays per Matchmaking Success.

When sitting in a public server, we’re able to observe players appearing on the Team HUD with a health and shield of 0/0. Some players manage to fully load, but failing players never have their character spawn in game, then disappear from the Team HUD (See “In Game Perspective” video).

From reports of players who are unable to join and our own testing, one of the following 3 errors appears when Connecting fails:

  • Client failed to register with server. Please restart Fortnite
  • Network Connection Lost
  • We failed to establish a connection to the server; FailedToConnect

This result seems tied to this specific map as we have not/are not experiencing the same issue on other maps. However, we have no tool nor logs at our disposal to debug this further.

Platform(s)

All

Island Code

1465-4940-2309

Video

Player Perspective - https://www.youtube.com/watch?v=47auTBuqh28
This is just one of the three errors players are receiving after successful matchmaking.

In Game Perspective - https://www.youtube.com/watch?v=iWAxQy4yrnw
Notice players appearing on Team HUD in the top right, but never physically appearing (spawn pads are straight ahead).

FORT-938046 has been created and its status is ‘Unconfirmed’. This is now in a queue to be reproduced and confirmed.

works on Samsung Android phone and Switch 1
very slow on PC
in fortnite settings set network ping times on/ visible in UK GMT 2300 10ms most time, phone
NS1 <20 ms

laptop win 11 <40ms

Do you get queue → full in PC Fn logs

After some more attempts, we got a clean log file of at least one of the three error messages on PC (“Network Connection Lost”). Here’s a video and full game log of this error:
https://www.youtube.com/watch?v=ywsTJM5Oj2Q
FortniteGame-ErrorJoining.log (4.0 MB)

Comparing this log to a working game join log yields this specific error:

LogNet: NMT_CloseReason: (Server Disconnect Reasons) 20.185.51.181:9045
LogNet:  - HostClosedConnection
LogNet: UNetConnection::SendCloseReason:
LogNet:  - Result=FailureReceived, ErrorContext="FailureReceived"
LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = FailureReceived, ErrorString = DataStreamChannel failed to write data., Driver = Name:GameNetDriver Def:GameNetDriver IpNetDriver_2147482636
LogNet: Warning: Network Failure: GameNetDriver[FailureReceived]: DataStreamChannel failed to write data.
LogNet: NetworkFailure: FailureReceived, Error: 'DataStreamChannel failed to write data.'
LogFort: [HandleDisconnectInternal] bHandlingDisconnect: false
LogParty: Verbose: UFortPartyMember::HandleLocationChanged for [Jacobg1998] from [InGame] to [ReturningToFrontEnd] in [None]
LogFort: [3af2] New Session Started - PlayerLeftVoiceGameChannel flag was reset
LogParty: Verbose: UpdateChangeCallbacks: Getting Team Member Info for [Jacobg1998] Id [MCP:de0dff7dd1184545a25d97a8c8227c9a].
LogParty: Verbose: [Jacobg1998] Id [MCP:de0dff7dd1184545a25d97a8c8227c9a] team member data updated, team [MAX] at index [0] in [Jacobg1998]'s game.
LogMatchmakingUtility: [HandlePartyMemberLocationChanged called] MCP:de0dff7dd1184545a25d97a8c8227c9a, Party (V2:5d90aa0611d749cea7f34ad4ac8cafb7) location changed to: ReturningToFrontEnd None
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 20.185.51.181:9045, Name: IpConnection_2147482636, Driver: Name:GameNetDriver Def:GameNetDriver IpNetDriver_2147482636, IsServer: NO, PC: Athena_PlayerController_C_2147482642, Owner: Athena_PlayerController_C_2147482642, UniqueId: MCP:de0dff7dd1184545a25d97a8c8227c9a, Channels: 3, Time: 2025.07.17-18.05.59, TimeSinceTickDispatch: 0.035244, TimeSinceRecv: 0.001937, TimeSinceTickFlush: 0.622237, TimeSinceSend: 0.622186
LogNet: UNetConnection::SendCloseReason:
LogNet:  - Result=FailureReceived, ErrorContext="FailureReceived"
LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 20.185.51.181:9045, Name: IpConnection_2147482636, Driver: Name:GameNetDriver Def:GameNetDriver IpNetDriver_2147482636, IsServer: NO, PC: Athena_PlayerController_C_2147482642, Owner: Athena_PlayerController_C_2147482642, UniqueId: MCP:de0dff7dd1184545a25d97a8c8227c9a
LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = ConnectionLost, ErrorString = Your connection to the host has been lost., Driver = Name:GameNetDriver Def:GameNetDriver IpNetDriver_2147482636

We’ve managed to find some workarounds for this specific issue, and have quite a bit of extra context that may aid in identifying the actual issue at play. Sorry in advance for the long read!

From the very beginning there seemed to be a disproportionate amount of players getting through on lower end platforms. The following data uses Clicks by platform, and Active Players by platform from the creator portal as there is no Plays by platform.

Prior to our workarounds being implemented, only 2% of clicks were converting into active players on older consoles, which turned into almost 50% afterwards. All platforms saw benefits but this was by far the most dramatic.
This preliminary click → active player data led us to try our own lower spec devices, and we were finally able to consistently replicate an inability to join on both a Nintendo Switch (1) and an Xbox One S.
Note that up until this point we’d only ever received the sporadic “Network Connection Lost” on PC which would usually clear up when retried. On these other devices consistently getting blocked however, the error message was almost exclusively “FailedToConnect”.

With this consistent failure we were able to start a painstaking binary elimination process after determining that the game loaded fine with no devices in the map at all (verse or otherwise). Removing large chunks of unique devices at a time, uploading a private version, and testing each multiple times on Nintendo Switch eventually led us to three factors that prevented joining on this device:

  • Channel Devices
  • Verse Tags
  • NPC Behavior

Isolating these factors via removing the other ones entirely led to the following results:

  • With Channel Devices, we tried one single channel with no links in it, and successfully loaded into the map. We then tried re-making our 7 or so channel devices, but that version gave us FailedToConnect. After this we simply replaced all channels with triggers and this worked.
  • With Verse Tags, we were using tags on collectible devices and verse devices in our bossfights. The collectible tags were removed and the devices linked in an array instead, and bosses were reworked to avoid tags, and this let us join again once no Verse Tags were present.
  • With NPC Behavior, we removed all NPC Behaviors linked in NPC Character Definitions and reworked our code to let the NPCs still function as expected, which let us join without issue.

With these changes in place, we released an update and saw a roughly 20% increase in players, but were still receiving reports of join issues, which the analytics later backed up. Investigating with an Xbox One S (previously not able to join), led to a crash of Fortnite as a whole after being in the game for a couple minutes. Trying again was seemingly working fine, however another player in the lobby disappeared mid-fight (presumably crashed) and when returning to the lobby, it was clear the session was now in a broken state. Over the course of 5 minutes, 10+ players began to load into the match (visible on the team UI), only to be kicked out instantly within under a second. Attempting to join this lobby on other accounts ourselves yielded the previous “Network Connection Lost” error.

Our initial thought was to disable matchmaking via a round settings device after any player leaves the match so as to prevent any of these broken sessions from being sent new players endlessly, however we got a report that a previously working fine menu was crashing a player’s game.
Looking into this, we realized we now had a new issue of certain Material Blocks in Verse UI causing crashes on lower end devices and massive 5-10 second lagspikes on PC. We released a hotfix with one material based progress bar removed entirely, and some of the others replaced with simple images instead. This material block fix alone seems to have solved the crashing / broken session issue, as we’d mistakenly removed our disabling of matchmaking code, yet saw a massive increase in players able to get into the game. Looking at the analytics, our matchmaking results to plays ratio is now ~149% whereas previously it was ~50%

We looked into this material block issue that snuck up on us some more and found something very odd. The material block issue is only present when the NPC Character Definitions are not referencing Verse npc_behavior. These two things seem they should be entirely unrelated but a version with the NPC Behaviors linked in the NPC Definitions has no material block issues, and a version with the only change being the links removed from NPCs has the crashing / lagging material block issue again. In case it’s helpful for investigation, 7047-5598-2384 is a private island code in which accessing the “Rest Zone” menu via the Fishsticks character causes this gigantic lagspike/delay and/or crash. On the same PC, a private version results in a long delay before the menu opens, but in an edit session, the game client fully freezes up until the menu opens. When investigating further, we noticed this lagspike/delay only occurs once every 60 second period after garbage collection. As a series of events, opening the menu causes a huge lagspike/delay, then any subsequent times the menu opens instantly, until garbage collection happens (checked by monitoring the live log file). After garbage collection the lagspike can be received again by opening the menu.

Here’s a full log file from opening the game, launching the provided private version, opening some menus in the lobby, starting a game and triggering some other material blocks on UI as well, then respawning and closing Fortnite:
FullPrivateCode_FortniteGame.log (4.4 MB)

In this log file, the “UIMat_RZ_Progress” material block causes a 5 second delay in opening the Rest Zone menu. When this material block was removed, it opened instantly.
Any verse material block shown to the player seems to cause this warning: “LogFort: Warning: [LoadIssue] Synchronously loading file on client while match is in progress and loading screen is not shown: <path/to/material>”, however not every material block shown causes a lagspike or delay. A somewhat complex progress bar, and an incredibly simple icon with an opacity parameter were both causing issues, while some other more complex materials were not.
Some of the other material blocks cause a visible freeze for the client, which is recorded in logs as a “Hitch in GameThread” right after the previous warnings (search for “M_UI_PermCardEdge”).

Here’s two more focused pieces of log file showing the game hitches caused after these materials are loaded, one in an edit session, and one in what was the live version until recently.
EditSession_RestZoneMenu.log (2.9 KB)
LiveVersion_7-22_PrestigeMenu.txt (4.3 KB)

As seen in these logs, even the prestige menu on the prior live version caused a >1s hitch, however this clearly isn’t as bad as the rest zone menu’s >5s hitch, as player counts are way up with just the rest zone material block removed. Our currently released state of the game now has a Hud message device with a UI widget full of all these materials used in material blocks displayed on screen at all times at a 0x0 px size. This seems to prevent these “[LoadIssue]” warnings, as well as any lag from the prestige menu or any other material blocks now.

Let us know if there’s anything more we can provide or clear up, however this write up has already been a bit… extensive. Hope this helps solve whatever may actually be the root cause of all this!

2 Likes