From dd1f602e53ea973adb4997316b88220528300738 Mon Sep 17 00:00:00 2001 From: RaphiMC <50594595+RaphiMC@users.noreply.github.com> Date: Sat, 4 Nov 2023 17:05:54 +0100 Subject: [PATCH] Improved handshake address rewriting --- .../raphimc/viaproxy/cli/options/Options.java | 3 --- .../client2proxy/Client2ProxyHandler.java | 20 +------------------ 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/src/main/java/net/raphimc/viaproxy/cli/options/Options.java b/src/main/java/net/raphimc/viaproxy/cli/options/Options.java index 6b0c6b1..a07d5d3 100644 --- a/src/main/java/net/raphimc/viaproxy/cli/options/Options.java +++ b/src/main/java/net/raphimc/viaproxy/cli/options/Options.java @@ -62,7 +62,6 @@ public class Options { public static String RESOURCE_PACK_URL; // Example: http://example.com/resourcepack.zip public static boolean SERVER_HAPROXY_PROTOCOL; public static boolean LEGACY_CLIENT_PASSTHROUGH; - public static boolean PLAYER_INFO_FORWARDING; public static void parse(final String[] args) throws IOException { final OptionParser parser = new OptionParser(); @@ -84,7 +83,6 @@ public class Options { final OptionSpec proxyUrl = parser.acceptsAll(asList("proxy_url", "proxy"), "URL of a SOCKS(4/5)/HTTP(S) proxy which will be used for backend TCP connections").withRequiredArg().ofType(String.class); final OptionSpec serverHaProxyProtocol = parser.acceptsAll(asList("server-haproxy-protocol", "server-haproxy"), "Send HAProxy protocol messages to the backend server"); final OptionSpec legacyClientPassthrough = parser.acceptsAll(asList("legacy_client_passthrough", "legacy_passthrough"), "Allow <= 1.6.4 clients to connect to the backend server (No protocol translation)"); - final OptionSpec playerInfoForwarding = parser.acceptsAll(asList("player_info_forwarding", "pif"), "Enabled BungeeCord player info forwarding"); final OptionSpec ignorePacketTranslationErrors = parser.acceptsAll(List.of("ignore-packet-translation-errors"), "Enabling this will prevent getting disconnected from the server when a packet translation error occurs and instead only print the error in the console. This may cause issues depending on the type of packet which failed to translate"); ViaProxy.EVENT_MANAGER.call(new PreOptionsParseEvent(parser)); @@ -147,7 +145,6 @@ public class Options { } SERVER_HAPROXY_PROTOCOL = options.has(serverHaProxyProtocol); LEGACY_CLIENT_PASSTHROUGH = options.has(legacyClientPassthrough); - PLAYER_INFO_FORWARDING = options.has(playerInfoForwarding); IGNORE_PACKET_TRANSLATION_ERRORS = options.has(ignorePacketTranslationErrors); ViaProxy.EVENT_MANAGER.call(new PostOptionsParseEvent(options)); } catch (OptionException e) { diff --git a/src/main/java/net/raphimc/viaproxy/proxy/client2proxy/Client2ProxyHandler.java b/src/main/java/net/raphimc/viaproxy/proxy/client2proxy/Client2ProxyHandler.java index ceb8f5e..0be0971 100644 --- a/src/main/java/net/raphimc/viaproxy/proxy/client2proxy/Client2ProxyHandler.java +++ b/src/main/java/net/raphimc/viaproxy/proxy/client2proxy/Client2ProxyHandler.java @@ -114,25 +114,7 @@ public class Client2ProxyHandler extends SimpleChannelInboundHandler { this.proxyConnection.kickClient("§cYour client version is not supported by ViaProxy!"); } - final String[] handshakeParts; - if (Options.PLAYER_INFO_FORWARDING) { - handshakeParts = new String[3]; - final String[] receivedParts = packet.address.split("\0"); - for (int i = 0; i < receivedParts.length && i < handshakeParts.length; i++) { - handshakeParts[i] = receivedParts[i]; - } - if (handshakeParts[0] == null) { - this.proxyConnection.kickClient("§cMissing hostname in handshake. Ensure that your proxy has player info forwarding enabled."); - } - if (handshakeParts[1] == null) { - this.proxyConnection.kickClient("§cMissing player IP in handshake. Ensure that your proxy has player info forwarding enabled."); - } - if (handshakeParts[2] == null) { - this.proxyConnection.kickClient("§cMissing player UUID in handshake. Ensure that your proxy has player info forwarding enabled."); - } - } else { - handshakeParts = new String[]{packet.address}; - } + final String[] handshakeParts = packet.address.split("\0"); String connectIP = Options.CONNECT_ADDRESS; int connectPort = Options.CONNECT_PORT;