mojira.dev
BDS-23110

BDS 1.26.51.1 NetherNet InitialConnection-45

Environment:

  • Bedrock Dedicated Server: 1.26.51.1

  • Build ID: 51061372

  • Branch: r/26_u5

  • OS: Ubuntu Linux

  • Transport: nethernet

  • Client: Minecraft Bedrock 1.26.51 Windows GDK

  • Protocol: NetherNet:2193

  • Public IPv4: directly assigned to the BDS host

  • Host also has a private IPv4 interface

  • UFW enabled

Server network interfaces

eno1: PUBLIC_IPV4/24
eno2: PRIVATE_LAN_IP/24

Default route:

default via PUBLIC_GATEWAY dev eno1 src PUBLIC_IPV4

The server is not behind IPv4 NAT. The public IPv4 address is assigned directly to the BDS host.

Current server configuration

server-port=19132
server-portv6=19134
server-udp-ports=PUBLIC_IPV4:20000-20010:20000-20010

transport=nethernet
enable-lan-visibility=true

server-ip is currently unset so that BDS can bind normally.

Firewall rules include:

19132/tcp          ALLOW IN
19132/udp          ALLOW IN
20000:20010/udp    ALLOW IN

Steps to reproduce

  1. Start BDS 1.26.51.1 with:

transport=nethernet
  1. Confirm the server starts normally.

  2. Confirm BDS signs in to the signaling service successfully.

  3. Connect from Minecraft Bedrock 1.26.51 Windows GDK to:

PUBLIC_IPV4:19132
  1. The connection fails before BDS logs a normal player connection.

Actual result

The Windows client consistently fails with:

Error Detail InitialConnection-45
Transport: NetherNet:2193
NetworkType: 2

During one configuration test, InitialConnection-122 was also observed.

BDS never reaches the normal player-session sequence:

Player connected
Player PartyIdUpdate
Player Spawned

TCP signaling test

From the Windows client:

Test-NetConnection PUBLIC_IPV4 -Port 19132

Result:

TcpTestSucceeded : True

TCP port 19132 is therefore reachable externally.

UDP behavior

With:

server-udp-ports=PUBLIC_IPV4:20000-20010:20000-20010

BDS successfully allocates UDP transport sockets from the configured range.

Example:

PUBLIC_IPV4:20000
PRIVATE_LAN_IP:20000
DOCKER_BRIDGE_IP:20000
IPv6-address:20000

During a failed connection attempt, packet capture on the public interface shows bidirectional UDP traffic between the external client and BDS.

Example:

CLIENT_PUBLIC_IPV4.50266 > PUBLIC_IPV4.20000: UDP
PUBLIC_IPV4.20000 > CLIENT_PUBLIC_IPV4.50266: UDP

Multiple packets are exchanged in both directions, including packets larger than 1 KB.

This indicates that the external client can reach the advertised NetherNet UDP candidate and the server can reply successfully.

Additional testing

Several configurations were tested.

No explicit server-ip:

server-udp-ports=20000-20010
transport=nethernet

Result:

InitialConnection-45

Explicit public server-ip:

server-ip=PUBLIC_IPV4
server-udp-ports=20000-20010
transport=nethernet

BDS correctly binds to:

PUBLIC_IPV4:19132

The result remains:

InitialConnection-45

Explicit external UDP mapping:

server-udp-ports=PUBLIC_IPV4:20000-20010:20000-20010

BDS allocates UDP transport sockets from the configured range and exchanges traffic on the public UDP endpoint, but the client still fails before Player connected.

RakNet comparison

I also tested:

transport=raknet

BDS starts, but explicitly reports:

Your current connection type is not set to NetherNet.
In this release, NetherNet is the only supported transport type.
Players will not be able to connect to your game without NetherNet.

RakNet therefore cannot be used as a fallback on this release.

Expected behavior

After successful TCP signaling and successful bidirectional UDP communication, the client should complete the NetherNet connection and join the world.

Actual behavior

TCP signaling succeeds and bidirectional UDP traffic is established, but the connection fails during the NetherNet initial connection stage with:

InitialConnection-45

BDS never transitions to a normal Bedrock player session.

Additional observation

During testing, BDS/NetherNet creates UDP sockets on multiple local interfaces, including:

PUBLIC_IPV4
PRIVATE_LAN_IP
DOCKER_BRIDGE_IP
IPv6

However, the public endpoint itself exchanges UDP packets successfully with the external client, so basic UDP reachability appears functional.

Summary

This appears to be a NetherNet connection/session negotiation failure after basic network connectivity has already been established, rather than a simple firewall, NAT, or port-forwarding issue.

The following have been verified:

TCP signaling reachable      YES
BDS signaling login          YES
UDP allocation               YES
Explicit external mapping    YES
Inbound UDP                  YES
Outbound UDP                 YES
Player connected event       NO
Final client connection      NO

The failure consistently occurs before BDS logs a normal player session.

Suggested attachments

  1. Screenshot showing:

    InitialConnection-45
    Transport: NetherNet:2193
  2. Redacted tcpdump output showing bidirectional UDP traffic:

    CLIENT_PUBLIC_IPV4.50266 > PUBLIC_IPV4.20000
    PUBLIC_IPV4.20000 > CLIENT_PUBLIC_IPV4.50266
  3. Startup log showing:

    Version: 1.26.51.1
    Build ID: 51061372
    Signed in to signaling service successfully
    Server started.

Comments 0

No comments.

Katie Sheridan

(Unassigned)

Unconfirmed

Retrieved