From 0e2fed5cced5e696932cf36ca6843395510b3a73 Mon Sep 17 00:00:00 2001 From: William Date: Sun, 19 Dec 2021 20:22:32 +0000 Subject: [PATCH 1/5] Use .equals() to compare UUIDs during data updating --- .../java/me/william278/husksync/proxy/data/DataManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/me/william278/husksync/proxy/data/DataManager.java b/common/src/main/java/me/william278/husksync/proxy/data/DataManager.java index 9e3c73e6..c271b7d1 100644 --- a/common/src/main/java/me/william278/husksync/proxy/data/DataManager.java +++ b/common/src/main/java/me/william278/husksync/proxy/data/DataManager.java @@ -341,8 +341,9 @@ public class DataManager { // Remove the old data if it exists PlayerData oldData = null; for (PlayerData data : playerData) { - if (data.getPlayerUUID() == newData.getPlayerUUID()) { + if (data.getPlayerUUID().equals(newData.getPlayerUUID())) { oldData = data; + break; } } if (oldData != null) { @@ -361,7 +362,7 @@ public class DataManager { */ public PlayerData getPlayer(UUID playerUUID) { for (PlayerData data : playerData) { - if (data.getPlayerUUID() == playerUUID) { + if (data.getPlayerUUID().equals(playerUUID)) { return data; } } From 911bdbc40018e60c290f4da3c66e9c3fe7462b04 Mon Sep 17 00:00:00 2001 From: William Date: Thu, 23 Dec 2021 13:35:13 +0000 Subject: [PATCH 2/5] Fix #12, bump to 1.2.1 --- build.gradle | 2 +- bukkit/build.gradle | 2 +- bungeecord/build.gradle | 2 +- .../main/java/me/william278/husksync/HuskSyncBungeeCord.java | 2 +- common/build.gradle | 2 +- .../java/me/william278/husksync/proxy/data/sql/MySQL.java | 3 +++ velocity/build.gradle | 2 +- .../main/java/me/william278/husksync/HuskSyncVelocity.java | 4 ++-- 8 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 5e00032e..ba011d4d 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ plugins { allprojects { group 'me.William278' - version '1.2' + version '1.2.1' compileJava { options.encoding = 'UTF-8' } tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } diff --git a/bukkit/build.gradle b/bukkit/build.gradle index b6858d4c..a751be0e 100644 --- a/bukkit/build.gradle +++ b/bukkit/build.gradle @@ -3,7 +3,7 @@ dependencies { compileOnly project(':api') implementation project(path: ':common', configuration: 'shadow') - compileOnly 'redis.clients:jedis:3.7.0' + compileOnly 'redis.clients:jedis:4.0.0' implementation 'org.bstats:bstats-bukkit:2.2.1' implementation 'de.themoep:minedown:1.7.1-SNAPSHOT' diff --git a/bungeecord/build.gradle b/bungeecord/build.gradle index 5c0fba77..71ad3f46 100644 --- a/bungeecord/build.gradle +++ b/bungeecord/build.gradle @@ -2,7 +2,7 @@ dependencies { compileOnly project(':common') implementation project(path: ':common', configuration: 'shadow') - compileOnly 'redis.clients:jedis:3.7.0' + compileOnly 'redis.clients:jedis:4.0.0' implementation 'org.bstats:bstats-bungeecord:2.2.1' implementation 'de.themoep:minedown:1.7.1-SNAPSHOT' implementation 'net.byteflux:libby-bungee:1.1.5' diff --git a/bungeecord/src/main/java/me/william278/husksync/HuskSyncBungeeCord.java b/bungeecord/src/main/java/me/william278/husksync/HuskSyncBungeeCord.java index c4edc58f..083c8b55 100644 --- a/bungeecord/src/main/java/me/william278/husksync/HuskSyncBungeeCord.java +++ b/bungeecord/src/main/java/me/william278/husksync/HuskSyncBungeeCord.java @@ -156,7 +156,7 @@ public final class HuskSyncBungeeCord extends Plugin { Library mySqlLib = Library.builder() .groupId("mysql") .artifactId("mysql-connector-java") - .version("8.0.25") + .version("8.0.27") .build(); Library sqLiteLib = Library.builder() diff --git a/common/build.gradle b/common/build.gradle index 7f529c67..26bb3ae8 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,5 +1,5 @@ dependencies { - implementation 'redis.clients:jedis:3.7.0' + implementation 'redis.clients:jedis:4.0.0' implementation 'com.zaxxer:HikariCP:5.0.0' } diff --git a/common/src/main/java/me/william278/husksync/proxy/data/sql/MySQL.java b/common/src/main/java/me/william278/husksync/proxy/data/sql/MySQL.java index f5b8530d..e010d5f8 100644 --- a/common/src/main/java/me/william278/husksync/proxy/data/sql/MySQL.java +++ b/common/src/main/java/me/william278/husksync/proxy/data/sql/MySQL.java @@ -77,6 +77,9 @@ public class MySQL extends Database { dataSource.setUsername(username); dataSource.setPassword(password); + // Set data source driver path + dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); + // Set various additional parameters dataSource.setMaximumPoolSize(hikariMaximumPoolSize); dataSource.setMinimumIdle(hikariMinimumIdle); diff --git a/velocity/build.gradle b/velocity/build.gradle index aac5cba7..8b545f44 100644 --- a/velocity/build.gradle +++ b/velocity/build.gradle @@ -2,7 +2,7 @@ dependencies { compileOnly project(':common') implementation project(path: ':common', configuration: 'shadow') - compileOnly 'redis.clients:jedis:3.7.0' + compileOnly 'redis.clients:jedis:4.0.0' implementation 'org.bstats:bstats-velocity:2.2.1' implementation 'de.themoep:minedown-adventure:1.7.1-SNAPSHOT' implementation 'net.byteflux:libby-velocity:1.1.5' diff --git a/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java b/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java index c8586ec3..5ff73d4b 100644 --- a/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java +++ b/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java @@ -43,7 +43,7 @@ import static me.william278.husksync.HuskSyncVelocity.VERSION; public class HuskSyncVelocity { // Plugin version - public static final String VERSION = "1.2"; + public static final String VERSION = "1.2.1"; // Velocity bStats ID (different from Bukkit and BungeeCord) private static final int METRICS_ID = 13489; @@ -208,7 +208,7 @@ public class HuskSyncVelocity { Library mySqlLib = Library.builder() .groupId("mysql") .artifactId("mysql-connector-java") - .version("8.0.25") + .version("8.0.27") .build(); Library sqLiteLib = Library.builder() From 8241d64d115a1c916ef9bdbdafa56ed4b1081ea1 Mon Sep 17 00:00:00 2001 From: William Date: Thu, 23 Dec 2021 23:08:35 +0000 Subject: [PATCH 3/5] Authenticate redis after establishing connection --- .../william278/husksync/redis/RedisListener.java | 15 +++++++++------ .../william278/husksync/redis/RedisMessage.java | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/me/william278/husksync/redis/RedisListener.java b/common/src/main/java/me/william278/husksync/redis/RedisListener.java index 547e20f5..c5fb29f1 100644 --- a/common/src/main/java/me/william278/husksync/redis/RedisListener.java +++ b/common/src/main/java/me/william278/husksync/redis/RedisListener.java @@ -2,6 +2,7 @@ package me.william278.husksync.redis; import me.william278.husksync.Settings; import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisClientConfig; import redis.clients.jedis.JedisPubSub; import redis.clients.jedis.exceptions.JedisException; @@ -17,13 +18,15 @@ public abstract class RedisListener { /** * Handle an incoming {@link RedisMessage} + * * @param message The {@link RedisMessage} to handle */ public abstract void handleMessage(RedisMessage message); /** * Log to console - * @param level The {@link Level} to log + * + * @param level The {@link Level} to log * @param message Message to log */ public abstract void log(Level level, String message); @@ -32,15 +35,15 @@ public abstract class RedisListener { * Start the Redis listener */ public final void listen() { - try(Jedis jedis = new Jedis(Settings.redisHost, Settings.redisPort)) { + try (Jedis jedis = new Jedis(Settings.redisHost, Settings.redisPort)) { final String jedisPassword = Settings.redisPassword; - if (!jedisPassword.equals("")) { - jedis.auth(jedisPassword); - } jedis.connect(); if (jedis.isConnected()) { + if (!jedisPassword.equals("")) { + jedis.auth(jedisPassword); + } isActiveAndEnabled = true; - log(Level.INFO,"Enabled Redis listener successfully!"); + log(Level.INFO, "Enabled Redis listener successfully!"); new Thread(() -> jedis.subscribe(new JedisPubSub() { @Override public void onMessage(String channel, String message) { diff --git a/common/src/main/java/me/william278/husksync/redis/RedisMessage.java b/common/src/main/java/me/william278/husksync/redis/RedisMessage.java index 4383300c..1200aae3 100644 --- a/common/src/main/java/me/william278/husksync/redis/RedisMessage.java +++ b/common/src/main/java/me/william278/husksync/redis/RedisMessage.java @@ -63,10 +63,10 @@ public class RedisMessage { public void send() throws IOException { try (Jedis publisher = new Jedis(Settings.redisHost, Settings.redisPort)) { final String jedisPassword = Settings.redisPassword; + publisher.connect(); if (!jedisPassword.equals("")) { publisher.auth(jedisPassword); } - publisher.connect(); publisher.publish(REDIS_CHANNEL, getFullMessage()); } } From fadd67ba5c76142173d516fb89e7ce1e0fb43264 Mon Sep 17 00:00:00 2001 From: William Date: Thu, 23 Dec 2021 23:09:09 +0000 Subject: [PATCH 4/5] Bump to 1.2.2 --- build.gradle | 2 +- .../src/main/java/me/william278/husksync/HuskSyncVelocity.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index ba011d4d..a867b8c3 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ plugins { allprojects { group 'me.William278' - version '1.2.1' + version '1.2.2' compileJava { options.encoding = 'UTF-8' } tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } diff --git a/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java b/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java index 5ff73d4b..6e9cc07c 100644 --- a/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java +++ b/velocity/src/main/java/me/william278/husksync/HuskSyncVelocity.java @@ -43,7 +43,7 @@ import static me.william278.husksync.HuskSyncVelocity.VERSION; public class HuskSyncVelocity { // Plugin version - public static final String VERSION = "1.2.1"; + public static final String VERSION = "1.2.2"; // Velocity bStats ID (different from Bukkit and BungeeCord) private static final int METRICS_ID = 13489; From 1eac1cf28342f70b19a35e021d9392bb8a7f7bd0 Mon Sep 17 00:00:00 2001 From: William Date: Thu, 23 Dec 2021 23:40:49 +0000 Subject: [PATCH 5/5] Downgrade redis to 3.7.1 --- bukkit/build.gradle | 2 +- bungeecord/build.gradle | 2 +- common/build.gradle | 2 +- velocity/build.gradle | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bukkit/build.gradle b/bukkit/build.gradle index a751be0e..1393d035 100644 --- a/bukkit/build.gradle +++ b/bukkit/build.gradle @@ -3,7 +3,7 @@ dependencies { compileOnly project(':api') implementation project(path: ':common', configuration: 'shadow') - compileOnly 'redis.clients:jedis:4.0.0' + compileOnly 'redis.clients:jedis:3.7.1' implementation 'org.bstats:bstats-bukkit:2.2.1' implementation 'de.themoep:minedown:1.7.1-SNAPSHOT' diff --git a/bungeecord/build.gradle b/bungeecord/build.gradle index 71ad3f46..313538cb 100644 --- a/bungeecord/build.gradle +++ b/bungeecord/build.gradle @@ -2,7 +2,7 @@ dependencies { compileOnly project(':common') implementation project(path: ':common', configuration: 'shadow') - compileOnly 'redis.clients:jedis:4.0.0' + compileOnly 'redis.clients:jedis:3.7.1' implementation 'org.bstats:bstats-bungeecord:2.2.1' implementation 'de.themoep:minedown:1.7.1-SNAPSHOT' implementation 'net.byteflux:libby-bungee:1.1.5' diff --git a/common/build.gradle b/common/build.gradle index 26bb3ae8..7a93181d 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,5 +1,5 @@ dependencies { - implementation 'redis.clients:jedis:4.0.0' + implementation 'redis.clients:jedis:3.7.1' implementation 'com.zaxxer:HikariCP:5.0.0' } diff --git a/velocity/build.gradle b/velocity/build.gradle index 8b545f44..06666d8d 100644 --- a/velocity/build.gradle +++ b/velocity/build.gradle @@ -2,7 +2,7 @@ dependencies { compileOnly project(':common') implementation project(path: ':common', configuration: 'shadow') - compileOnly 'redis.clients:jedis:4.0.0' + compileOnly 'redis.clients:jedis:3.7.1' implementation 'org.bstats:bstats-velocity:2.2.1' implementation 'de.themoep:minedown-adventure:1.7.1-SNAPSHOT' implementation 'net.byteflux:libby-velocity:1.1.5'