From 2e8342f5c34e363b035e0b9be5da9c45539ddec3 Mon Sep 17 00:00:00 2001 From: mohammed jasem alaajel Date: Tue, 19 Jul 2022 07:19:32 +0400 Subject: [PATCH] serverToPlayers was getting injected with null values as a server --- .../redisbungee/RedisBungeeBungeePlugin.java | 21 ++++++++++++------- .../RedisBungeeVelocityPlugin.java | 12 +++++++++-- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java index 7a7aee6..faffa43 100644 --- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java +++ b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java @@ -210,11 +210,14 @@ public class RedisBungeeBungeePlugin extends Plugin implements RedisBungeePlugin @Override public Multimap jedisTask(Jedis jedis) { ImmutableMultimap.Builder builder = ImmutableMultimap.builder(); - for (String proxyId : getProxiesIds()) { - Set players = jedis.smembers("proxy:" + proxyId + ":usersOnline"); + for (String serverId : getProxiesIds()) { + Set players = jedis.smembers("proxy:" + serverId + ":usersOnline"); for (String player : players) { - - builder.put(jedis.hget("player:" + player, "server"), UUID.fromString(player)); + String playerServer = jedis.hget("player:" + player, "server"); + if (playerServer == null) { + continue; + } + builder.put(playerServer, UUID.fromString(player)); } } return builder.build(); @@ -223,10 +226,14 @@ public class RedisBungeeBungeePlugin extends Plugin implements RedisBungeePlugin @Override public Multimap clusterJedisTask(JedisCluster jedisCluster) { ImmutableMultimap.Builder builder = ImmutableMultimap.builder(); - for (String proxyId : getProxiesIds()) { - Set players = jedisCluster.smembers("proxy:" + proxyId + ":usersOnline"); + for (String serverId : getProxiesIds()) { + Set players = jedisCluster.smembers("proxy:" + serverId + ":usersOnline"); for (String player : players) { - builder.put(jedisCluster.hget("player:" + player, "server"), UUID.fromString(player)); + String playerServer = jedisCluster.hget("player:" + player, "server"); + if (playerServer == null) { + continue; + } + builder.put(playerServer, UUID.fromString(player)); } } return builder.build(); diff --git a/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java b/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java index 49717cd..7f07c63 100644 --- a/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java +++ b/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java @@ -376,7 +376,11 @@ public class RedisBungeeVelocityPlugin implements RedisBungeePlugin { for (String serverId : getProxiesIds()) { Set players = jedis.smembers("proxy:" + serverId + ":usersOnline"); for (String player : players) { - builder.put(jedis.hget("player:" + player, "server"), UUID.fromString(player)); + String playerServer = jedis.hget("player:" + player, "server"); + if (playerServer == null) { + continue; + } + builder.put(playerServer, UUID.fromString(player)); } } return builder.build(); @@ -388,7 +392,11 @@ public class RedisBungeeVelocityPlugin implements RedisBungeePlugin { for (String serverId : getProxiesIds()) { Set players = jedisCluster.smembers("proxy:" + serverId + ":usersOnline"); for (String player : players) { - builder.put(jedisCluster.hget("player:" + player, "server"), UUID.fromString(player)); + String playerServer = jedisCluster.hget("player:" + player, "server"); + if (playerServer == null) { + continue; + } + builder.put(playerServer, UUID.fromString(player)); } } return builder.build();