diff --git a/pom.xml b/pom.xml
index 6d11a7e..5260a22 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.imaginarycode.minecraft
RedisBungee
- 0.6.1
+ 0.6.2
diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
index 4b217e4..164b81d 100644
--- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
+++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
@@ -415,7 +415,13 @@ public final class RedisBungee extends Plugin {
final int redisPort = configuration.getInt("redis-port", 6379);
final boolean useSSL = configuration.getBoolean("useSSL");
String redisPassword = configuration.getString("redis-password");
- String serverId = configuration.getString("server-id");
+ String serverId;
+ final String randomUUID = UUID.randomUUID().toString();
+ if (configuration.getBoolean("use-random-id-string", false)) {
+ serverId = configuration.getString("server-id") + "-" + randomUUID;
+ } else {
+ serverId = configuration.getString("server-id");
+ }
if (redisPassword != null && (redisPassword.isEmpty() || redisPassword.equals("none"))) {
redisPassword = null;
@@ -475,7 +481,7 @@ public final class RedisBungee extends Plugin {
httpClient.setDispatcher(dispatcher);
NameFetcher.setHttpClient(httpClient);
UUIDFetcher.setHttpClient(httpClient);
- RedisBungee.configuration = new RedisBungeeConfiguration(RedisBungee.this.getPool(), configuration);
+ RedisBungee.configuration = new RedisBungeeConfiguration(RedisBungee.this.getPool(), configuration, randomUUID);
return null;
}
});
diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeConfiguration.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeConfiguration.java
index 8555133..d5b68b1 100644
--- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeConfiguration.java
+++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeConfiguration.java
@@ -8,6 +8,7 @@ import redis.clients.jedis.JedisPool;
import java.net.InetAddress;
import java.util.List;
+import java.util.UUID;
public class RedisBungeeConfiguration {
@Getter
@@ -19,9 +20,15 @@ public class RedisBungeeConfiguration {
@Getter
private final List exemptAddresses;
- public RedisBungeeConfiguration(JedisPool pool, Configuration configuration) {
+
+ public RedisBungeeConfiguration(JedisPool pool, Configuration configuration, String randomUUID) {
this.pool = pool;
- this.serverId = configuration.getString("server-id");
+ if (configuration.getBoolean("use-random-id-string", false)) {
+ this.serverId = configuration.getString("server-id") + "-" + randomUUID;
+ } else {
+ this.serverId = configuration.getString("server-id");
+ }
+
this.registerBungeeCommands = configuration.getBoolean("register-bungee-commands", true);
List stringified = configuration.getStringList("exempt-ip-addresses");
@@ -33,4 +40,5 @@ public class RedisBungeeConfiguration {
this.exemptAddresses = addressBuilder.build();
}
+
}
diff --git a/src/main/resources/example_config.yml b/src/main/resources/example_config.yml
index b581a49..a4cb862 100644
--- a/src/main/resources/example_config.yml
+++ b/src/main/resources/example_config.yml
@@ -16,8 +16,12 @@ max-redis-connections: 8
# you must disable this if redis version is under 6 you must disable this or connection wont work!!!
useSSL: false
+
# An identifier for this BungeeCord instance.
server-id: test1
+# Should use random string? if enabled proxy id will be like this "test1-66cd2aeb-91f3-43a7-a106-e0307b098652"
+# this great for servers who run replicas in Kubernetes or any auto deploying replica service
+use-random-id-string: false
# Whether or not RedisBungee should install its version of regular BungeeCord commands.
# Often, the RedisBungee commands are desired, but in some cases someone may wish to