Server version: 0.10.0.3.104-256f9653
OS: Windows 11 26H2
After backend auth succeeds, R5NetGrpcServerV2 tries to bind a local port for P2P and fails. Two bugs found in this path:
1. Bind fails on ports that are not in use
The port being attempted does not appear in netstat -ano output at any point before or during launch. Nothing is holding it.
2. Retry loop is broken
The server logs a new port each retry but the actual bind attempt always uses the original port:
R5NetGrpcServerV2: Cannot create Server. Maybe ServerPort 43371 is busy. Try next one
[error] target_address:"ipv4:192.168.1.10:43371" ← still 43371
R5NetGrpcServerV2: Cannot create Server. Maybe ServerPort 44181 is busy. Try next one
[error] target_address:"ipv4:192.168.1.10:43371" ← still 43371
R5NetGrpcServerV2: Cannot create Server. Maybe ServerPort 43802 is busy. Try next one
[error] target_address:"ipv4:192.168.1.10:43371" ← still 43371
After exhausting retries the server crashes with Server will be stopped due to data inconsistency.
Tested with P2pProxyAddress set to 127.0.0.1, 0.0.0.0, and a LAN IP — all crash the same way. With 0.0.0.0 the gRPC library resolves to IPv6 ([::]) and the same stuck-port behavior occurs on the IPv6 stack.
Note on documentation: The official docs example config shows UseDirectConnection: false with a LAN IP in P2pProxyAddress. This is exactly the configuration that causes the crash. There is no mention that this mode is broken or that UseDirectConnection: true is required as a workaround.
Workaround:
"P2pProxyAddress": "192.168.1.10",
"UseDirectConnection": true,
"DirectConnectionServerPort": 25565,
"DirectConnectionProxyAddress": "0.0.0.0"
Note: with this workaround the invite code flow does not work — players must connect via direct IP instead.