From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Aikar <aikar@aikar.co> Date: Sat, 16 Apr 2016 00:39:33 -0400 Subject: [PATCH] Configurable RCON IP address For servers with multiple IP's, ability to bind to a specific interface. diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java index ad1e3508a736504399b525a6ea322d3292b870b7..0c3ec8357039035e63fe9e97ea5ceb952330ef6e 100644 --- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java @@ -54,6 +54,8 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr public final PropertyManager<DedicatedServerProperties>.EditableProperty<Integer> playerIdleTimeout; public final PropertyManager<DedicatedServerProperties>.EditableProperty<Boolean> whiteList; + public final String rconIp; // Paper - Add rcon ip + // CraftBukkit start public DedicatedServerProperties(Properties properties, OptionSet optionset) { super(properties, optionset); @@ -100,6 +102,10 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr }, 29999984); this.playerIdleTimeout = this.b("player-idle-timeout", 0); this.whiteList = this.b("white-list", false); + // Paper start - Configurable rcon ip + final String rconIp = this.getSettingIfExists("rcon.ip"); + this.rconIp = rconIp == null ? this.serverIp : rconIp; + // Paper end } // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/PropertyManager.java b/src/main/java/net/minecraft/server/PropertyManager.java index d7e81a6d99fcbf1d71f8c1f42b5138244000f584..729455ce53944a9afaaa3e30052ab44f2a87cad9 100644 --- a/src/main/java/net/minecraft/server/PropertyManager.java +++ b/src/main/java/net/minecraft/server/PropertyManager.java @@ -127,8 +127,8 @@ public abstract class PropertyManager<T extends PropertyManager<T>> { }; } - @Nullable - private String c(String s) { + @Nullable String getSettingIfExists(final String path) { return this.c(path); } // Paper - OBFHELPER + @Nullable private String c(String s) { // Paper - OBFHELPER return (String) getOverride(s, this.properties.getProperty(s)); // CraftBukkit } diff --git a/src/main/java/net/minecraft/server/RemoteControlListener.java b/src/main/java/net/minecraft/server/RemoteControlListener.java index e48d6dcd749aa26e55ae3c02bfca172e97a205de..2ce490be00409c0bc96f8ad92ada4f6dcca50a8a 100644 --- a/src/main/java/net/minecraft/server/RemoteControlListener.java +++ b/src/main/java/net/minecraft/server/RemoteControlListener.java @@ -25,7 +25,7 @@ public class RemoteControlListener extends RemoteConnectionThread { this.h = dedicatedserverproperties.rconPort; this.k = dedicatedserverproperties.rconPassword; - this.i = iminecraftserver.e_(); + this.i = dedicatedserverproperties.rconIp; // Paper - Configurable rcon ip if (this.i.isEmpty()) { this.i = "0.0.0.0"; }