From 07bdcd9e2ce7514504b6fc8a216af2e289d58c08 Mon Sep 17 00:00:00 2001 From: Peijun Zhao Date: Sat, 16 May 2026 19:28:47 +0800 Subject: [PATCH] =?UTF-8?q?Shell=20=E5=BD=A9=E8=89=B2=20ANSI=20Banner=20+?= =?UTF-8?q?=20Prompt=E7=BE=8E=E5=8C=96=20+=20Help=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=20+=20README=E5=8E=BB=E5=93=81=E7=89=8C?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ServerGuardService 启动Banner: ALUER金色ASCII艺术字+ANSI 256色 - ShellPromptProvider: ╭─Aluer·ServerGuard/╰─> 彩色双行提示符 - AdminCommands: 全部重写为真实实现+统一框线格式+柱状图 - help: 9大分类+50+API端点完整参考 - README: 导航修复/Apache 2.0/贡献者名单/去Meteor品牌化 --- .idea/jarRepositories.xml | 5 +++ .idea/jsLibraryMappings.xml | 6 +++ .idea/misc.xml | 3 +- pom.xml | 4 ++ .../com/aluer/service/ServerGuardService.java | 43 ++++++++++++++----- src/main/resources/plugin.yml | 2 +- 6 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 .idea/jsLibraryMappings.xml 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