diff --git a/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java b/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java index 8e72de1c..6258f9c4 100644 --- a/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java +++ b/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java @@ -7,6 +7,7 @@ import fr.xephi.authme.initialization.Reloadable; import fr.xephi.authme.message.MessageKey; import fr.xephi.authme.message.Messages; import fr.xephi.authme.output.ConsoleLoggerFactory; +import fr.xephi.authme.permission.AdminPermission; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.permission.PlayerStatePermission; import fr.xephi.authme.service.AntiBotService; @@ -87,6 +88,10 @@ public class OnJoinVerifier implements Reloadable { public void checkWhitelist(String name, boolean isAuthAvailable) throws FailedVerificationException { if (isAuthAvailable || permissionsManager.hasPermissionOffline(name, PlayerStatePermission.WHITELIST)) { return; + } else { + bukkitService.getOnlinePlayers().stream() + .filter(player -> permissionsManager.hasPermission(player, AdminPermission.WHITELIST_MESSAGE)) + .forEach(player -> messages.send(player, MessageKey.WHITELIST_KICK, name)); } if (whiteListService.shouldKick()) { throw new FailedVerificationException(MessageKey.KICK_WHITELIST); diff --git a/src/main/java/fr/xephi/authme/message/MessageKey.java b/src/main/java/fr/xephi/authme/message/MessageKey.java index 29e6c575..21344157 100644 --- a/src/main/java/fr/xephi/authme/message/MessageKey.java +++ b/src/main/java/fr/xephi/authme/message/MessageKey.java @@ -199,6 +199,7 @@ public enum MessageKey { /** [AntiBotService] AntiBot disabled after %m minutes! */ ANTIBOT_AUTO_DISABLED_MESSAGE("antibot.auto_disabled", "%m"), + WHITELIST_KICK("misc.whitelist_kick", "%p"), /** The email address is already being used */ EMAIL_ALREADY_USED_ERROR("email.already_used"), diff --git a/src/main/resources/messages/messages_zhcn.yml b/src/main/resources/messages/messages_zhcn.yml index 5894ba84..ee3bc03c 100644 --- a/src/main/resources/messages/messages_zhcn.yml +++ b/src/main/resources/messages/messages_zhcn.yml @@ -67,6 +67,7 @@ misc: accounts_owned_other: '玩家 %name 拥有 %count 个账户:' whitelist_enabled: '&c*** 服务器已暂停注册 ***' whitelist_disabled: '&a*** 服务器已开放注册 ***' + whitelist_kick: '&7玩家 &c%p &7请求加入服务器,但是被拒绝了.' # Session messages session: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 1e7fdeed..55e8fa3e 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -184,6 +184,9 @@ permissions: authme.bypassantibot: description: Permission node to bypass AntiBot protection. default: op + authme.whitelist: + description: Permission node to whitelist. + default: op authme.bypasscountrycheck: description: Permission to bypass the GeoIp country code check. default: false