HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

无法获取版本列表

Open wifi-left opened this issue 2 years ago • 6 comments

启动器版本 Launcher Version

3.5.3.221

平台 Platform

Windows 10

Java

Microsoft OpenJDK17

游戏版本 Game Version

1.19

对游戏所做的修改 Modifications Made to the Game

None

游戏崩溃报告 Game Crash Report

None

启动器崩溃报告 Launcher Crash Report

None

启动器日志文件 Launcher Log File

[21:27:06] [org.jackhuang.hmcl.ui.download.VersionsPage.lambda$refresh$6/WARNING] Failed to fetch versions list java.util.concurrent.CompletionException: java.net.SocketTimeoutException: Read timed out at org.jackhuang.hmcl.util.Lang.rethrow(Lang.java:263) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:282) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.net.SocketTimeoutException: Read timed out at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.readFully(SSLSocketInputRecord.java:461) at java.base/sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(SSLSocketInputRecord.java:243) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:181) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1503) at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1474) at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1059) at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:282) at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343) at java.base/sun.net.www.MeteredStream.read(MeteredStream.java:141) at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132) at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3663) at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3656) at org.jackhuang.hmcl.util.io.IOUtils.copyTo(IOUtils.java:89) at org.jackhuang.hmcl.util.io.IOUtils.copyTo(IOUtils.java:84) at org.jackhuang.hmcl.util.io.IOUtils.readFully(IOUtils.java:58) at org.jackhuang.hmcl.util.io.IOUtils.readFullyAsString(IOUtils.java:72) at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.getString(HttpRequest.java:134) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:280) ... 4 more [21:27:08] [org.jackhuang.hmcl.ui.construct.Navigator.close/INFO] Closed page DownloadPage@5ca066a0[styleClass=gray-background] [21:27:09] [org.jackhuang.hmcl.ui.construct.Navigator.navigate/INFO] Navigate to LauncherSettingsPage@6e31e247[styleClass=gray-background] [21:27:10] [org.jackhuang.hmcl.setting.ConfigHolder.writeToConfig/INFO] Saving config [21:27:11] [org.jackhuang.hmcl.ui.construct.Navigator.close/INFO] Closed page LauncherSettingsPage@6e31e247[styleClass=gray-background] [21:27:12] [org.jackhuang.hmcl.ui.construct.Navigator.navigate/INFO] Navigate to DownloadPage@5ca066a0[styleClass=gray-background] [21:27:19] [org.jackhuang.hmcl.ui.download.VersionsPage.lambda$refresh$6/WARNING] Failed to fetch versions list java.util.concurrent.CompletionException: java.net.SocketTimeoutException: Read timed out at org.jackhuang.hmcl.util.Lang.rethrow(Lang.java:263) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:282) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.net.SocketTimeoutException: Read timed out at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472) at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70) at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1455) at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1059) at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:244) at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:284) at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343) at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:791) at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:726) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1688) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) at org.jackhuang.hmcl.util.io.NetworkUtils.resolveConnection(NetworkUtils.java:153) at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.getString(HttpRequest.java:133) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:280) ... 4 more [21:27:20] [org.jackhuang.hmcl.ui.construct.Navigator.close/INFO] Closed page DownloadPage@5ca066a0[styleClass=gray-background] [21:27:21] [org.jackhuang.hmcl.ui.construct.Navigator.navigate/INFO] Navigate to LauncherSettingsPage@6e31e247[styleClass=gray-background] [21:27:22] [org.jackhuang.hmcl.setting.ConfigHolder.writeToConfig/INFO] Saving config [21:27:23] [org.jackhuang.hmcl.ui.construct.Navigator.close/INFO] Closed page LauncherSettingsPage@6e31e247[styleClass=gray-background] [21:27:24] [org.jackhuang.hmcl.ui.construct.Navigator.navigate/INFO] Navigate to DownloadPage@5ca066a0[styleClass=gray-background] [21:27:58] [org.jackhuang.hmcl.ui.download.VersionsPage.lambda$refresh$6/WARNING] Failed to fetch versions list java.util.concurrent.CompletionException: java.net.SocketTimeoutException: Read timed out at org.jackhuang.hmcl.util.Lang.rethrow(Lang.java:263) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:282) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.net.SocketTimeoutException: Read timed out at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.readFully(SSLSocketInputRecord.java:461) at java.base/sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(SSLSocketInputRecord.java:243) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:181) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1503) at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1474) at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1059) at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:282) at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343) at java.base/sun.net.www.MeteredStream.read(MeteredStream.java:141) at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132) at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3663) at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3656) at org.jackhuang.hmcl.util.io.IOUtils.copyTo(IOUtils.java:89) at org.jackhuang.hmcl.util.io.IOUtils.copyTo(IOUtils.java:84) at org.jackhuang.hmcl.util.io.IOUtils.readFully(IOUtils.java:58) at org.jackhuang.hmcl.util.io.IOUtils.readFullyAsString(IOUtils.java:72) at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.getString(HttpRequest.java:134) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:280) ... 4 more [21:28:16] [org.jackhuang.hmcl.ui.download.VersionsPage.lambda$refresh$6/WARNING] Failed to fetch versions list java.util.concurrent.CompletionException: java.net.SocketTimeoutException: Read timed out at org.jackhuang.hmcl.util.Lang.rethrow(Lang.java:263) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:282) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.net.SocketTimeoutException: Read timed out at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.readFully(SSLSocketInputRecord.java:461) at java.base/sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(SSLSocketInputRecord.java:243) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:181) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) at org.jackhuang.hmcl.util.io.NetworkUtils.resolveConnection(NetworkUtils.java:153) at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.getString(HttpRequest.java:133) at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:280) ... 4 more [21:28:22] [org.jackhuang.hmcl.ui.construct.Navigator.close/INFO] Closed page DownloadPage@5ca066a0[styleClass=gray-background]

问题描述 Problem Description

无法访问游戏文件列表

确认:

  1. 能正常访问 https://piston-meta.mojang.com/mc/game/version_manifest.json
  2. 没有网络代理程序
  3. 使用官方源

问题:

  1. 无论切换什么源(指定)都无法加载列表。
  2. 日志输出 Read time out,但问题是我测试了下官方下载源没有任何问题。
  3. 有时候有几率能加载出来
  4. 加载后的列表特别卡顿。

wifi-left avatar Jul 01 '22 13:07 wifi-left

补充:能正常访问 https://launchermeta.mojang.com/mc/game/version_manifest.json

wifi-left avatar Jul 01 '22 13:07 wifi-left

image

wifi-left avatar Jul 01 '22 13:07 wifi-left

经测试,HMCL好像对于访问时间过长就会 read time out 建议超时时长设为 10s

wifi-left avatar Jul 01 '22 13:07 wifi-left

录屏_org jackhuang hmcl Launcher_20220702001924 我这边获取是正常的

zkitefly avatar Jul 01 '22 16:07 zkitefly

问题在于,并非无法获取,而是超时时间太短或者 hmcl 不认。 我修改了下 hosts(因为默认dns给的ip太慢)就好了。 dns给的IP不是不能用,主要是太慢会被hmcl误认为超时

wifi-left avatar Jul 02 '22 08:07 wifi-left

而且目前221使用的hosts是旧版api,新版api更新了但hmcl并未release (我这里指的官方源)

wifi-left avatar Jul 02 '22 08:07 wifi-left

@huanghongxun 目前 HMCL 超时时间是 3s,我认为这对中国大陆地区的用户来说完全不够用。建议提升到 10s+

burningtnt avatar Jul 30 '23 03:07 burningtnt