mirror of
https://github.com/proxiodev/RedisBungee.git
synced 2024-11-22 20:28:00 +00:00
Persistent random server id generation (#5)
* Allow random server id * Assign and save random server id * Add logging for server id * Remove unused * Update notes * updated readme * fixed bug from last update * updated config * fixed typo of in one of the authors name Co-authored-by: mohammed jasem alaajel <34905970+ham1255@users.noreply.github.com>
This commit is contained in:
parent
56042af4eb
commit
373e1c16d4
@ -26,7 +26,7 @@ And use it in your pom file.
|
||||
<dependency>
|
||||
<groupId>com.imaginarycode.minecraft</groupId>
|
||||
<artifactId>RedisBungee</artifactId>
|
||||
<version>0.6.2</version>
|
||||
<version>0.6.3</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
3
pom.xml
3
pom.xml
@ -6,7 +6,8 @@
|
||||
|
||||
<groupId>com.imaginarycode.minecraft</groupId>
|
||||
<artifactId>RedisBungee</artifactId>
|
||||
<version>0.6.2</version>
|
||||
<version>0.6.3</version>
|
||||
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
|
@ -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()) {
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user