0.1.0
Compatibility
Changes
🛡️ AAA Plugin — Anti Admin Abuse
Vollständiger Schutz gegen Admin-Missbrauch auf deinem Minecraft-Server.
Jede Admin-Aktion wird überwacht, geloggt und bei Bedarf automatisch blockiert — komplett konfigurierbar.
📖 Was ist das AAA Plugin?
Das AAA Plugin (Anti Admin Abuse) ist ein umfassendes Sicherheits-Plugin für Paper 1.21.x, das speziell dafür entwickelt wurde, Missbrauch von Admin-Rechten auf Minecraft-Servern zu erkennen, zu protokollieren und zu verhindern. Ob Gamemode-Missbrauch, heimliches Fliegen, Griefing durch Admins oder unfaire Vorteile im PvP — das AAA Plugin hat alles im Blick.
✨ Features im Überblick
🎮 Gamemode-Schutz
- Erlaubte Gamemodes pro Server konfigurierbar
- Cooldown zwischen Gamemode-Wechseln einstellbar
- Welt-Beschränkungen (z. B. kein Kreativ in der PvP-Welt)
- Jeden Wechsel wird mit vorherigem Gamemode geloggt
✈️ Fly-Schutz
- Fly-Aktivierungen werden protokolliert
- Weltbasierte Fly-Verbote (z. B. verboten in
world_pvp) - Überwachung der Fly-Geschwindigkeit — automatisches Zurücksetzen bei Überschreitung
- Automatische Fly-Deaktivierung im Kampf (konfigurierbar)
💬 Befehlsschutz
- Alle Admin-Befehle werden geloggt
- Konfigurierbare Liste von Befehlen, die nur die Konsole ausführen darf
- Bestimmte Befehle können für Admins komplett gesperrt werden
- Rate-Limiting: Maximale Befehle pro Minute einstellbar
- Befehl-Spam-Erkennung (wiederholte identische Befehle)
📡 Teleport-Schutz
- Cooldowns zwischen Teleportationen
- Maximale Teleportationen pro Minute
- Cross-World-Teleport-Beschränkungen
- Nur „unnatürliche" Teleportationen werden überwacht (keine Portale, Chorusfrucht, etc.)
📦 Inventar- & Container-Schutz
- Öffnen von fremden Inventaren wird geloggt
- Drop-Limit pro Minute (verhindert Item-Flooding)
- Überwachung des
/give-Befehls mit konfigurierbaren Limits - Bestimmte Items können komplett für
/givegesperrt werden - Enderchest-Zugriffe werden immer protokolliert
- Container-Abbruch (Kisten abbauen) wird sofort an alle Admins gemeldet
- Verbotene Blöcke (Bedrock, Command-Blocks etc.) können Admins nicht platzieren
⚡ Speed-Erkennung
- Erkennt abnormale Bewegungsgeschwindigkeit (Walk, Sprint, Fly)
- Lag-Toleranz: Erst nach 3 aufeinanderfolgenden Verstößen wird reagiert
- Automatisches Zurücksetzen der Geschwindigkeit (konfigurierbar)
- Separate Toleranz-Multiplikatoren für Fly und Walk
🛡️ Godmode-Erkennung
- Überwacht typische Godmode-Befehle (
/god,/heal,/effect,/gmc, etc.) - Erkennt Spieler, die im Survival-Modus keinen Schaden nehmen
- Warnung bei überhöhten HP-Werten
- Alarm bei überhöhten Effekt-Amplifiern (z. B. Resistenz 10)
⏰ Zeit- & Wetterschutz
/timeund/weatherwerden geloggt und rate-limitiert- Optionales Blockieren bei Überschreitung des Limits
/sayund/broadcastwerden sofort an alle Admins gemeldet (Anti-Fake-Broadcast)/stopund/reloadsind auf SuperAdmin beschränkt
👑 OP-Schutz
- Jede OP-Vergabe löst sofortige Benachrichtigung aller Admins aus
- Optional:
/opnur über die Konsole erlaubt
👢 Kick/Ban-Schutz
- Pflichtbegründung bei Kicks und Bans
- Minimale Zeichenanzahl für Begründungen einstellbar
- Maximale Kicks pro Stunde / Bans pro Tag per Admin
- Admins können sich gegenseitig nicht kicken (nur höhere Ränge)
💬 Chat-Schutz
- Flood-Erkennung mit einstellbarem Cooldown
- Caps-Lock-Filter mit konfigurierbarem Prozentsatz
- Bad-Word-Filter mit eigener Wortliste
- Admin-Chat wird separat protokolliert
❄️ Freeze-System
- Spieler können vollständig eingefroren werden
- Eingefrorene Spieler können sich nicht bewegen, bauen, interagieren oder kämpfen
- Automatisches Einfrieren nach einer konfigurierbaren Verstoßanzahl
- Admins können keine anderen Admins einfrieren (ohne SuperAdmin)
🔇 Mute-System
- Chat-only Mute (Spieler können weiter spielen, aber nicht schreiben)
- Temporäre oder permanente Mutes
- Liste aller gemuteten Spieler (
/aaamute list) - Mute-Grund und Dauer werden angezeigt
📝 Notizen-System
- Persistente Admin-Notizen zu jedem Spieler
- Sichtbar für alle Admins
- Notizen werden gespeichert und überleben Server-Neustarts
- Bis zu unbegrenzt viele Notizen pro Spieler
🔍 Session-Tracking
- Jede Admin-Session wird vollständig aufgezeichnet
- Beim Logout erhalten alle Admins automatisch eine Zusammenfassung:
- Wie viele Befehle wurden ausgeführt?
- Wie viele Teleportationen?
- Wie viele Gamemode-Wechsel?
- Welche verdächtigen Aktionen wurden erkannt?
- Aktive Sessions in Echtzeit einsehbar (
/aaasession)
📊 Statistiken & Ranking
- Persistente Statistiken für jeden Spieler (Befehle, Teleports, Kicks, Bans, etc.)
- Top-Ranking (
/aaatop) in mehreren Kategorien - Violationen pro Session werden separat verfolgt
🔎 Watch-System
- Admins können bestimmte Spieler unter besondere Überwachung stellen
- Jede Aktion des überwachten Spielers löst eine Echtzeit-Benachrichtigung aus
- Optional: Bewegungs-Tracking für überwachte Spieler
📋 Report-System
- Spieler können Reports über Admins oder andere Spieler senden
- Maximale Reports pro Stunde einstellbar
- Admins können Reports als gelöst markieren
- Automatische Benachrichtigung des Reporters bei Bearbeitung
⚙️ Bypass-System
- SuperAdmins können temporären Bypass für legitime Admin-Arbeit vergeben
- Bypass läuft automatisch nach der eingestellten Zeit ab
- Auch mit Bypass: Alle Aktionen werden weiterhin geloggt
🗃️ Logging & Datenbank
- Alle Aktionen werden in Logdateien geschrieben
- Automatische Log-Rotation bei Überschreitung der maximalen Dateigröße
- Optionale MySQL-Datenbank-Unterstützung
- SQLite als Standard (kein externer Datenbankserver nötig)
- Logs können per Befehl paginiert eingesehen werden
🤖 Auto-Aktionen
- Automatische Reaktionen bei einer konfigurierbaren Verstoßanzahl:
- WARN — Warnnachricht an den Spieler
- KICK — Automatischer Kick
- FREEZE — Automatisches Einfrieren
- NOTIFY — Benachrichtigung an alle Admins
💻 Befehle
| Befehl | Permission | Beschreibung |
|---|---|---|
/aaa |
aaa.admin |
Hilfe-Übersicht & Plugin-Status |
/aaareload |
aaa.admin |
Konfiguration neu laden |
/aaalog [spieler] [seite] |
aaa.admin |
Log anzeigen (paginiert) |
/aaawatch <spieler> |
aaa.admin |
Spieler unter Echtzeit-Überwachung stellen |
/aaaunwatch <spieler> |
aaa.admin |
Überwachung beenden |
/aaastats [spieler] |
aaa.admin |
Detaillierte Statistiken anzeigen |
/aaachecks |
aaa.admin |
Alle aktiven Checks mit Status anzeigen |
/aaahistory <spieler> |
aaa.admin |
Vollständige Geschichte inkl. Verstöße |
/aaafreeze <spieler> [grund] |
aaa.admin |
Spieler vollständig einfrieren |
/aaaunfreeze <spieler> |
aaa.admin |
Spieler auftauen |
/aaaalert <on|off> |
aaa.admin |
Eigene Alert-Benachrichtigungen an/aus |
/aaasession [spieler] |
aaa.admin |
Aktive Admin-Sessions anzeigen |
/aaatop [kategorie] |
aaa.admin |
Ranking nach Verstößen, Befehlen, etc. |
/aaanote <spieler> add <text> |
aaa.admin |
Notiz zu Spieler hinzufügen |
/aaanote <spieler> list |
aaa.admin |
Notizen eines Spielers anzeigen |
/aaanote <spieler> remove <nr> |
aaa.admin |
Notiz entfernen |
/aaamute <spieler> [min] [grund] |
aaa.admin |
Spieler im Chat stumm schalten |
/aaaunmute <spieler> |
aaa.admin |
Stummschaltung aufheben |
/aaareport <spieler> <grund> |
aaa.use |
Report erstellen |
/aaareport list |
aaa.admin |
Offene Reports anzeigen |
/aaareport resolve <id> |
aaa.admin |
Report als gelöst markieren |
/aaaclear <spieler> |
aaa.superadmin |
Logs eines Spielers löschen |
/aaabypass <spieler> <min> |
aaa.superadmin |
Temporären Bypass vergeben |
🔑 Permissions
| Permission | Standard | Beschreibung |
|---|---|---|
aaa.admin |
OP | Zugang zu allen Admin-Befehlen |
aaa.superadmin |
false |
Erweiterte Funktionen (Clear, Bypass, Stop-Befehl) |
aaa.use |
true |
Benutzer-Befehle (z. B. /aaareport) |
aaa.bypass |
false |
Dauerhafter Bypass aller Checks |
aaa.notify |
OP | Erhält Echtzeit-Benachrichtigungen |
aaa.exempt |
false |
Komplett von Überwachung ausgenommen |
aaa.broadcast |
OP | Darf /say und /broadcast nutzen |
⚙️ Konfiguration
Die config.yml ist vollständig kommentiert und bietet Einstellungsmöglichkeiten für jeden einzelnen Check. Hier ein Auszug der wichtigsten Sektionen:
general:
enabled: true
debug: false
prefix: "&8[&c&lAAA&8] "
gamemode:
monitor: true
allowed-gamemodes:
- SURVIVAL
- CREATIVE
cooldown-seconds: 0
fly:
monitor: true
max-fly-speed: 1.0
disable-in-combat: true
containers:
monitor: true
forbidden-place-blocks:
- "BEDROCK"
- "BARRIER"
- "COMMAND_BLOCK"
auto-actions:
enabled: true
actions:
- violations: 3
action: WARN
- violations: 5
action: KICK
- violations: 10
action: FREEZE
📂 Dateistruktur
Nach dem ersten Start erstellt das Plugin folgende Ordner:
plugins/AAAPlugin/
├── config.yml ← Vollständig kommentierte Konfiguration
├── data/
│ ├── player-data.yml ← Persistente Spielerdaten & Cooldowns
│ ├── notes.yml ← Admin-Notizen (persistent)
│ └── aaa-data.db ← SQLite-Datenbank (optional)
├── logs/
│ └── aaa-log.txt ← Alle geloggten Admin-Aktionen
├── stats/
│ └── player-stats.yml← Statistiken aller Spieler
└── reports/ ← Report-Daten
🛠️ Installation
- Paper 1.21.1 (oder neuer) als Server-Software verwenden
AAAPlugin-2.0.0.jarin denplugins/Ordner kopieren- Server starten — die
config.ymlwird automatisch erstellt - Mit
/aaachecksalle aktiven Checks und deren Status einsehen - Konfiguration nach Wunsch anpassen und mit
/aaareloadneu laden
Hinweis: Das Plugin benötigt keine weiteren Abhängigkeiten und funktioniert direkt nach der Installation.
🔧 Technische Details
- Server-Software: Paper 1.21.1+
- Java-Version: Java 21+
- Datenbank: SQLite (Standard) oder MySQL
- Abhängigkeiten: Keine
- Speicherbedarf: Minimal (~2-5 MB RAM je nach Spieleranzahl)
- Performance: Alle Datenbankoperationen und Log-Schreibvorgänge laufen asynchron
AAA Plugin — weil Vertrauen gut, Kontrolle besser ist.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:WuAO76LX:wxuHDL5V"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:WuAO76LX:wxuHDL5V"
}
