3
0
Mirror von https://github.com/GeyserMC/Geyser.git synchronisiert 2024-12-25 15:50:14 +01:00

fix: Fix legacy ping passthough (#3601)

Dieser Commit ist enthalten in:
nils 2023-03-10 06:13:20 +01:00 committet von GitHub
Ursprung a5a4f5c3ea
Commit 2f23e5cb9c
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -79,7 +79,8 @@ public class GeyserLegacyPingPassthrough implements IGeyserPingPassthrough, Runn
try (Socket socket = new Socket()) {
String address = geyser.getConfig().getRemote().address();
int port = geyser.getConfig().getRemote().port();
socket.connect(new InetSocketAddress(address, port), 5000);
InetSocketAddress endpoint = new InetSocketAddress(address, port);
socket.connect(endpoint, 5000);
ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream();
try (DataOutputStream handshake = new DataOutputStream(byteArrayStream)) {
@ -103,7 +104,8 @@ public class GeyserLegacyPingPassthrough implements IGeyserPingPassthrough, Runn
HAProxyProxiedProtocol.TCP4.byteValue() : HAProxyProxiedProtocol.TCP6.byteValue());
byte[] srcAddrBytes = NetUtil.createByteArrayFromIpAddressString(
((InetSocketAddress) socket.getLocalSocketAddress()).getAddress().getHostAddress());
byte[] dstAddrBytes = NetUtil.createByteArrayFromIpAddressString(address);
byte[] dstAddrBytes = NetUtil.createByteArrayFromIpAddressString(
endpoint.getAddress().getHostAddress());
dataOutputStream.writeShort(srcAddrBytes.length + dstAddrBytes.length + 4);
dataOutputStream.write(srcAddrBytes);
dataOutputStream.write(dstAddrBytes);