mojira.dev
MCL-2627

Launcher will not download game over IPv6

The launcher won't work over IPv6. My network has DNS64+NAT64 at a router/ISP level, so there's no need for the remote host to support IPv6, but the client clearly does not:

Bootstrap (v5)
Current time is Jun 5, 2014 12:27:27 PM
System.getProperty('os.name') == 'Linux'
System.getProperty('os.version') == '3.14.5-1-ARCH'
System.getProperty('os.arch') == 'amd64'
System.getProperty('java.version') == '1.7.0_55'
System.getProperty('java.vendor') == 'Oracle Corporation'
System.getProperty('sun.arch.data.model') == '64'

Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 2/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 3/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 4/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 5/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 6/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 7/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 8/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 9/10)
Exception: java.net.ConnectException: Network is unreachable
Downloading: https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma (try 10/10)
Exception: java.net.ConnectException: Network is unreachable
Unable to download remote file. Check your internet connection/proxy settings.
FATAL ERROR: net.minecraft.bootstrap.FatalBootstrapError: Unable to download while being forced
at net.minecraft.bootstrap.Bootstrap.execute(Bootstrap.java:95)
at net.minecraft.bootstrap.Bootstrap.main(Bootstrap.java:381)


Please fix the error and restart.
$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 57381  bytes 17406141 (16.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 57381  bytes 17406141 (16.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::bae8:56ff:fe18:7bf6  prefixlen 64  scopeid 0x20<link>
        inet6 fd0a:3bf5:3521::ab1  prefixlen 128  scopeid 0x0<global>
        inet6 fd0a:3bf5:3521:0:bae8:56ff:fe18:7bf6  prefixlen 64  scopeid 0x0<global>
        inet6 2800:40:7aa:1:bae8:56ff:fe18:7bf6  prefixlen 64  scopeid 0x0<global>
        ether b8:e8:56:18:7b:f6  txqueuelen 1000  (Ethernet)
        RX packets 815334  bytes 513927518 (490.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 445419
        TX packets 608951  bytes 104791299 (99.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 18

Just so you know the network and NAT64 work fine:

$ curl -I https://s3.amazonaws.com/Minecraft.Download/launcher/launcher.pack.lzma
HTTP/1.1 200 OK
x-amz-id-2: UpAM7gl/HRnjvhD21HJj56/NHwQY4JHekomKtVVCDE3wv4Ij//zDBVzbQN3ceugt
x-amz-request-id: D8E156927B40322B
Date: Thu, 05 Jun 2014 15:32:56 GMT
Last-Modified: Mon, 19 May 2014 16:22:49 GMT
ETag: "33b37ac5b5b4842482c27c2499c8b3c7"
Accept-Ranges: bytes
Content-Type: application/octet-stream
Content-Length: 1027461
Server: AmazonS3

Related issues

Comments

ziggurism

Confirm for 15w47a, launcher version 1.6.48 for Mac OS X. If I switch my computer to IPv6 only (turn off IPv4 in System Preferences) before launching the launcher, it cannot connect to server and launches me in "offline" mode. If I open the launcher and authenticate, then switch to IPv6-only, it tries to download the minecraft.jar but cannot

[11:34:59 INFO]: Queueing library & version downloads
[11:34:59 ERROR]: Couldn't get complete version info for PartialVersion{id='15w47a', updateTime=Wed Nov 18 10:53:41 EST 2015, releaseTime=Wed Nov 18 10:53:41 EST 2015, type=SNAPSHOT}
java.net.ConnectException: Network is unreachable
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_60]

My guess is that the minecraft servers are just not connected to IPv6.

ziggurism

Are the JAR files downloaded from S3 AWS hosting, as the URLs suggest? According to this serverfault question, as of September 2015, Amazon does not support IPv6, so there's little Mojang could do other than wait or switch providers.

Torabi

Yes, they are, but it's not relevant or important, since any provider that gives you an IPv6 address will almost certainly have a mechanism for communicating with the far larger portion of the web that is still only IPv4 accessible. This bug is about the bootstrap being unable to download the launcher, and the launcher being unable to download game files, without an IPv4 connection.

ziggurism

@Torabi: Yes, any IPv6 provider today will give you a method of also accessing the IPv4-only internet. that method, for my particular provider, for now, at least, that method is an IPv4 connection, which are still available where I live. This is of course unusable by an IPv6-only host on my LAN.

Asia ran out of new IPv4 addresses in 2011, Europe ran out in 2012, and the US ran out this summer (2015). Some in the industry urge everyone to prepare for a near future where there are IPv6-only users, and for public services to transition to dual stack, so they can address all users, including IPv4-only users, IPv6 only users, and dual stack users.

Right now Amazon AWS (and hence also Mojang) can apparently only serve IPv4-only and dual stack users. Not IPv6-only users. If the belief is that there will never be IPv6-only users whose ISPs don't provide them some tunnel service to access the IPv4-only net, then I would agree that that reduces the immediate necessity to go dual stack. The need for Amazon and Mojang to switch to dual-stack is still somewhat hypothetical. I'll just point out that your proposed mitigating workaround (that IPv6 providers also provide a carrier-wide tunnel for IPv6-only users to access the IPv4-only net) is also hypothetical. My ISP offers IPv6 connectivity, but no provision for accessing the IPv4-only net from IPv6-only hosts (else I would not be filing this bugreport).

So the issue is still there, and the long term solution is dual stack IPv6 (and consider, for example, recent explosive growth of internet in China when deciding how far away this "long term" is).

ziggurism

@Torabi: Maybe I misunderstood you, and went a little off-topic. Sorry. Your point was that IPv6 providers will also provide some method of accessing IPv4-only net. I was skeptical, since my provider did no such thing, and then argued why we need to plan for IPv6-only users anyway.

But the original bugreport by Hugo mentions his provider has NAT64, which is exactly a translation mechanism to access IPv4-only net by IPv6-only users. It may be the case that Hugo's issue was the same as MC-3776. The launcher won't use IPv6 because of the java.net.preferIPv4Stack property. But that was fixed in last week's snapshot, which may have also fixed Hugo's issue. (And if so, I apologize for giving a lecture on the general importance of IPv6, which is off-topic in a bugreport).

If that is the case, then this should be closed as a duplicate, and I will file a new bugreport about the possibility of downloading JAR files via IPv6 by an IPv6-only user, which I believe cannot be acted upon since Mojang's hands are tied by Amazon. But still it may be useful to have a bugreport to track the issue. Or I may be incorrect about Mojang's or Amazon's options.

ziggurism

Amazon enabled IPv6 on S3 instances in August 2016 (https://aws.amazon.com/blogs/aws/now-available-ipv6-support-for-amazon-s3/), and for EC2 hosts december 2016 (https://aws.amazon.com/blogs/aws/new-ipv6-support-for-ec2-instances-in-virtual-private-clouds/). Does this mean it will be possible to download jar files on an IPv6 single stack host?

ziggurism

I went to test this today, but s3.amazonaws.com is not reachable over IPv6. According to the blog post at https://aws.amazon.com/blogs/aws/now-available-ipv6-support-for-amazon-s3/, the Amazon customer needs to switch over their S3 instances to the new endpoints that look like https://BUCKET.s3.dualstack.REGION.amazonaws.com or https://s3.dualstack.REGION.amazonaws.com/BUCKET. So Mojang will have to make that switch before progress can be made on this. Is this still a launcher issue or is it more of a web services issue? seems like the latter so I filed WEB-632

migrated

@ziggurism yes it is. But you need to change the security-group in EC2 and S3 to enable / not block IPv6.

For EC2 this is documented here: https://aws.amazon.com/de/blogs/aws/new-ipv6-support-for-ec2-instances-in-virtual-private-clouds/

For S3 I've tested it and it is possible. Mojang only needs to change s3.amazonaws.com to s3.dualstack.us-east-1.amazonaws.com.

galaxy_2alex

Is this still a concern in the current Minecraft Launcher version 2.0.805 / 2.0.806? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. If this has been done, we can reopen the issue.

Keep in mind that the "Resolved"-Status on this ticket just means "Answered", and that we are waiting for further information on whether this issue still exists or not. It will be reopened it as soon as the requested information has been delivered.

migrated

Hey @Galxy_2Alex,

yes this issue ist still exist.

Successfully downloaded https://launcher.mojang.com/mc/game/17w06a/client/UUID/client.jar to C:/Users%username%\AppData\Roaming\.minecraft\versions\17w06a/17w06a.jar

The new launcher ist using https://toolbox.googleapps.com/apps/dig/#AAAA/launcher.mojang.com
which resolves to https://toolbox.googleapps.com/apps/dig/#AAAA/da2uwvc3too2a.cloudfront.net

But there is no IPv6 support.

Uriel Salischiker

@Tobias Sachs Windows or Mac?

migrated

@Urielsalis the Path is c:/ thus it is a Windows OS 😉

What is with Linux?

galaxy_2alex

Is this still a concern in the current Minecraft Launcher version 2.0.1003 / 2.0.1004? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. If this has been done, we can reopen the issue.

Keep in mind that the "Resolved"-Status on this ticket just means "Answered", and that we are waiting for further information on whether this issue still exists or not. It will be reopened it as soon as the requested information has been delivered.

ziggurism

@Galaxy_2Alex: yes, in my current launcher, version 2.1.2480 on Mac (version 423 (1) reported in "about Minecraft Launcher..."), the problem persists.

There are different failures to connect. Firstly, when you first start the launcher in IPv6-only mode, it goes into offline mode, and does not populate the list of newest versions and snapshots. Secondly, if you start the launcher in dual stack mode, then turn off IPv4, and select a latest version or snapshot version that is not already downloaded, then it will attempt to download but fail, with the messages:

  1. info: Preparing to launch minecraft client for 19w14b

  2. info: Checking installations.

  3. info: Minecraft client 19w14b requires 18720341 bytes to download.

  4. info:Starting!

  5. error: Unable to download https://launcher.mojang.com/v1/objects/a008dc3c45cb4f120ae5e0f124d5af2de1bafed5/client.jar to /Users/username/Library/Application Support/minecraft/versions/19w14b/19w14b.jar

slicedlime

Is this still an issue on 2.1.4998 or above? The new downloading systems should support this.

migrated

Still unable to use the Launcher if you disable IPv6!

help.mojang.com and bugs.mojang.com too!

launchermeta.mojang.com does NOT resolve IPv6 Addresses. So the Launcher is unable to display News, Serverstatus, latest version if not already available, download Minecraft, get token for online play, ..

Could not get manifest from piston backend.
[0619/002531:WARNING:FileDownloadClient.cpp(216)] Couldn't download '/Users/X/Library/Application Support/minecraft/assets/indexes/1.14.json': failed_to_download[0619/002531:INFO:GameCallbacks.cpp(198)] launcher/launcher (main) error Unable to download https://launchermeta.mojang.com/v1/packages/15e65156137b14ed9793c7b0609c14393cf2c156/1.14.json to /Users/X/Library/Application Support/minecraft/assets/indexes/1.14.json[0619/002531:ERROR:FileDownloadClient.cpp(166)] Couldn't delete temporary file . after error: Invalid argument[0619/002531:ERROR:GameCallbacks.cpp(56)] failed_to_download
Details: Request error -105: ERR_NAME_NOT_RESOLVED
URL: https://launchermeta.mojang.com/v1/packages/15e65156137b14ed9793c7b0609c14393cf2c156/1.14.json
Name: 1.14.json
File: /Users/X/Library/Application Support/minecraft/assets/indexes/1.14.json

migrated

(Unassigned)

Community Consensus

ipv6

Retrieved