DiscordSRV: Minecraft-Server mit Discord verbinden
DiscordSRV ist ein kostenloses Open-Source-Plugin, das den Chat deines Minecraft-Servers in beide Richtungen mit Discord verbindet: Was Spieler im Spiel schreiben, landet in einem Discord-Kanal, und was in diesem Kanal getippt wird, kommt im Spiel an. Das Plugin läuft komplett serverseitig auf Paper, Purpur oder Spigot, deine Spieler müssen also nichts installieren. Drei Dinge brauchst du: einen eigenen Discord-Bot mit Token, die Kanal-IDs der Kanäle, die du verbindest, und Zugriff auf plugins/DiscordSRV/config.yml.
Was lässt sich mit DiscordSRV alles verbinden?
Die Chat-Brücke ist der Grund, aus dem die meisten Server das Plugin installieren, aber es kann mehr. Diese Bausteine schaltest du unabhängig voneinander ein oder aus:
- Chat in beide Richtungen. Nachrichten aus dem Spiel gehen in einen gewählten Discord-Kanal, und Nachrichten aus diesem Kanal erscheinen im Spielchat mit dem Discord-Namen davor. So redet jemand vom Handy aus einfach mit.
- Meldungen beim Betreten und Verlassen. Du siehst Spieler kommen und gehen, auf Wunsch samt Todesmeldungen. Auf einem vollen Server wird daraus schnell Lärm; viele Betreiber lassen nur Betreten und Verlassen stehen.
- Konsolenkanal. Die Serverkonsole wird in einen eigenen Kanal gestreamt und du kannst dort Befehle ausführen. Praktisch, wenn du unterwegs jemanden entsperren musst, aber auch der gefährlichste Teil des Plugins.
- Rang-Synchronisation. Eine Discord-Rolle mit einer LuckPerms-Gruppe verknüpfen, damit derjenige, der in Discord die Rolle Spender bekommt, im Spiel im passenden Rang landet.
- Account-Verknüpfung. Spieler verbinden ihren Minecraft-Account mit ihrem Discord-Account über einen Befehl im Spiel und einen kurzen Code. Ohne Verknüpfung weiß das Plugin nicht, wer wer ist, und die Rang-Synchronisation funktioniert nicht.
DiscordSRV steht nicht ohne Grund in praktisch jeder Übersicht der Standard-Plugins für einen Minecraft-Server, neben EssentialsX, LuckPerms und CoreProtect.
Wie erstellst du den Discord-Bot?
DiscordSRV bringt keinen fertigen Bot mit. Du legst ihn selbst im Entwicklerportal von Discord an, damit du bestimmst, welche Rechte er bekommt.
- Lege im Discord-Entwicklerportal über New Application eine Anwendung an. Der Name, den du einträgst, wird zum Namen deines Bots.
- Öffne den Reiter Bot und aktiviere die privilegierten Gateway-Intents, also die besonderen Leserechte: Message Content Intent ist Pflicht für Nachrichten von Discord nach Minecraft, Server Members Intent für Rang-Synchronisation und Account-Verknüpfung.
- Klicke auf Reset Token und kopiere das Token. Du siehst es genau einmal, danach musst du es erneut zurücksetzen. Behandle dieses Token wie das Passwort deines gesamten Discord-Servers.
- Geh zum OAuth2 URL Generator, setze den Haken beim Berechtigungsbereich
botund wähle die Rechte: Nachrichten senden, Nachrichtenverlauf lesen und Manage Roles (nur bei Rang-Synchronisation). Öffne den Link und lade den Bot ein. - Leg die JAR-Datei in den Ordner
pluginsund starte den Server einmal, damit die Konfiguration angelegt wird. Trage danach dein Token hinterBotTokeninplugins/DiscordSRV/config.ymlein. - Aktiviere in Discord den Entwicklermodus, klicke mit der rechten Maustaste auf einen Kanal und wähle Kanal-ID kopieren: eine Zahl mit 17 bis 19 Ziffern, kein Kanalname. Trage die ID deines Chatkanals hinter
globalein und die deines Adminkanals bei der Konsolen-Einstellung. - Starte den Server komplett neu, statt ihn nur neu zu laden. In der Konsole siehst du, ob der Bot eine Verbindung aufbaut. Teste danach beide Richtungen: Schreib etwas im Spiel und schreib etwas in Discord.
Die config.yml bearbeitest du am einfachsten über den Dateimanager deines Panels. Bei Minecraft-Hosting von MC-Node ist in jedem Paket das Pterodactyl-Panel dabei, sodass du die Datei direkt im Browser änderst, ganz ohne FTP.
Welche Kanäle verbindest du, und welche bleiben privat?
Der meiste Ärger kommt nicht aus dem Plugin, sondern aus nachlässig gesetzten Kanalrechten. Leg vorher für jeden Kanal fest, wer lesen und wer schreiben darf.
| Kanal | Wer darf lesen | Wer darf schreiben | Warum |
|---|---|---|---|
| Chatkanal (global) | Alle | Alle | Die Brücke, für die das Plugin gedacht ist. Alles, was hier steht, landet im Spiel. |
| Logkanal (Betreten, Verlassen, Todesfälle) | Mitglieder | Nur der Bot | Reines Logbuch. Schreibrechte zu entziehen verhindert, dass er mit Reaktionen vollfäuft. |
| Konsolenkanal | Nur Administratoren | Nur Administratoren | Enthält Startprotokolle, Fehlermeldungen mit Ordnerpfaden und manchmal IP-Adressen von Spielern. |
| Verknüpfungskanal | Mitglieder | Mitglieder | Hier geben Spieler ihren Verknüpfungscode ein. Diese Codes sind persönlich und nur kurz gültig. |
Prüfe die Rechte mit einem zweiten Account ohne Rollen. Kanäle erben Rechte von ihrer Kategorie, und genau da geht es oft schief: Der Kanal ist dicht, die Kategorie drumherum nicht.
Wie verknüpfst du Discord-Rollen mit Rängen im Spiel?
Für viele Server ist das der eigentliche Grund, DiscordSRV zu installieren. In der Synchronisationskonfiguration verknüpfst du eine Discord-Rollen-ID mit einer Gruppe in LuckPerms, dem Standard für Rechte und Ränge auf Bukkit-Servern. Gibst du jemandem in Discord die Rolle Spender, bekommt er im Spiel die Gruppe spender.
Drei Dinge entscheiden, ob das klappt. Der Spieler muss seine Accounts verknüpft haben, sonst gibt es keine Verbindung zwischen einer Discord-ID und einer Minecraft-UUID. Die Rolle des Bots muss in der Rollenliste über den Rollen stehen, die er vergibt, sonst bekommst du einen Rechtefehler, der nichts mit Minecraft zu tun hat. Und du musst festlegen, welche Seite den Ton angibt.
Diese letzte Entscheidung wird unterschätzt. Bei Synchronisation in beide Richtungen verliert ein Spieler seinen Rang auch im Spiel, sobald jemand eine Rolle in Discord von Hand entfernt, und ein Tippfehler in einer Rollen-ID kann deiner kompletten Spielerschaft auf einen Schlag einen Rang geben oder wegnehmen. Sichere also deine LuckPerms-Datenbank, bevor du das einschaltest, und leg im Zweifel eine führende Seite fest: meistens Discord.
Welche zwei Fehler kosten Server am häufigsten ihren Discord?
Der erste ist ein Bot-Token, das nach außen gelangt. Damit hat jemand anders die volle Kontrolle über deinen Bot: Nachrichten senden, als wäre er dein Server, Kanäle zuspammen und mit Manage Roles auch Rollen an sich selbst vergeben. Läuft die Rang-Synchronisation, ist so eine Rolle sofort ein Rang in Minecraft.
Solche Lecks entstehen fast immer auf zwei Wegen: durch eine Bildschirmaufnahme der config.yml in einem Hilfekanal oder durch eine komplette Konfiguration beziehungsweise ein Protokoll auf einer Pastebin-Seite, mit der man um Hilfe bittet. Poste nie eine ganze Konfigurationsdatei irgendwo, sondern nur den Teil, um den es geht, und entferne vorher das Token; verlass dich nicht darauf, dass ein Upload-Dienst Tokens unkenntlich macht. Ist es doch passiert, setze das Token sofort im Entwicklerportal zurück. Trag das neue in deine Konfiguration ein, starte neu und geh das Auditlog deines Discord-Servers nach Rollen und Kanälen durch, die du selbst nicht geändert hast.
Der zweite Fehler ist ein öffentlicher Konsolenkanal. Alles, was deine Konsole ausspuckt, landet dort: Startprotokolle, Plugin-Versionen, Fehlermeldungen mit vollständigen Ordnerpfaden und, je nach Einstellung, Beitrittsmeldungen mit IP-Adressen von Spielern. Genau mit diesen Informationen greift jemand deinen Server an. Erlaubst du aus diesem Kanal auch noch Konsolenbefehle, kann jeder mit Schreibrechten dort op, ban oder stop ausführen.
Pack den Konsolenkanal deshalb in eine Kategorie, die nur für deine Adminrolle sichtbar ist, und beschränke das Ausführen von Befehlen auf die Rollen-IDs, die du ausdrücklich angibst. Nutzt du ihn nur als Logbuch, schalte das Ausführen ganz ab.
Wie viel schwerer wird dein Server dadurch?
Praktisch gar nicht. DiscordSRV wickelt seinen Netzwerkverkehr asynchron ab, dein Hauptthread und deine TPS (Ticks pro Sekunde, also das Arbeitstempo des Servers) merken davon kaum etwas. Woran du dagegen stößt, sind die Limits von Discord selbst: Ein Bot darf Nachrichten nur in einem bestimmten Tempo posten, mit Todes- und Fortschrittsmeldungen obendrauf kann der Chat also hinterherhinken. Schalte diese Meldungen dann ab.
Die echten Leistungsfragen liegen woanders: das Laden von Chunks (den Weltabschnitten), Entities wie Mobs und herumliegende Gegenstände sowie schwere Modpacks. All the Mods 10 verlangt mindestens 10 GB RAM (Arbeitsspeicher) und 14 bis 16 GB bei fünf oder mehr Spielern; daran ändert ein Chat-Plugin nichts. Läuft dein Server zäh, nimm spark und arbeite die Anleitung zum Optimieren deines Minecraft-Servers durch.
Wann lässt du DiscordSRV besser weg?
Für vier Freunde, die ohnehin im selben Sprachkanal sitzen, bringt eine Chat-Brücke wenig. Willst du nur den Serverstatus und die Spielerzahl sehen, reicht dein Hosting-Panel völlig aus.
Wichtiger ist die technische Grenze: DiscordSRV ist ein Plugin, keine Mod. Es läuft auf Bukkit-basierter Software wie Paper und Purpur, und die lädst du nicht in einer reinen NeoForge- oder Fabric-Installation. Fährst du All the Mods 10 auf NeoForge, brauchst du eine Alternative als Mod oder hybride Serversoftware, mit aller Instabilität, die dazugehört. Für echte Bedrock-Serversoftware gilt dasselbe: Sie kennt keine Bukkit-Plugins, schau also zuerst, was auf einem Server der Bedrock Edition überhaupt möglich ist. Auf einem Java-Server mit Geyser und Floodgate funktioniert DiscordSRV dagegen auch für Bedrock-Spieler.
Bedenke zum Schluss, dass eine Chat-Brücke auch Moderationsarbeit bedeutet: Alles, was im Spiel gesagt wird, steht dauerhaft in Discord, und Leute, die gar nicht auf deinem Server spielen, reden im Chat mit. Klär also vorher, wer in diesem Kanal schreiben darf.
Häufig gestellte Fragen
Ist DiscordSRV kostenlos? Ja, kostenlos und quelloffen: Chat in beide Richtungen, Konsolenkanal, Account-Verknüpfung und Rang-Synchronisation mit LuckPerms stecken alle in der normalen Version. Du zahlst nur für den Server, auf dem es läuft; ein 2-GB-Paket bei MC-Node kostet 2,20 Euro pro Monat.
Mein Bot-Token ist nach außen gelangt, was jetzt? Setze das Token sofort im Discord-Entwicklerportal zurück, damit das alte ungültig wird. Trag das neue in die config.yml ein, starte den Server neu und prüfe das Auditlog auf Rollen, Kanäle oder Sperren, die du selbst nicht angelegt hast.
Warum kommt der Chat in Discord an, aber nicht zurück in Minecraft? Meistens ist Message Content Intent im Entwicklerportal ausgeschaltet, dadurch darf der Bot den Inhalt von Nachrichten nicht lesen. Prüfe danach, ob der Bot Leserechte im Kanal hat und ob die Kanal-ID mit 17 bis 19 Ziffern stimmt.
Kann ich meinen Server aus Discord heraus steuern? Ja, über den Konsolenkanal führst du Befehle aus, als säßest du selbst in der Konsole. Stell diesen Kanal aber privat für deine Adminrolle und beschränke das Ausführen auf bestimmte Rollen-IDs, sonst kann jeder mit Schreibrechten Befehle wie op oder stop ausführen.