From 4b33026a5f9270ce337ceebcbd606850d32efcb7 Mon Sep 17 00:00:00 2001 From: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com> Date: Sat, 24 Jun 2023 09:10:46 +0300 Subject: [PATCH] Add support for netty based socket addresses to fabric Affects issues: - Possibly fixed #3065 --- .../plan/gathering/domain/FabricPlayerData.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/domain/FabricPlayerData.java b/Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/domain/FabricPlayerData.java index 4f57e047b0..616a147e33 100644 --- a/Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/domain/FabricPlayerData.java +++ b/Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/domain/FabricPlayerData.java @@ -17,6 +17,8 @@ package net.playeranalytics.plan.gathering.domain; import com.djrapitops.plan.gathering.domain.PlatformPlayerData; +import io.netty.channel.local.LocalAddress; +import io.netty.channel.unix.DomainSocketAddress; import net.minecraft.server.dedicated.MinecraftDedicatedServer; import net.minecraft.server.network.ServerPlayerEntity; @@ -76,9 +78,11 @@ private Optional getIPFromSocketAddress() { SocketAddress socketAddress = player.networkHandler.getConnectionAddress(); if (socketAddress instanceof InetSocketAddress inetSocketAddress) { return Optional.of(inetSocketAddress.getAddress()); - } else if (socketAddress instanceof UnixDomainSocketAddress) { + } else if (socketAddress instanceof UnixDomainSocketAddress || socketAddress instanceof LocalAddress) { // These connections come from the same physical machine return Optional.of(InetAddress.getLocalHost()); + } else if (socketAddress instanceof DomainSocketAddress domainSocketAddress) { + return Optional.of(InetAddress.getByName(domainSocketAddress.path())); } } catch (NoSuchMethodError | UnknownHostException e) { // Ignored