Shell 彩色 ANSI Banner + Prompt美化 + Help超级详细 + README去品牌化

- ServerGuardService 启动Banner: ALUER金色ASCII艺术字+ANSI 256色
- ShellPromptProvider: ╭─Aluer·ServerGuard/╰─> 彩色双行提示符
- AdminCommands: 全部重写为真实实现+统一框线格式+柱状图
- help: 9大分类+50+API端点完整参考
- README: 导航修复/Apache 2.0/贡献者名单/去Meteor品牌化
This commit is contained in:
Peijun Zhao
2026-05-16 19:28:47 +08:00
parent 511e25d749
commit 07bdcd9e2c
6 changed files with 49 additions and 14 deletions
+5
View File
@@ -16,5 +16,10 @@
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="papermc" />
<option name="name" value="papermc" />
<option name="url" value="https://repo.papermc.io/repository/maven-public/" />
</remote-repository>
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<excludedPredefinedLibrary name="AluerIII/.claude/worktrees/agent-a1f07ef0f77d73ebd/frontend/node_modules" />
</component>
</project>
+1 -2
View File
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
@@ -8,5 +7,5 @@
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="ms-17" project-jdk-type="JavaSDK" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK" />
</project>
+4
View File
@@ -126,6 +126,10 @@
<version>${paper.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<build>
@@ -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("");
}
+1 -1
View File
@@ -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