The bug
As of snapshot 13w41b, Minecraft ignores the following JVM proxy parameters:
-DsocksProxyHost=* -DsocksProxyPort=*
How to reproduce
I assume the server list is not empty and the port 5678 is not used
Create a new profile
Choose 1.6.4 version and add the following JVM arguments:
-DsocksProxyHost=localhost -DsocksProxyPort=5678
Play and look at the server list
→ ✔ There are communication errors (i.e. the proxy is used)Quit
Edit the profile, choose the version 1.7.2 and save
Play and look at the server list
→ ❌ No communication error (i.e. the proxy is not used)
Linked issues
is duplicated by 3
Comments 28
Same Issue Win 8.1 x64. Minecraft 1.7.4. Java 7 u45 x64.
Socks proxy settings are simply ignored...
My connection slows down every connection out of port 80, 21, 22 etc etc.
So a minecraft server is pretty much unplayable (Ping is ~1000, data loss 60%) untill i use a proxy trough a ssh tunnel with my vps.
But if i shut down the proxy i can't even log in servers, i got auth failure error.
Oh, another Wyatt! 😃
...anyway, PLEASE CONFIRM this bug. I can no longer SSH tunnel my minecraft client. More specifically it works to connect to the server hosted on the network local to the host I SSH into, but not any on external networks.
also, I have this problem with multiple OSes: I have tried this in Linux Mint 14 (based on Ubuntu 12.04) with 64-bit java 7, Mac OSX Snow Leopard (10.6.8) with both OpenJDK 7 and Apple's Java 6, in both 32-bit and 64-bit modes, Windows 8.0 32-bit, Windows 7 64-bit, Ubuntu 13.04 64-bit, and Linux Mint 16 64-bit (based on Ubuntu 13.04).
PLEASE, confirm this bug. I attempted the same thing with a 1.6.4 server last week, with multiple OSes, and all worked perfectly. 1.7 has broken this.
edit I have tried both a normal proxy and SSH tunnels. These are both broken. Please fix this!!!
To follow up, here's the arguments I used and the errors displayed:
-Xmx1G -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080 -DhttpProxyHost=127.0.0.1 -DhttpProxyPort=8080 -DhttpsProxyHost=127.0.0.1 -DhttpsProxyPort=8080
log:
[11:26:03 INFO]: Client> [11:26:03] [Server Connector #1/ERROR]: Couldn't connect to server
[11:26:03 INFO]: Client> java.net.ConnectException: Connection timed out: no further information: p.nerd.nu/198.24.131.140:25565
[11:26:03 INFO]: Client> at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.7.0_45]
[11:26:03 INFO]: Client> at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source) ~[?:1.7.0_45]
[11:26:03 INFO]: Client> at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:191) ~[NioSocketChannel.class:?]
[11:26:03 INFO]: Client> at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:228) ~[AbstractNioChannel$AbstractNioUnsafe.class:?]
[11:26:03 INFO]: Client> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:497) ~[NioEventLoop.class:?]
[11:26:03 INFO]: Client> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) ~[NioEventLoop.class:?]
[11:26:03 INFO]: Client> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) ~[NioEventLoop.class:?]
[11:26:03 INFO]: Client> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) ~[SingleThreadEventExecutor$2.class:?]
[11:26:03 INFO]: Client> at java.lang.Thread.run(Unknown Source) ~[?:1.7.0_45]
I can't believe on this day they haven't added a way to play through a proxy in an easy and reliable way. I work on weekends and I usually don't have anything to do and all I want to do is play a bit of minecraft but I can't because I have to connect with a proxy.
@Guido Use the suggestion found on this comment: https://bugs.mojang.com/browse/MC-38872?focusedCommentId=133654&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-133654
Hm, this issue is odd; MC itself actually supports a proxy argument (check net.minecraft.client.main.Main
; there are --proxyHost
, --proxyPort
, --proxyUser
, and --proxyPass
arguments) but the launcher doesn't use them. The code that handles those options is probably what disables the normal method of specifying a proxy. But that these are inaccessible is weird... (Note: you can specify JVM arguments in the launcher, but not arguments to be passed to the game; those are set in the version JSON).
I try to connect the a minecraft server 1.16.2 to a proxy using following java arguments -DsocksProxyHost=proixy.domain.lan -DsocksProxyPort=3128
on the proxy server the log file say : "error:transction-end-before-headers"
but it completely ignore the following java arguments :
-Djava.net.useSystemProxyes=true
-Dhttp.proxyHost= proixy.domain.lan
-Dhttp.proxyPort=3128
-Dhttps.proxyHost= proixy.domain.lan
-Dhttps.proxyPort=3128
it would be nice to have option in there server properties or as command option to set up set proxy
It is not a duplicate since the arguments "-DsocksProxyHost=localhost -DsocksProxyPort=5678" work until 13w39b.
Moreover, it is not a launcher issue since minecraft (the game) is run with the correct arguments.
The only thing that change is the Minecraft version.
And, I can reproduce the issue without the launcher using either --proxyPort --proxyHost or -DsocksProxyPort/Host :
Minecraft 1.7.2 does not take into account the proxy settings.
Plus 13w39b (and previous) uses -DsocksProxyHost/Port but ignores --proxyHost/Port.