From ff7fc3cfd40c91a22308b2852a9b41b2cf2c1ff3 Mon Sep 17 00:00:00 2001 From: Troy Frew Date: Wed, 29 Jun 2016 13:56:57 -0500 Subject: [PATCH] Configurable server version in ping response diff --git a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java index f04e2bf4..a4436141 100644 --- a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java +++ b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java @@ -168,6 +168,11 @@ public interface ProxyConfig */ boolean isLogServerListPing(); + /** + * The supported versions + */ + String getGameVersion(); + // Throttling options /** diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java index 68f25460..59835815 100644 --- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java +++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java @@ -4,8 +4,11 @@ import lombok.*; import java.io.File; +import com.google.common.base.Joiner; + import net.md_5.bungee.conf.Configuration; import net.md_5.bungee.conf.YamlConfig; +import net.md_5.bungee.protocol.ProtocolConstants; public class WaterfallConfiguration extends Configuration { @@ -23,6 +26,13 @@ public class WaterfallConfiguration extends Configuration { */ private boolean logServerListPing = false; + /** + * The supported versions displayed to the client + *

Default is a comma seperated list of supported versions. For example 1.8.x, 1.9.x, 1.10.x

+ */ + @Getter + private String gameVersion; + /* * Throttling options * Helps prevent players from overloading the servers behind us @@ -45,6 +55,7 @@ public class WaterfallConfiguration extends Configuration { logServerListPing = config.getBoolean( "log_server_list_ping", logServerListPing ); // Throttling options tabThrottle = config.getInt("throttling.tab_complete", tabThrottle); + gameVersion = config.getString("game_version", "").isEmpty() ? Joiner.on(", ").join(ProtocolConstants.SUPPORTED_VERSIONS) : config.getString("game_version", ""); } @Override diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index f14821b4..064a7672 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -637,7 +637,7 @@ public class BungeeCord extends ProxyServer @Override public String getGameVersion() { - return ProtocolConstants.SUPPORTED_VERSIONS.get( 0 ) + "-" + ProtocolConstants.SUPPORTED_VERSIONS.get( ProtocolConstants.SUPPORTED_VERSIONS.size() - 1 ); + return getConfig().getGameVersion(); // Waterfall } @Override -- 2.16.1