diff --git a/src/main/java/com/loohp/limbo/file/ServerProperties.java b/src/main/java/com/loohp/limbo/file/ServerProperties.java index c80cddb..8f10271 100644 --- a/src/main/java/com/loohp/limbo/file/ServerProperties.java +++ b/src/main/java/com/loohp/limbo/file/ServerProperties.java @@ -59,6 +59,7 @@ public class ServerProperties { private GameMode defaultGamemode; private Location worldSpawn; private boolean reducedDebugInfo; + private boolean logPlayerIPAddresses; private boolean allowFlight; private boolean allowChat; private Component motd; @@ -123,6 +124,7 @@ public class ServerProperties { float pitch = Float.parseFloat(locStr[5]); worldSpawn = new Location(world, x, y, z, yaw, pitch); reducedDebugInfo = Boolean.parseBoolean(prop.getProperty("reduced-debug-info")); + logPlayerIPAddresses = Boolean.parseBoolean(prop.getProperty("log-player-ip-addresses")); allowFlight = Boolean.parseBoolean(prop.getProperty("allow-flight")); allowChat = Boolean.parseBoolean(prop.getProperty("allow-chat")); String motdJson = prop.getProperty("motd"); @@ -257,6 +259,10 @@ public class ServerProperties { return reducedDebugInfo; } + public boolean isLogPlayerIPAddresses() { + return logPlayerIPAddresses; + } + public boolean isAllowFlight() { return allowFlight; } diff --git a/src/main/java/com/loohp/limbo/network/ClientConnection.java b/src/main/java/com/loohp/limbo/network/ClientConnection.java index 3134e40..055540a 100644 --- a/src/main/java/com/loohp/limbo/network/ClientConnection.java +++ b/src/main/java/com/loohp/limbo/network/ClientConnection.java @@ -304,9 +304,14 @@ public class ClientConnection extends Thread { //legacy ping if (handShakeSize == 0xFE) { + ServerProperties properties = Limbo.getInstance().getServerProperties(); + state = ClientState.LEGACY; channel.output.writeByte(255); String str = inetAddress.getHostName() + ":" + clientSocket.getPort(); + if(!properties.isLogPlayerIPAddresses()) { + str = "" + ":" + clientSocket.getPort(); + } Limbo.getInstance().getConsole().sendMessage("[/" + str + "] <-> Legacy Status has pinged"); ServerProperties p = Limbo.getInstance().getServerProperties(); StatusPingEvent event = Limbo.getInstance().getEventsManager().callEvent(new StatusPingEvent(this, p.getVersionString(), p.getProtocol(), p.getMotd(), p.getMaxPlayers(), Limbo.getInstance().getPlayers().size(), p.getFavicon().orElse(null))); @@ -336,7 +341,12 @@ public class ClientConnection extends Thread { while (clientSocket.isConnected()) { PacketIn packetIn = channel.readPacket(); if (packetIn instanceof PacketStatusInRequest) { + ServerProperties properties = Limbo.getInstance().getServerProperties(); + String str = inetAddress.getHostName() + ":" + clientSocket.getPort(); + if(!properties.isLogPlayerIPAddresses()) { + str = "" + ":" + clientSocket.getPort(); + } if (Limbo.getInstance().getServerProperties().handshakeVerboseEnabled()) { Limbo.getInstance().getConsole().sendMessage("[/" + str + "] <-> Handshake Status has pinged"); } @@ -496,6 +506,9 @@ public class ClientConnection extends Thread { sendPacket(abilities); String str = inetAddress.getHostName() + ":" + clientSocket.getPort() + "|" + player.getName() + "(" + player.getUniqueId() + ")"; + if(!properties.isLogPlayerIPAddresses()) { + str = "" + ":" + clientSocket.getPort() + "|" + player.getName() + "(" + player.getUniqueId() + ")"; + } Limbo.getInstance().getConsole().sendMessage("[/" + str + "] <-> Player had connected to the Limbo server!"); player.playerInteractManager.update(); @@ -664,6 +677,10 @@ public class ClientConnection extends Thread { Limbo.getInstance().getEventsManager().callEvent(new PlayerQuitEvent(player)); str = inetAddress.getHostName() + ":" + clientSocket.getPort() + "|" + player.getName(); + if(!properties.isLogPlayerIPAddresses()) { + str = "" + ":" + clientSocket.getPort() + clientSocket.getPort() + "|" + player.getName(); + } + Limbo.getInstance().getConsole().sendMessage("[/" + str + "] <-> Player had disconnected!"); } diff --git a/src/main/resources/server.properties b/src/main/resources/server.properties index 00b36e7..a98d6ce 100644 --- a/src/main/resources/server.properties +++ b/src/main/resources/server.properties @@ -44,6 +44,10 @@ world-spawn=world;20.5;17;22.5;-90;0 #Reduce debug info reduced-debug-info=false +#Whether the IP addresseses of players should be logged +#If not enabled player IP addresses will be replaced by in logs +log-player-ip-addresses=true + #The view distance of the server view-distance=6