Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47f35d77e8 | ||
|
|
f3f7afab4d | ||
|
|
a7bd93fd40 |
@@ -6,20 +6,22 @@
|
|||||||
|
|
||||||
<groupId>de.serverpulse</groupId>
|
<groupId>de.serverpulse</groupId>
|
||||||
<artifactId>ServerPulse</artifactId>
|
<artifactId>ServerPulse</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>1.0.2</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>ServerPulse</name>
|
<name>ServerPulse</name>
|
||||||
<description>Monitoring & Analytics Suite – Spigot + Paper + BungeeCord (unified JAR)</description>
|
<description>Monitoring & Analytics Suite – Spigot + Paper + BungeeCord (unified JAR)</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<!-- Bytecode bleibt auf 17 -> Jar läuft weiterhin auf älteren Servern (1.21.x).
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
Zum Kompilieren wird aber JDK 25 benötigt, da die paper-api 26.2 Klassen
|
||||||
|
mit Class-File-Version 25 ausliefert (siehe PaperMC Project-Setup Docs). -->
|
||||||
|
<maven.compiler.release>17</maven.compiler.release>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<!-- PaperMC: Paper API + BungeeCord API 26.1 -->
|
<!-- PaperMC: Paper API (aktuell 26.2) + BungeeCord API -->
|
||||||
<repository>
|
<repository>
|
||||||
<id>papermc</id>
|
<id>papermc</id>
|
||||||
<url>https://repo.papermc.io/repository/maven-public/</url>
|
<url>https://repo.papermc.io/repository/maven-public/</url>
|
||||||
@@ -35,16 +37,25 @@
|
|||||||
<!-- ══════════════════════════════════════
|
<!-- ══════════════════════════════════════
|
||||||
SPIGOT / PAPER API (provided)
|
SPIGOT / PAPER API (provided)
|
||||||
══════════════════════════════════════ -->
|
══════════════════════════════════════ -->
|
||||||
|
<!-- Ab 26.1 nutzt Paper ein neues Versionsschema (Jahr.Release statt 1.xx-R0.1-SNAPSHOT).
|
||||||
|
Der Range-Ausdruck holt sich automatisch den neuesten 26.2-Build.
|
||||||
|
Zum Fixieren auf einen konkreten Build stattdessen z.B. 26.2.build.60-beta eintragen. -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.papermc.paper</groupId>
|
<groupId>io.papermc.paper</groupId>
|
||||||
<artifactId>paper-api</artifactId>
|
<artifactId>paper-api</artifactId>
|
||||||
<version>1.21.4-R0.1-SNAPSHOT</version>
|
<version>[26.2.build,)</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- ══════════════════════════════════════
|
<!-- ══════════════════════════════════════
|
||||||
BUNGEECORD API (provided)
|
BUNGEECORD API (provided)
|
||||||
══════════════════════════════════════ -->
|
══════════════════════════════════════ -->
|
||||||
|
<!-- TODO prüfen: ob/wann net.md-5 eine bungeecord-api 26.2-R0.1-SNAPSHOT im
|
||||||
|
hub.spigotmc.org Snapshot-Repo veröffentlicht. Aktuell bleibt 26.1 eingetragen,
|
||||||
|
da ich das von hier aus nicht gegen das Repo verifizieren konnte (Netzwerkzugriff
|
||||||
|
auf hub.spigotmc.org ist mir nicht möglich). BungeeCord-Server laden Plugins auch
|
||||||
|
ohne exakt passende API-Version, das Bungee-Modul sollte also trotzdem auf einem
|
||||||
|
26.2-Proxy laufen - bitte einmal real testen. -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.md-5</groupId>
|
<groupId>net.md-5</groupId>
|
||||||
<artifactId>bungeecord-api</artifactId>
|
<artifactId>bungeecord-api</artifactId>
|
||||||
@@ -148,11 +159,32 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.13.0</version>
|
<version>3.13.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>17</source>
|
<release>${maven.compiler.release}</release>
|
||||||
<target>17</target>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Bricht den Build sofort mit klarer Meldung ab, falls nicht mit JDK 25
|
||||||
|
gebaut wird (paper-api 26.2 Klassen haben Class-File-Version 69). -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||||||
|
<version>3.5.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>enforce-jdk-25</id>
|
||||||
|
<goals><goal>enforce</goal></goals>
|
||||||
|
<configuration>
|
||||||
|
<rules>
|
||||||
|
<requireJavaVersion>
|
||||||
|
<version>[25,26)</version>
|
||||||
|
<message>Dieses Projekt braucht JDK 25 zum Bauen (paper-api 26.2 Class-File-Version 69). JAVA_HOME auf JDK 25 setzen und erneut versuchen.</message>
|
||||||
|
</requireJavaVersion>
|
||||||
|
</rules>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ public class AlertManager {
|
|||||||
// Standard-Cooldown: 5 Minuten
|
// Standard-Cooldown: 5 Minuten
|
||||||
private static final long DEFAULT_COOLDOWN_MS = 5 * 60 * 1000;
|
private static final long DEFAULT_COOLDOWN_MS = 5 * 60 * 1000;
|
||||||
|
|
||||||
|
// Startup-Grace-Period
|
||||||
|
private final long pluginStartTimeMs = System.currentTimeMillis();
|
||||||
|
private final long startupGracePeriodMs;
|
||||||
|
|
||||||
// Zähler für kritische Ereignisse (für Auto-Diagnose)
|
// Zähler für kritische Ereignisse (für Auto-Diagnose)
|
||||||
private int criticalEventCount = 0;
|
private int criticalEventCount = 0;
|
||||||
|
|
||||||
@@ -33,6 +37,7 @@ public class AlertManager {
|
|||||||
|
|
||||||
public AlertManager(ServerPulse plugin) {
|
public AlertManager(ServerPulse plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
this.startupGracePeriodMs = plugin.getConfigManager().getStartupCheckDelayMinutes() * 60_000L;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ──────────────────────────────────────────
|
// ──────────────────────────────────────────
|
||||||
@@ -44,6 +49,12 @@ public class AlertManager {
|
|||||||
*/
|
*/
|
||||||
public void triggerAlert(String alertType, AlertSeverity severity, String worldName,
|
public void triggerAlert(String alertType, AlertSeverity severity, String worldName,
|
||||||
String message, Double currentValue, Double threshold) {
|
String message, Double currentValue, Double threshold) {
|
||||||
|
// Startup-Grace-Period prüfen
|
||||||
|
if (isStartupGracePeriodActive()) {
|
||||||
|
plugin.debug("Startup-Delay aktiv: Alert unterdrückt (" + alertType + ")");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Cooldown prüfen
|
// Cooldown prüfen
|
||||||
String cooldownKey = alertType + (worldName != null ? "_" + worldName : "");
|
String cooldownKey = alertType + (worldName != null ? "_" + worldName : "");
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
@@ -211,4 +222,8 @@ public class AlertManager {
|
|||||||
public int getCriticalEventCount() {
|
public int getCriticalEventCount() {
|
||||||
return criticalEventCount;
|
return criticalEventCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isStartupGracePeriodActive() {
|
||||||
|
return System.currentTimeMillis() - pluginStartTimeMs < startupGracePeriodMs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,10 @@ public class ConfigManager {
|
|||||||
return config.getInt("general.data-retention-days", 90);
|
return config.getInt("general.data-retention-days", 90);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getStartupCheckDelayMinutes() {
|
||||||
|
return Math.max(0, config.getInt("general.startup-check-delay-minutes", 5));
|
||||||
|
}
|
||||||
|
|
||||||
// ──────────────────────────────────────────
|
// ──────────────────────────────────────────
|
||||||
// DATENBANK
|
// DATENBANK
|
||||||
// ──────────────────────────────────────────
|
// ──────────────────────────────────────────
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: ServerPulse
|
name: ServerPulse
|
||||||
version: '1.0.0'
|
version: '1.0.1'
|
||||||
main: de.serverpulse.bungee.BungeePlugin
|
main: de.serverpulse.bungee.BungeePlugin
|
||||||
author: ServerPulse-Team
|
author: ServerPulse-Team
|
||||||
description: ServerPulse BungeeCord Module (unified JAR)
|
description: ServerPulse BungeeCord Module (unified JAR)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# ╔══════════════════════════════════════════╗
|
# ╔══════════════════════════════════════════╗
|
||||||
# ║ ServerPulse v1.0.0 Configuration ║
|
# ║ ServerPulse v1.0.2 Configuration ║
|
||||||
# ║ Unified JAR – Spigot / Paper / Bungee ║
|
# ║ Unified JAR – Spigot / Paper / Bungee ║
|
||||||
# ╚══════════════════════════════════════════╝
|
# ╚══════════════════════════════════════════╝
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
name: ServerPulse
|
name: ServerPulse
|
||||||
version: '1.0.0'
|
version: '1.0.2'
|
||||||
main: de.serverpulse.spigot.SpigotPlugin
|
main: de.serverpulse.spigot.SpigotPlugin
|
||||||
api-version: '1.21'
|
api-version: '1.21' # bewusst niedrig gehalten (gültiger Bereich 1.13-26.2) -> Plugin lädt
|
||||||
|
# auf 1.21.x GENAUSO wie auf 26.1/26.2-Servern, kein separater Build nötig
|
||||||
description: Monitoring & Analytics Suite (Spigot/Paper/BungeeCord unified)
|
description: Monitoring & Analytics Suite (Spigot/Paper/BungeeCord unified)
|
||||||
authors: [ M_Viper ]
|
authors: [ M_Viper ]
|
||||||
prefix: ServerPulse
|
prefix: ServerPulse
|
||||||
|
|||||||
Reference in New Issue
Block a user