PojavLauncher
PojavLauncher copied to clipboard
[BUG] launch installed version without Internet connection always failed
Describe the bug
If you disabled Verify game version manifest in the settings, then disconnect to Internet, and try to launch any version of game, it will fail.
However, the installed version cannot be started in this case too.
The log file and images/videos
if launch was failed, usually it will output these logs:
java.io.IOException: Unable to download from https://piston-meta.mojang.com/v1/packages/ed5d8789ed29872ea2ef1c348302b0c55e3f3468/1.7.10.json
at net.kdt.pojavlaunch.utils.DownloadUtils.download(DownloadUtils.java:39)
at net.kdt.pojavlaunch.utils.DownloadUtils.download(DownloadUtils.java:20)
at net.kdt.pojavlaunch.utils.DownloadUtils.downloadFile(DownloadUtils.java:61)
at net.kdt.pojavlaunch.mirrors.DownloadMirror.downloadFileMirrored(DownloadMirror.java:66)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader.lambda$downloadGameJson$1(MinecraftDownloader.java:157)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader$$ExternalSyntheticLambda1.call(Unknown Source:4)
at net.kdt.pojavlaunch.utils.DownloadUtils.downloadFile(DownloadUtils.java:125)
at net.kdt.pojavlaunch.utils.DownloadUtils.ensureSha1(DownloadUtils.java:140)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader.downloadGameJson(MinecraftDownloader.java:154)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader.downloadAndProcessMetadata(MinecraftDownloader.java:198)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader.downloadGame(MinecraftDownloader.java:90)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader.lambda$start$0$net-kdt-pojavlaunch-tasks-MinecraftDownloader(MinecraftDownloader.java:63)
at net.kdt.pojavlaunch.tasks.MinecraftDownloader$$ExternalSyntheticLambda0.run(Unknown Source:10)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:784)
Caused by: java.net.UnknownHostException: Unable to resolve host "piston-meta.mojang.com": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:141)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90)
at java.net.InetAddress.getAllByName(InetAddress.java:787)
at com.android.okhttp.Dns$1.lookup(Dns.java:39)
at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175)
at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141)
at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(Unknown Source:0)
at net.kdt.pojavlaunch.utils.DownloadUtils.download(DownloadUtils.java:31)
... 15 more
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Linux.android_getaddrinfo(Native Method)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:59)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:122)
... 31 more
Steps To Reproduce
1. install PojavLauncher (or says to reset to default status)
- currently, `Verify game version manifest` is enabled by default.
2. connect to network
2.5 maybe you should add an account
3. launch the "Default" version, after enter the game, just close it.
- Default version usually be 1.7.10
4. disconnect to the Internet
5. restart PojavLauncher
6. just launch "Default" (to prove it was installed correctly), then close it
7. restart PojavLauncher
8. disable `Verify game version manifest` in the `Miscellaneous settings`
9. restart PojavLauncher
10. launch the same "Default" version again, but failed due to the gamemeta couldn't be downloaded
---
(just some extra test)
11. re-enable `Verify game version manifest` in the `Miscellaneous settings`
12. launch the same "Default" version again, but still failed
13. connect to Internet
14. launch the same version again, usually it will succeed
15. disconnect to Internet
16. launch the same version again, it will succeed
Expected Behavior
An installed version should be able to launch without network connection regardless of whether Verify game version manifest has been enabled.
Platform
- Device model: Huawei DUB-AL00
- CPU architecture: arm64
- Android version: 8.1.0
- PojavLauncher version: edelweiss-20240219-195568c-v3_openjdk
Anything else?
I'm not sure if this is expected behavior, but it seems weird to me.