# 🔧 SudoPlugin > Führe Befehle als andere Spieler aus — mit Cooldown, Logging, Sicherheitsfiltern und vollständig anpassbaren Nachrichten. **Minecraft:** Paper / Spigot 1.20+ **Java:** 17+ **Permission:** `sudoplugin.use` (Standard: nur OPs) --- ## Inhalt - [Installation](#installation) - [Benutzung](#benutzung) - [config.yml](#configyml) - [commands.yml](#commandsyml) - [Permissions](#permissions) --- ## Installation 1. Die fertige `.jar` in den `plugins/`-Ordner deines Servers legen. 2. Server starten oder `/reload confirm` ausführen. 3. Beim ersten Start werden automatisch erstellt: - `plugins/SudoPlugin/config.yml` - `plugins/SudoPlugin/commands.yml` --- ## Benutzung ### Befehl ``` /sudo [Argumente...] ``` ### Beispiele ``` /sudo Steve msg Alex Hallo! /sudo Steve gamemode creative /sudo Steve tp Alex /sudo Steve fly ``` ### Konfiguration neu laden ``` /sudo reload ``` Lädt sowohl `config.yml` als auch `commands.yml` neu — kein Server-Neustart nötig. ### Tab-Completion | Argument | Vorschläge | |----------|-----------| | 1. Argument | Alle Online-Spieler | | 2. Argument | Befehle aus `commands.yml` (gesperrte ausgeblendet) | | 3. Argument | Kontextsensitiv: Spieler, Spielmodi, oder leer | --- ## config.yml ### Benachrichtigungen ```yaml notifications: # Zielspieler informieren wenn ein Befehl als er ausgeführt wird notify-target: false notify-message: "&eEin Admin hat einen Befehl als du ausgeführt." # Bestätigung an den Ausführer anzeigen notify-sender: true # Jeden sudo-Befehl in der Konsole loggen log-to-console: true # Jeden sudo-Befehl in plugins/SudoPlugin/sudo.log schreiben log-to-file: false ``` ### Sicherheit ```yaml security: # /sudo auf sich selbst erlauben allow-self-sudo: false # /sudo auf andere OPs erlauben (nur für Nicht-OPs relevant) allow-sudo-on-op: false # /sudo von der Konsole aus erlauben allow-console: true # Befehle die niemals ausgeführt werden dürfen # Diese werden auch in der Tab-Completion ausgeblendet blocked-commands: [] # Beispiel: # blocked-commands: # - op # - deop # - stop ``` ### Cooldown ```yaml cooldown: # Wartezeit in Sekunden zwischen zwei /sudo-Nutzungen (0 = deaktiviert) seconds: 0 # true = Cooldown gilt pro Zielspieler (jeder Spieler hat eigenen Timer) # false = Cooldown gilt global pro Ausführer per-target: false # Spieler mit dieser Permission ignorieren den Cooldown bypass-permission: sudoplugin.cooldown.bypass ``` ### Nachrichten Alle Nachrichten unterstützen `&`-Farbcodes und Platzhalter. | Platzhalter | Beschreibung | |-------------|-------------| | `{player}` | Name des Zielspielers | | `{cmd}` | Ausgeführter Befehl | | `{seconds}` | Verbleibende Cooldown-Zeit | ```yaml messages: prefix: "&8[&cSudo&8] &r" no-permission: "&cDu hast keine Berechtigung." player-not-found: "&cSpieler '{player}' ist nicht online." usage: "&cVerwendung: /sudo [argumente...]" success: "&aBefehl &f/{cmd} &awurde als &f{player} &aausgeführt." self-sudo-denied: "&cDu kannst /sudo nicht auf dich selbst anwenden." op-sudo-denied: "&cDu kannst /sudo nicht auf einen OP anwenden." command-blocked: "&cDieser Befehl ist in der Konfiguration gesperrt." cooldown-active: "&cBitte warte noch &f{seconds}s &cbevor du /sudo erneut nutzt." reload-success: "&aKonfiguration erfolgreich neu geladen." ``` --- ## commands.yml Hier werden alle Befehle definiert die in der Tab-Completion erscheinen sollen. Gesperrte Befehle aus `security.blocked-commands` werden automatisch ausgeblendet. ### Format ```yaml commands: - name: # Befehlsname ohne / args: # Typ für das 3. Argument (siehe unten) ``` ### Argument-Typen (`args`) | Wert | Beschreibung | |------|-------------| | `player` | Schlägt Online-Spieler vor | | `gamemode` | Schlägt survival / creative / adventure / spectator vor | | `""` | Keine Completion für das 3. Argument | ### Beispiel ```yaml commands: - name: msg args: player - name: tp args: player - name: gamemode args: gamemode - name: fly args: "" - name: meineigenerbefehl args: "" ``` --- ## Permissions | Permission | Beschreibung | Standard | |-----------|-------------|----------| | `sudoplugin.use` | Erlaubt die Nutzung von `/sudo` und `/sudo reload` | OP | | `sudoplugin.cooldown.bypass` | Umgeht den konfigurierten Cooldown | — | ### Beispiel mit LuckPerms ``` /lp user permission set sudoplugin.use true /lp group permission set sudoplugin.cooldown.bypass true ``` --- ## ⚠️ Urheberrecht & Nutzungsbedingungen SudoPlugin ist urheberrechtlich geschützt. © M_Viper – Alle Rechte vorbehalten. - ❌ Die Weitergabe dieses Plugins an Dritte ist strengstens untersagt - ❌ Das Verändern, Dekompilieren oder Bearbeiten des Codes ist nicht erlaubt - ❌ Eine Veröffentlichung – auch in veränderter Form – ist verboten - ❌ Der Verkauf oder die kommerzielle Nutzung ist nicht gestattet - ✅ Die Nutzung ist ausschließlich für den privaten Serverbetrieb erlaubt Wer gegen diese Bedingungen verstößt, macht sich strafbar und kann rechtlich belangt werden.