Merge pull request #49 from SlenkyDev/master

Added the option to hide IP addresses in logs
This commit is contained in:
LOOHP 2022-08-08 00:31:37 +08:00 committed by GitHub
commit cfbd9951af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 0 deletions

View File

@ -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;
}

View File

@ -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 = "<ip address withheld>" + ":" + 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 = "<ip address withheld>" + ":" + 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 = "<ip address withheld>" + ":" + 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 = "<ip address withheld>" + ":" + clientSocket.getPort() + clientSocket.getPort() + "|" + player.getName();
}
Limbo.getInstance().getConsole().sendMessage("[/" + str + "] <-> Player had disconnected!");
}

View File

@ -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 <ip address withheld> in logs
log-player-ip-addresses=true
#The view distance of the server
view-distance=6