Du möchtest deinen Minecraft-Server mit deinem Discord-Server verbinden und das Ganze mit coolen, individuellen Befehlen aufpeppen? Dann bist du hier genau richtig! In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du einen Custom Command für EssentialsX erstellst, der direkt aus deinem Discord funktioniert. Keine Angst, es ist einfacher als du denkst!
Was sind EssentialsX Discord Custom Commands?
Bevor wir loslegen, klären wir kurz, was wir eigentlich erreichen wollen. EssentialsX ist ein unglaublich mächtiges Plugin für Minecraft-Server, das zahlreiche nützliche Funktionen bietet. Ein Custom Command, den wir über Discord ausführen können, ermöglicht es uns, Befehle direkt an den Minecraft-Server zu senden, ohne dass wir uns im Spiel befinden müssen. Stell dir vor, du kannst den Server neustarten, jemandem im Spiel etwas schenken oder dich selbst teleportieren, alles bequem von deinem Discord aus!
Voraussetzungen
Bevor wir mit der eigentlichen Erstellung beginnen, stellen wir sicher, dass alle Voraussetzungen erfüllt sind:
- Ein laufender Minecraft-Server (vorzugsweise mit Spigot oder Paper).
- EssentialsX ist installiert und korrekt konfiguriert.
- Ein Discord-Server, auf dem du Administratorrechte besitzt.
- Ein Discord-Bot, der für die Kommunikation mit deinem Server zuständig ist.
- Ein Plugin zur Discord-Minecraft-Integration (z.B. DiscordSRV, Plan, oder Dynmap). Wir gehen in dieser Anleitung von DiscordSRV aus, da es eines der verbreitetsten und am besten dokumentierten ist.
- Grundlegendes Verständnis von YAML-Dateien (keine Sorge, wir erklären alles Schritt für Schritt!).
Schritt 1: DiscordSRV konfigurieren
DiscordSRV ist das Bindeglied zwischen deinem Minecraft-Server und deinem Discord-Server. Zunächst musst du sicherstellen, dass DiscordSRV korrekt eingerichtet ist und mit deinem Discord-Bot verbunden ist.
- DiscordSRV herunterladen: Lade die aktuellste Version von DiscordSRV von SpigotMC herunter.
- In den Plugin-Ordner kopieren: Lege die heruntergeladene .jar-Datei in den `/plugins`-Ordner deines Minecraft-Servers.
- Server neustarten: Starte deinen Minecraft-Server neu, damit DiscordSRV geladen wird.
- Konfiguration anpassen: Navigiere zum `/plugins/DiscordSRV/config.yml` und öffne die Datei mit einem Texteditor.
- Bot-Token eintragen: Suche nach der Zeile `BotToken: ‘YOUR_BOT_TOKEN’` und ersetze `YOUR_BOT_TOKEN` mit dem Token deines Discord-Bots. Du findest das Token im Discord Developer Portal.
- Channel IDs festlegen: Definiere die Discord-Channel-IDs für verschiedene Zwecke, wie z.B. Chat-Übertragung, Server-Nachrichten usw. Du findest die Channel-ID, indem du im Discord den Entwicklermodus aktivierst (unter Einstellungen -> Erweitert) und dann mit Rechtsklick auf den Kanal -> „ID kopieren” auswählst.
- Server erneut neustarten: Speichere die Änderungen in der `config.yml` und starte den Minecraft-Server erneut.
Schritt 2: Den Custom Command in EssentialsX definieren
Nun kommt der spannende Teil: Die Definition des Custom Commands. Dies geschieht in der `config.yml` von EssentialsX.
- EssentialsX-Konfiguration öffnen: Navigiere zum `/plugins/Essentials/config.yml` und öffne die Datei mit einem Texteditor.
- Zu den Custom Commands navigieren: Suche nach dem Abschnitt `commands:`. Sollte dieser nicht vorhanden sein, kannst du ihn manuell hinzufügen.
- Den Custom Command hinzufügen: Hier definierst du deinen Befehl. Hier ist ein Beispiel:
commands: discordkick: # Der Befehlsname, den wir in Discord verwenden command-aliases: [dkick] # Alternative Befehlsnamen description: 'Kickt einen Spieler vom Server über Discord.' permission: essentials.discordkick #Benötigte Berechtigung enabled: true #Befehl aktivieren run: - 'minecraft:kick %args% Kicked by Discord!' #Minecraft-Befehl ausführen (%args% ersetzt die Argumente aus Discord) - 'broadcast &c%player% wurde von Discord gekickt!' #Optionale Broadcast Nachricht
- Erklärung der Optionen:
- `discordkick`: Der Name des Befehls. Diesen Namen verwenden wir später in Discord.
- `command-aliases`: Alternative Namen für den Befehl. Hier `dkick`.
- `description`: Eine kurze Beschreibung des Befehls.
- `permission`: Die Berechtigung, die der Benutzer benötigt, um den Befehl auszuführen. Dies ist wichtig für die Sicherheit.
- `enabled`: Aktiviert oder deaktiviert den Befehl.
- `run`: Die Liste der Befehle, die ausgeführt werden sollen, wenn der Befehl aufgerufen wird. Wichtig ist hier das Prefix `minecraft:` um zu signalisieren, dass der Befehl im Minecraft Server ausgeführt werden soll.
- `%args%`: Ersetzt die Argumente, die du in Discord hinter dem Befehl eingibst (z.B. `!discordkick Spielername`).
- `%player%` (in der broadcast Nachricht): Steht für den Namen des Ausführenden in Minecraft. In diesem Beispiel wird dies der DiscordSRV Bot sein.
- Speichern und Server neustarten: Speichere die `config.yml` und starte deinen Minecraft-Server neu, damit die Änderungen übernommen werden.
Schritt 3: DiscordSRV Command Linking aktivieren
Damit DiscordSRV auf die Custom Commands zugreifen kann, muss die Command-Linking-Funktion aktiviert und konfiguriert werden.
- DiscordSRV-Konfiguration öffnen: Gehe zurück zur `/plugins/DiscordSRV/config.yml`.
- Command-Linking aktivieren: Suche nach dem Abschnitt `Commands` und stelle sicher, dass `LinkMinecraftCommands` auf `true` gesetzt ist.
- Befehle definieren: Definiere die erlaubten Befehle unter `LinkedCommands`. Gib hier den Namen deines Custom Commands an (in unserem Beispiel `discordkick`).
Commands: LinkMinecraftCommands: true LinkedCommands: - discordkick
- Berechtigungen festlegen: Definiere, welche Discord-Rollen die Berechtigung haben sollen, die Befehle auszuführen. Dies geschieht über die `LinkedCommandRoles` Sektion. Hier ist ein Beispiel, das der Rolle „Moderator” die Berechtigung gibt:
LinkedCommandRoles: discordkick: - 'Moderator'
Wichtig: Die Rolle muss exakt so geschrieben sein, wie sie auf dem Discord Server heißt. Beachte Groß- und Kleinschreibung!
- Server neustarten: Speichere die `config.yml` und starte deinen Minecraft-Server neu.
Schritt 4: Testen des Custom Commands in Discord
Jetzt kommt der Moment der Wahrheit! Öffne deinen Discord-Server und teste den Custom Command.
- Befehl eingeben: In einem Discord-Channel, in dem dein Discord-Bot aktiv ist, gibst du den Befehl ein. In unserem Beispiel wäre das `!discordkick Spielername`. Ersetze `Spielername` mit dem Namen des Spielers, den du kicken möchtest.
- Ergebnis überprüfen: Überprüfe im Minecraft-Server, ob der Spieler gekickt wurde. Außerdem sollte im globalen Chat die Broadcast Nachricht erscheinen.
Zusätzliche Tipps und Tricks
- Berechtigungen: Achte genau auf die Berechtigungen. Es ist wichtig, unbefugten Zugriff auf deinen Server zu verhindern.
- Variablen: Nutze die verschiedenen Variablen, die EssentialsX und DiscordSRV bieten, um deine Befehle noch flexibler zu gestalten.
- Fehlerbehebung: Überprüfe die Server-Logs, wenn etwas nicht funktioniert. Oftmals geben die Logs wertvolle Hinweise auf Fehler.
- Mehrere Befehle: Du kannst beliebig viele Custom Commands erstellen. Sei kreativ!
Fazit
Mit dieser Anleitung hast du gelernt, wie du einen einfachen, aber effektiven EssentialsX Discord Custom Command erstellen kannst. Die Möglichkeiten sind endlos! Experimentiere mit verschiedenen Befehlen und Anpassungen, um deinen Minecraft-Server noch besser mit deinem Discord-Server zu verbinden. Viel Spaß!