Not a duplicate of MC-255720. This bug is still present in Minecraft 1.21.4.
For example, I have a Minecraft server with server name test.jivanpal.com, with SRV record resolving to theremin.jivan.dev:25561, and hostname theremin.jivan.dev being dual-stacked:
$hosttest.jivanpal.com# No output, because domain name has no A or AAAA records$host -t SRV_minecraft._tcp.test.jivanpal.com
_minecraft._tcp.test.jivanpal.comhasSRVrecord 0 1 25561 theremin.jivan.dev.$hosttheremin.jivan.dev
theremin.jivan.devhasaddress 109.74.195.249
theremin.jivan.devhasIPv6address2a02:6b6f:fc22:4c80:842f:42ff:fe4b:3c05
If connecting from a host with an IPv4 connection, using test.jivanpal.com as server address on the "Connect" screen works. If connecting from a host with only an IPv6 connection, it times out. Furthermore, a dual-stacked host will only ever connect using IPv4, even if connecting using IPv6 would offer lower latency.
The Happy Eyeballs spec/algorithm addresses these issues. Please implement it.
Since my ISP only provides IPv4 connectivity via CGNAT, this means that dual-stacked clients that connect to my server over IPv4 get a much worse experience (an additional 10ms to 30ms of latency, since I have to proxy them via a cloud service provider that I lease an IPv4 address from). Currently, such clients will always get that worse experience if I use a dual-stacked server name as above. To work around this, I have to use two separate server names (one for IPv4 and one for IPv6), and each needs to resolve to a distinct hostname (one for IPv4, and one for IPv6), e.g.
I then have to instruct users to use test-v6.jivanpal.com, and if that doesn't work (because the user happens to not have IPv6 internet connectivity or something just isn't working correctly at that point in time, e.g. a transient failure in the ISP's IPv6 networking), then they have to manually change this to test-v4.jivanpal.com. Ideally, this choice of protocol would instead be automatically handled by the Minecraft client application as per Happy Eyeballs.
Two years have passed since the original bug report was filed. Please at least acknowledge receipt of it.
Not a duplicate of MC-255720. This bug is still present in Minecraft 1.21.4.
For example, I have a Minecraft server with server name
test.jivanpal.com
, with SRV record resolving totheremin.jivan.dev:25561
, and hostnametheremin.jivan.dev
being dual-stacked:If connecting from a host with an IPv4 connection, using
test.jivanpal.com
as server address on the "Connect" screen works. If connecting from a host with only an IPv6 connection, it times out. Furthermore, a dual-stacked host will only ever connect using IPv4, even if connecting using IPv6 would offer lower latency.The Happy Eyeballs spec/algorithm addresses these issues. Please implement it.
Since my ISP only provides IPv4 connectivity via CGNAT, this means that dual-stacked clients that connect to my server over IPv4 get a much worse experience (an additional 10ms to 30ms of latency, since I have to proxy them via a cloud service provider that I lease an IPv4 address from). Currently, such clients will always get that worse experience if I use a dual-stacked server name as above. To work around this, I have to use two separate server names (one for IPv4 and one for IPv6), and each needs to resolve to a distinct hostname (one for IPv4, and one for IPv6), e.g.
I then have to instruct users to use
test-v6.jivanpal.com
, and if that doesn't work (because the user happens to not have IPv6 internet connectivity or something just isn't working correctly at that point in time, e.g. a transient failure in the ISP's IPv6 networking), then they have to manually change this totest-v4.jivanpal.com
. Ideally, this choice of protocol would instead be automatically handled by the Minecraft client application as per Happy Eyeballs.Two years have passed since the original bug report was filed. Please at least acknowledge receipt of it.