From 46d018c0f21f07eccbab137bff11c3ceac3a4ef9 Mon Sep 17 00:00:00 2001 From: Adrian <68704415+4drian3d@users.noreply.github.com> Date: Sat, 20 Jan 2024 07:27:41 -0500 Subject: [PATCH] Pass the correct virtual host port during the handshake (#1205) --- .../connection/backend/VelocityServerConnection.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java index 8174fe7c5..cf1b889cf 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java @@ -176,9 +176,9 @@ public class VelocityServerConnection implements MinecraftConnectionAssociation, // Initiate the handshake. ProtocolVersion protocolVersion = proxyPlayer.getConnection().getProtocolVersion(); - String playerVhost = - proxyPlayer.getVirtualHost().orElseGet(() -> registeredServer.getServerInfo().getAddress()) - .getHostString(); + String playerVhost = proxyPlayer.getVirtualHost() + .orElseGet(() -> registeredServer.getServerInfo().getAddress()) + .getHostString(); HandshakePacket handshake = new HandshakePacket(); handshake.setNextStatus(StateRegistry.LOGIN_ID); @@ -197,7 +197,9 @@ public class VelocityServerConnection implements MinecraftConnectionAssociation, handshake.setServerAddress(playerVhost); } - handshake.setPort(registeredServer.getServerInfo().getAddress().getPort()); + handshake.setPort(proxyPlayer.getVirtualHost() + .orElseGet(() -> registeredServer.getServerInfo().getAddress()) + .getPort()); mc.delayedWrite(handshake); mc.setProtocolVersion(protocolVersion);