diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index 38de4d9..3fef0d6 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -302,6 +302,23 @@ public final class RedisBungee extends Plugin implements Listener { } } + @EventHandler + public void onPreLogin(PreLoginEvent event) { + if (pool != null) { + Jedis rsc = pool.getResource(); + try { + for (String server : configuration.getLinkedServers()) { + if (rsc.sismember("server:" + server + ":usersOnline", event.getConnection().getName())) { + event.setCancelled(true); + event.setCancelReason("You are already logged on to this server."); + } + } + } finally { + pool.returnResource(rsc); + } + } + } + @EventHandler public void onPlayerConnect(final PostLoginEvent event) { if (pool != null) {