feat: ASCII banner + graceful shutdown hook for ServerGuardApplication
This commit is contained in:
@@ -1,13 +1,32 @@
|
|||||||
package com.aluer;
|
package com.aluer;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableAsync
|
@EnableAsync
|
||||||
public class ServerGuardApplication {
|
public class ServerGuardApplication {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(ServerGuardApplication.class);
|
||||||
|
private static volatile ConfigurableApplicationContext context;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(ServerGuardApplication.class, args);
|
context = SpringApplication.run(ServerGuardApplication.class, args);
|
||||||
|
|
||||||
|
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
||||||
|
logger.info("JVM shutdown hook triggered — closing application context");
|
||||||
|
if (context != null) {
|
||||||
|
context.close();
|
||||||
|
}
|
||||||
|
}, "serverguard-shutdown-hook"));
|
||||||
|
|
||||||
|
logger.info("Aluer ServerGuard is ready");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ConfigurableApplicationContext getContext() {
|
||||||
|
return context;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
${AnsiColor.BRIGHT_CYAN} ╔════════════════════════════════════════════════════════════╗
|
||||||
|
║ ║
|
||||||
|
║ █████╗ ██╗ ██╗ ██╗███████╗██████╗ ║
|
||||||
|
║ ██╔══██╗██║ ██║ ██║██╔════╝██╔══██╗ ║
|
||||||
|
║ ███████║██║ ██║ ██║█████╗ ██████╔╝ ║
|
||||||
|
║ ██╔══██║██║ ██║ ██║██╔══╝ ██╔══██╗ ║
|
||||||
|
║ ██║ ██║███████╗╚██████╔╝███████╗██║ ██║ ║
|
||||||
|
║ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ║
|
||||||
|
║ ║
|
||||||
|
║ ServerGuard v1.0.0 ║
|
||||||
|
║ AI-Powered Minecraft Server Protection ║
|
||||||
|
║ ║
|
||||||
|
╚════════════════════════════════════════════════════════════╝${AnsiStyle.NORMAL}
|
||||||
|
|
||||||
|
${AnsiColor.BRIGHT_GREEN}:: DeepSeek AI Powered ::${AnsiStyle.NORMAL} ${AnsiColor.BRIGHT_WHITE}Autonomous Defense Engine${AnsiStyle.NORMAL}
|
||||||
|
${AnsiColor.BRIGHT_GREEN}:: Multi-Layer Kernel ::${AnsiStyle.NORMAL} ${AnsiColor.BRIGHT_WHITE}Signal Fusion + Threat Mesh${AnsiStyle.NORMAL}
|
||||||
|
${AnsiColor.BRIGHT_GREEN}:: Mirage Shield ::${AnsiStyle.NORMAL} ${AnsiColor.BRIGHT_WHITE}4-Mode Adaptive Protection${AnsiStyle.NORMAL}
|
||||||
Reference in New Issue
Block a user