diff --git a/README.md b/README.md index 2bc12e1..c6cc45d 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ And use it in your pom file. com.imaginarycode.minecraft RedisBungee - 0.6.2 + 0.6.3 provided diff --git a/pom.xml b/pom.xml index 5260a22..4720440 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,8 @@ com.imaginarycode.minecraft RedisBungee - 0.6.2 + 0.6.3 + diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index 164b81d..c08db72 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -105,7 +105,7 @@ public final class RedisBungee extends Plugin { servers.add(entry.getKey()); else if (nag && nagTime <= 0) { getLogger().warning(entry.getKey() + " is " + (time - stamp) + " seconds behind! (Time not synchronized or server down?) and was removed from heartbeat."); - jedis.hdel("heartbeats", entry.getKey()); + jedis.hdel("heartbeats", entry.getKey()); } } catch (NumberFormatException ignored) { } @@ -415,13 +415,8 @@ 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; + String serverId = configuration.getString("server-id"); 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; @@ -429,7 +424,20 @@ public final class RedisBungee extends Plugin { // Configuration sanity checks. if (serverId == null || serverId.isEmpty()) { - throw new RuntimeException("server-id is not specified in the configuration or is empty"); + /* + * this check causes the config comments to disappear somehow + * I think due snake yaml limitations so as todo: write our own yaml parser? + */ + String genId = UUID.randomUUID().toString(); + getLogger().info("Generated server id " + genId + " and saving it to config."); + configuration.set("server-id", genId); + ConfigurationProvider.getProvider(YamlConfiguration.class).save(configuration, new File(getDataFolder(), "config.yml")); + } else { + getLogger().info("Loaded server id " + serverId + '.'); + } + + if (configuration.getBoolean("use-random-id-string", false)) { + serverId = configuration.getString("server-id") + "-" + randomUUID; } if (redisServer != null && !redisServer.isEmpty()) { diff --git a/src/main/resources/example_config.yml b/src/main/resources/example_config.yml index a4cb862..be0c1cd 100644 --- a/src/main/resources/example_config.yml +++ b/src/main/resources/example_config.yml @@ -16,11 +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" +# An identifier for this BungeeCord instance. Will randomly generate if leaving it blank. +server-id: "test1" +# Should use random string? if this is enabled the proxy id will be like this if server-id is test1: "test1-66cd2aeb-91f3-43a7-a106-e0307b098652" +# or if id is limework-bungee it will be "limework-bungee-66cd2aeb-91f3-43a7-a106-e0307b098652" # this great for servers who run replicas in Kubernetes or any auto deploying replica service +# and used for if proxy died in a kubernetes network and deleted then new proxy setup itself. use-random-id-string: false # Whether or not RedisBungee should install its version of regular BungeeCord commands. diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index b7f5976..27b3ff5 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: ${project.name} main: com.imaginarycode.minecraft.redisbungee.RedisBungee version: ${project.version} -author: Chunker and Govindas limework +author: Chunkr and Govindas limework authors: - chunkr - Govindas Limework