Def

define the Taskeren

0%

Minecraft 使用代理启动

无法连接认证服务器错误

因为最近加入服务器的时候总是出现 Failed to login: authentication servers are currently down for maintenance. 错误,经过测试,发现这个问题是因为客户端或服务器中一方无法连接认证服务器导致的。JVM不会自动的使用系统代理,所以需要在启动的时候设置 JVM 参数让其强制使用。

使用系统代理

查文献可以得知 Java 使用系统代理的配置(System Properties)键值为 java.net.useSystemProxies,所以我们可以在启动器的 Java 虚拟机参数 中填入 -Djava.net.useSystemProxies=true 使其强制使用系统代理。

使用 Socks5 代理

与使用系统代理类似,需要修改 Java 虚拟机的配置,添加如下两个配置。
-DsocksProxyHost=<IP> -DsocksProxyPort=<端口>

使用 HTTP/HTTPS 代理

同上。
-Dhttp.proxyHost=<IP> -Dhttp.proxyPort=<端口>
-Dhttps.proxyHost=<IP> -Dhttps.proxyPort=<端口>

结尾

上述方法也可以适用于所有其他的 Java 程序,你可以在启动参数中加入这些,例如安装 MinecraftForge 的时候可以用如下指令让其使用代理。

1
java "-Djava.net.useSystemProxies=true" -jar forge-1.16.5-36.2.6-installer.jar