From e0016ed4cbb007e385581a1a65d721df9efa2577 Mon Sep 17 00:00:00 2001 From: j502647092 Date: Sun, 1 Nov 2015 01:53:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8E=A7=E5=88=B6=E5=8F=B0?= =?UTF-8?q?=E6=B8=85=E9=99=A4=E5=AF=86=E7=A0=81=E8=AE=B0=E5=BD=95=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: j502647092 --- src/main/java/cn/citycraft/AuthMe/AuthMe.java | 40 +++++++------------ .../cn/citycraft/AuthMe/ConsoleFilter.java | 17 ++++---- src/main/java/cn/citycraft/AuthMe/Utils.java | 1 - 3 files changed, 23 insertions(+), 35 deletions(-) diff --git a/src/main/java/cn/citycraft/AuthMe/AuthMe.java b/src/main/java/cn/citycraft/AuthMe/AuthMe.java index e807da9..c1060d3 100644 --- a/src/main/java/cn/citycraft/AuthMe/AuthMe.java +++ b/src/main/java/cn/citycraft/AuthMe/AuthMe.java @@ -68,8 +68,12 @@ public class AuthMe extends JavaPlugin { private static AuthMe authme; private static Server server; - public boolean antibotMod = false; + public static AuthMe getInstance() { + return authme; + } + + public boolean antibotMod = false; public NewAPI api; public ConcurrentHashMap cap = new ConcurrentHashMap<>(); public ConcurrentHashMap captcha = new ConcurrentHashMap<>(); @@ -81,6 +85,7 @@ public class AuthMe extends JavaPlugin { public Location essentialsSpawn; public AuthMeInventoryPacketAdapter inventoryProtector; public Management management; + public OtherAccounts otherAccounts; public Permission permission; @@ -89,17 +94,13 @@ public class AuthMe extends JavaPlugin { // TODO: Create Manager for fields below public ConcurrentHashMap sessions = new ConcurrentHashMap<>(); - private Logger authmeLogger; private Messages m; + private JsonCache playerBackup; private Settings settings; - public static AuthMe getInstance() { - return authme; - } - public boolean authmePermissible(final CommandSender sender, final String perm) { if (sender.hasPermission(perm)) { return true; @@ -311,11 +312,14 @@ public class AuthMe extends JavaPlugin { } // Load settings and custom configurations - // TODO: new configuration style (more files) try { settings = new Settings(this); Settings.reloadcfg(); Settings.loadVariables(); + // Setup messages + m = Messages.getInstance(); + // Setup otherAccounts file + otherAccounts = OtherAccounts.getInstance(); } catch (final Exception e) { ConsoleLogger.writeStackTrace(e); ConsoleLogger.showError("无法载入配置文件... 某些配置是错误的, 为了安全考虑 服务器即将关闭!"); @@ -327,12 +331,6 @@ public class AuthMe extends JavaPlugin { return; } - // Setup otherAccounts file - otherAccounts = OtherAccounts.getInstance(); - - // Setup messages - m = Messages.getInstance(); - // Set Console Filter if (Settings.removePassword) { final ConsoleFilter filter = new ConsoleFilter(); @@ -343,7 +341,8 @@ public class AuthMe extends JavaPlugin { // Set Log4J Filter try { Class.forName("org.apache.logging.log4j.core.Filter"); - setLog4JFilter(); + final org.apache.logging.log4j.core.Logger coreLogger = (org.apache.logging.log4j.core.Logger) LogManager.getRootLogger(); + coreLogger.addFilter(new Log4JFilter()); } catch (ClassNotFoundException | NoClassDefFoundError e) { ConsoleLogger.info("You're using Minecraft 1.6.x or older, Log4J support will be disabled"); } @@ -361,6 +360,7 @@ public class AuthMe extends JavaPlugin { } // Download GeoIp.dat file + ConsoleLogger.info("[LICENSE] IP数据来自 CityCraft 的 Yum 源 原始数据来自 http://www.maxmind.com"); Utils.checkGeoIP(); // Find Permissions @@ -710,16 +710,4 @@ public class AuthMe extends JavaPlugin { } }, 1, 1200 * Settings.delayRecall); } - - // Set the console filter to remove the passwords - private void setLog4JFilter() { - Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() { - - @Override - public void run() { - final org.apache.logging.log4j.core.Logger coreLogger = (org.apache.logging.log4j.core.Logger) LogManager.getRootLogger(); - coreLogger.addFilter(new Log4JFilter()); - } - }); - } } diff --git a/src/main/java/cn/citycraft/AuthMe/ConsoleFilter.java b/src/main/java/cn/citycraft/AuthMe/ConsoleFilter.java index aa39ebc..0a412ce 100644 --- a/src/main/java/cn/citycraft/AuthMe/ConsoleFilter.java +++ b/src/main/java/cn/citycraft/AuthMe/ConsoleFilter.java @@ -8,6 +8,7 @@ import java.util.logging.LogRecord; * @author Xephi59 */ public class ConsoleFilter implements Filter { + String[] filterkey = new String[] { "/login ", "/l ", "/reg ", "/register ", "/changepassword ", "/unregister ", "/authme register ", "/authme changepassword ", "/authme reg ", "/authme cp " }; public ConsoleFilter() { } @@ -19,20 +20,20 @@ public class ConsoleFilter implements Filter { return true; } final String logM = record.getMessage().toLowerCase(); + System.out.println("AuthMe LogRecord : " + logM); if (!logM.contains("issued server command:")) { return true; } - if (!logM.contains("/login ") && !logM.contains("/l ") && !logM.contains("/reg ") && !logM.contains("/changepassword ") && !logM.contains("/unregister ") - && !logM.contains("/authme register ") && !logM.contains("/authme changepassword ") && !logM.contains("/authme reg ") && !logM.contains("/authme cp ") - && !logM.contains("/register ")) { - return true; + for (final String key : filterkey) { + if (logM.contains(key)) { + final String playername = record.getMessage().split(" ")[0]; + record.setMessage(playername + " 执行了一个 AuthMe 命令!"); + break; + } } - final String playername = record.getMessage().split(" ")[0]; - record.setMessage(playername + " 执行了一个 AuthMe 命令!"); - return false; } catch (final NullPointerException npe) { - return true; } + return true; } } diff --git a/src/main/java/cn/citycraft/AuthMe/Utils.java b/src/main/java/cn/citycraft/AuthMe/Utils.java index 38689a6..fb2b1d4 100644 --- a/src/main/java/cn/citycraft/AuthMe/Utils.java +++ b/src/main/java/cn/citycraft/AuthMe/Utils.java @@ -89,7 +89,6 @@ public class Utils { if (lookupService != null) { return true; } - ConsoleLogger.info("[LICENSE] IP数据来自 CityCraft 的 Yum 源 原始数据来自 http://www.maxmind.com"); final File file = new File(Settings.APLUGIN_FOLDER, "GeoIP.dat"); try { if (file.exists()) {