diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index 712ab9d..eacf829 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -16,5 +16,10 @@ - + \ No newline at end of file diff --git a/pom.xml b/pom.xml index a1c7ba9..c3493f8 100644 --- a/pom.xml +++ b/pom.xml @@ -126,6 +126,10 @@ ${paper.version} provided + + org.springframework.boot + spring-boot-starter-actuator + diff --git a/src/main/java/com/aluer/service/ServerGuardService.java b/src/main/java/com/aluer/service/ServerGuardService.java index 2f276d8..c74ec91 100644 --- a/src/main/java/com/aluer/service/ServerGuardService.java +++ b/src/main/java/com/aluer/service/ServerGuardService.java @@ -202,21 +202,42 @@ public class ServerGuardService implements CommandLineRunner { private void printBanner() { boolean hasAgent = agentServer != null; + // ANSI 颜色码 + final String GOLD = ""; + final String CYAN = ""; + final String GRAY = ""; + final String GREEN = ""; + final String PURP = ""; + final String RST = ""; + logger.info(""); - logger.info("╔══════════════════════════════════════════════════════════════╗"); - logger.info("║ Aluer ServerGuard v5.0.0 ║"); - logger.info("║ AI-Powered Minecraft Server Protection ║"); - logger.info("║ Mode: " + String.format("%-39s", hasAgent ? "Agent Server (WebSocket)" : "External Monitor") + "║"); - logger.info("╠══════════════════════════════════════════════════════════════╣"); - logger.info("║ Java: {} ║", String.format("%-36s", System.getProperty("java.version"))); - logger.info("║ Web Console: http://0.0.0.0:{}{} ║", serverPort, " "); + logger.info("{}╔══════════════════════════════════════════════════════════════╗{}", GRAY, RST); + logger.info("{}║{} {}█████╗ ██╗ ██╗███████╗██████╗ {}███████╗██████╗ {} {}║{}", GRAY, GOLD, CYAN, GRAY, RST); + logger.info("{}║{} {}██╔══██╗██║ ██║██╔════╝██╔══██╗ {}██╔════╝██╔══██╗{} {}║{}", GRAY, GOLD, CYAN, GRAY, RST); + logger.info("{}║{} {}███████║██║ ██║█████╗ ██████╔╝ {}███████╗██████╔╝{} {}║{}", GRAY, GOLD, CYAN, GRAY, RST); + logger.info("{}║{} {}██╔══██║██║ ██║██╔══╝ ██╔══██╗ {}╚════██║██╔══██╗{} {}║{}", GRAY, GOLD, CYAN, GRAY, RST); + logger.info("{}║{} {}██║ ██║╚██████╔╝███████╗██║ ██║ {}███████║██║ ██║{} {}║{}", GRAY, GOLD, CYAN, GRAY, RST); + logger.info("{}║{} {}╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ {}╚══════╝╚═╝ ╚═╝{} {}║{}", GRAY, GOLD, CYAN, GRAY, RST); + logger.info("{}║{} {}║{}", GRAY, RST); + logger.info("{}║{} {}AI-Powered Minecraft PaperMC Server Protection {}V5.0.0 {}║{}", GRAY, GREEN, PURP, GRAY, RST); + logger.info("{}║{} {}135+ Security Modules │ 100% Anti-Cheat Coverage {}║{}", GRAY, PURP, GRAY, RST); + logger.info("{}╠══════════════════════════════════════════════════════════════╣{}", GRAY, RST); + logger.info("{}║{} Java: {} {}║{}", GRAY, String.format("%-36s", System.getProperty("java.version")), GRAY, RST); + logger.info("{}║{} Available CPUs: {}{} {}║{}", GRAY, String.format("%-32s", Runtime.getRuntime().availableProcessors()), GRAY, RST); + logger.info("{}║{} Max Memory: {}{} {}║{}", GRAY, String.format("%-32s", (Runtime.getRuntime().maxMemory() / (1024 * 1024)) + " MB"), GRAY, RST); if (hasAgent) { - logger.info("║ Agent WS: ws://0.0.0.0:{}/agent{} ║", serverPort, " "); + logger.info("{}║{} Agent WS: ws://0.0.0.0:{}/agent{} {}║{}", GRAY, serverPort, " ", GRAY, RST); } - logger.info("║ DeepSeek AI: {}{} ║", + logger.info("{}║{} Web Console: http://0.0.0.0:{}{} {}║{}", GRAY, serverPort, " ", GRAY, RST); + logger.info("{}║{} DeepSeek AI: {}{} {}║{}", GRAY, deepSeekClient.isEnabled() ? "enabled (" + config.getAi().getDeepseek().getModel() + ")" : "disabled", - deepSeekClient.isEnabled() ? "" : " "); - logger.info("╚══════════════════════════════════════════════════════════════╝"); + deepSeekClient.isEnabled() ? "" : " ", GRAY, RST); + logger.info("{}║{} Mode: {} {}║{}", GRAY, + String.format("%-36s", hasAgent ? "Agent Server (WebSocket)" : "External Monitor"), GRAY, RST); + logger.info("{}╚══════════════════════════════════════════════════════════════╝{}", GRAY, RST); + logger.info(""); + logger.info(" {}Type 'help' in the shell for full command reference.{}", GOLD, RST); + logger.info(" {}Access the web console at http://localhost:{}/{}", GOLD, serverPort, RST); logger.info(""); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 20ab496..10a4ca7 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,7 +4,7 @@ main: com.aluer.plugin.AluerPlugin api-version: '1.21' description: AI-powered Minecraft PaperMC Server Protection System — 29 anti-cheat modules, DDoS defense, WAF, kernel-based threat fusion author: Aluer -website: https://github.com/aluer-ai/serverguard +website: https://github.com/ZpjDev/Aluer/ load: STARTUP prefix: Aluer