diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index ba5afb8..6e8c56a 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -276,9 +276,14 @@ public final class RedisBungee extends Plugin { } catch (JedisConnectionException e) { // Redis server has disappeared! getLogger().log(Level.SEVERE, "Unable to update heartbeat - did your Redis server go away?", e); + return; + } + try { + serverIds = getCurrentServerIds(true, false); + globalPlayerCount.set(getCurrentCount()); + } catch (Throwable e) { + getLogger().log(Level.SEVERE, "Unable to update data - did your Redis server go away?", e); } - serverIds = getCurrentServerIds(true, false); - globalPlayerCount.set(getCurrentCount()); } }, 0, 3, TimeUnit.SECONDS); dataManager = new DataManager(this); @@ -357,6 +362,8 @@ public final class RedisBungee extends Plugin { } pipeline.sync(); + } catch (Throwable e) { + getLogger().log(Level.SEVERE, "Unable to fix up stored player data", e); } } }, 0, 1, TimeUnit.MINUTES); diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java index b43f0c8..11b3e49 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java @@ -34,7 +34,7 @@ public abstract class RedisCallable implements Callable, Runnable { } catch (InterruptedException e1) { throw new RuntimeException("task failed to run", e1); } - run(true); + return run(true); } }