Erste Schritte
Was sofort funktioniert, ohne den Minecraft-Server anzufassen — und wie man den Rest einrichtet.
Ein großer Teil des Bots braucht den Server gar nicht. Status, Diagramme, Bilder, Embeds und Sprachkanäle funktionieren über die öffentliche Adresse — dieselbe, mit der auch Spieler sich verbinden. Nur Chat, Whitelist und Befehle brauchen eine echte Verbindung ins Spiel.
- Den Bot über invite.mc-sync.eu einladen und den Discord-Server auswählen.
/setupausführen. Es fragt zuerst, was eingerichtet werden soll, dann genau eine Frage je Schritt./server add name: Survival address: deine-adresse.netregistriert den Server einmal —/status,/embed,/voice-channelund/default-ipkönnen ihn danach über den Namen ansprechen./languagelegt fest, in welcher Sprache der Bot antwortet.
/help zeigt dieselbe Übersicht in Discord, sortiert nach denselben Gruppen wie die Befehlsübersicht auf dieser Seite.
Die Serverliste
Ein Eintrag je Minecraft-Server — Adresse, Edition und Chat-Sync zusammen.
Vor /server war ein Minecraft-Server mehrere getrennte Dinge, die nichts voneinander wussten: eine Adresse, von Hand in /status, /embed und jeden Sprachkanal eingetippt, und ein mit /chat-sync add angelegter Chat-Sync, der von dieser Adresse nichts wusste. Ein Umzug auf eine neue Domain hieß, jede dieser Stellen zu suchen.
/server add name: Survival address: play.example.eu
/server settings server: Survival chat-sync: #minecraft - Survival
/server listBeide Hälften bleiben freiwillig, und jede für sich ist ein echter Fall: ein Eintrag ohne Adresse ist ein Server, den man von außen nicht anpingen kann, einer ohne Chat-Sync ist ein Server ohne laufendes Plugin oder Mod. Der Bot funktioniert auch ohne Plugin — dann zeigt er genau das, was ein Ping hergibt.
settings ändert ein Feld nach dem anderen; clear entfernt einen einzelnen Eintrag (Adresse, Chat-Sync oder Edition), ohne den ganzen Server zu löschen. remove nimmt den Server nur von dieser Liste — ein verknüpfter Chat-Sync läuft unter seinem eigenen Namen weiter.
Chat-Synchronisation einrichten
Minecraft-Chat in einem Discord-Kanal und Discord-Nachrichten zurück ins Spiel — über das Plugin, ohne offenen Port.
Dafür braucht dein Server das MC-Sync-Plugin. Es baut die Verbindung von sich aus nach außen auf: eine gewöhnliche ausgehende HTTPS-Verbindung, die offen bleibt. Du musst keinen Port weiterleiten und keine Adresse hinterlegen.
- Passende Datei herunterladen: mc-sync.eu/plugin. Es gibt eine je Loader und Versionsbereich.
- Datei in den
plugins-Ordner (Spigot, Paper) beziehungsweisemods(Fabric, Quilt, Forge, NeoForge) legen und den Server einmal neu starten. Dabei entsteht die Konfigurationsdatei. - In Discord
/chat-sync add channel: #dein-kanal name: Survivalausführen. Der Bot antwortet mit einem Token — nur für dich sichtbar. - Token in die
config.ymldes Plugins eintragen und den Server erneut neu starten.
# plugins/MC-Sync/config.yml
token: "dein-token-aus-discord"
# Optional. poll ist der Rückfallweg für Netze, die lange
# Verbindungen abschneiden — sonst nicht nötig.
transport:
mode: auto # auto | pollWas übertragen wird, entscheidest du danach einzeln. Alle Schalter liegen auf /chat-sync settings:
| Option | Was sie ein- oder ausschaltet |
|---|---|
| chat-messages | Gewöhnliche Chatnachrichten aus dem Spiel |
| join-leave-messages | Beitritt und Verlassen |
| death-messages | Todesmeldungen |
| advancements | Fortschritte (ab Minecraft 1.12) |
| language | Sprache der Meldungen, die der Bot selbst formuliert |
| active | Pausiert die Synchronisation, ohne sie zu löschen |
| channel | Verschiebt sie in einen anderen Kanal |
/chat-sync settings name: #minecraft - Survival death-messages: False
/chat-sync settings name: #minecraft - Survival channel: #minecraft-neuEs gibt eine Datei je Loader und Versionsbereich. Welche davon du brauchst, entscheidet dein Server:
| Loader | Minecraft-Versionen |
|---|---|
| Spigot | 1.8.8 bis aktuell |
| Paper | 1.16.5 bis aktuell |
| Forge | 1.8.8 bis aktuell (außer 1.13.2) |
| Fabric | 1.19.2 bis aktuell |
| Quilt | 1.19.2 bis aktuell |
| NeoForge | 1.20.2 bis aktuell |
Befehle aus Discord ausführen
whitelist add, say oder kick aus Discord — über dieselbe Verbindung, die Chat-Sync schon benutzt.
Steht der Chat-Sync einmal, kann derselbe Weg auch Befehle tragen. Es braucht dafür weder einen offenen Port noch ein zusätzliches Passwort.
Zwei Fragen werden getrennt beantwortet, und das ist wichtig. Wer fragen darf, entscheidet Discord, je Rolle, unter /server-command permission. Was der Server annimmt, entscheidet die config.yml. Beides muss zusammenpassen.
/server-command permission add role: @Moderator commands: whitelist,say,kick
/server-command permission list
/server-command run command: whitelist add NotchAuf der Serverseite entscheidet commands.mode, was überhaupt durchkommt:
| commands.mode | Was ausgeführt wird |
|---|---|
| off | Nichts, nicht einmal die Whitelist. |
| whitelist | Nur whitelist …. Voreinstellung. |
| allow | Die Whitelist plus alles unter commands.allow. |
| all | Jeder Befehl. |
# plugins/MC-Sync/config.yml
commands:
mode: allow
allow:
- say
- kickDer Befehl wird ohne führenden Schrägstrich eingegeben. Beide Seiten antworten immer: Ein abgelehnter Befehl kommt als „abgelehnt" zurück statt als Stille — und, falls /alerts audit-channel gesetzt ist, auch als Zeile im Protokoll. Konsolenausgaben werden nicht übertragen — gemeldet wird, dass der Befehl gelaufen ist.
Whitelist-Kanal
Ein Kanal, in dem Spieler ihren Minecraft-Namen posten und der Bot sie freischaltet.
Statt dass jemand im Team jeden Namen von Hand eintippt, macht das der Bot: Er liest den Namen, prüft ihn bei Mojang und schaltet ihn über das Plugin frei. Ein nicht existierender Name wird nie weitergegeben.
/whitelist-channel add channel: #whitelist role: @Mitglied
/whitelist-channel listmode entscheidet, was mit einem gültigen Namen passiert:
| Modus | Bedeutung |
|---|---|
| Add to the whitelist | Über das Plugin. Voreinstellung. |
| Verify only | Der Name wird bei Mojang geprüft, aber nicht freigeschaltet — für Teams, die selbst entscheiden wollen. |
server legt fest, zu welchem registrierten Minecraft-Server (/server add) dieser Kanal freischaltet — weglassen, wenn es nur einen gibt. Ohne role darf jeder im Kanal einen Namen einreichen; bis zu drei Rollen grenzen das ein — etwa auf alle, die eine Bewerbung durchlaufen haben.
Embeds und Sprachkanäle
Zwei Wege, den Serverstatus sichtbar zu halten, ohne dass jemand einen Befehl ausführt.
Ein Embed ist eine Nachricht, die der Bot alle fünf Minuten neu schreibt. Sie bleibt an ihrer Stelle, statt den Kanal mit Wiederholungen zu füllen.
/embed add type: Status ip: play.example.eu channel: #server-info
/embed add type: Diagram ip: play.example.eu
/embed list
/embed remove embed: #server-info — status — play.example.eu| type | Inhalt |
|---|---|
| Status | Erreichbarkeit, MOTD, Version, Edition, Spielerzahl |
| Whitelist | Die freigeschalteten Namen. Braucht das Plugin. |
| Diagram | Verlauf der Spielerzahl |
| Player stats | Summen des verknüpften Chat-Syncs |
| Connection | Zustand des Chat-Syncs selbst, samt letztem Lebenszeichen |
Ein Sprachkanal macht dasselbe über seinen Namen — oben in der Liste sichtbar, ohne dass jemand einen Kanal öffnet. Status, Spielerzahl und Version stehen zur Verfügung.
/voice-channel add type: Status ip: play.example.eu
/voice-channel add type: Players ip: play.example.euFür Sprachkanäle braucht der Bot „Kanäle verwalten", für Embeds das Recht, Nachrichten im Zielkanal zu senden und zu bearbeiten. Fehlt eines, sagt er das beim Anlegen. Beide akzeptieren auch server: statt ip:, um auf einen mit /server add registrierten Server zu zeigen.
Konten verknüpfen
Wer jemand in Discord ist, und wer er in Minecraft ist.
/link start gibt einen einmaligen Code aus. Im Minecraft-Chat als !link <code> eingegeben, belegt er beide Seiten auf einmal: den Code, weil er nur dir in Discord gezeigt wurde, und den Minecraft-Namen, weil er aus dem Spiel selbst kam.
/link startin Discord ausführen. Du bekommst einen zehn Minuten gültigen Code.- In Minecraft eingeben:
!link <code> - Der Bot bestätigt die Verknüpfung in Discord.
Die Verknüpfung gilt je Discord-Server, in beide Richtungen, und ist mit /link remove wieder weg. Sie macht /role-sync erst möglich und verwandelt @Name im Minecraft-Chat in eine echte, klingelnde Erwähnung in Discord — für einen einzelnen, eindeutigen Namen, nie für @everyone oder @here.
Rollen, die ins Spiel reichen
Eine Discord-Rolle, die einen Befehl auslöst, sobald sie vergeben oder entzogen wird.
/role-sync add role: @VIP on-grant: lp user {player} parent add vip on-revoke: lp user {player} parent remove vip
/role-sync list{player} wird durch den Minecraft-Namen ersetzt, der die Rolle bekommen oder verloren hat. Gespeichert wird nichts über ein bestimmtes Rechte-Plugin — nur der Befehl selbst, damit funktioniert es mit LuckPerms, PermissionsEx oder dem eigenen Rangsystem eines Servers gleichermaßen.
Meldungen und Protokoll
Wer von einem Ausfall erfährt, und wo Serverbefehle eine Spur hinterlassen.
Ein kurzer Aussetzer ist kein Ausfall — der Bot meldet sich erst nach 20 Minuten Stille und nimmt es zurück, sobald der Server wieder antwortet. /alerts role legt fest, wer dabei gepingt wird.
/alerts role role: @Team
/alerts audit-channel channel: #server-protokoll
/alerts console-channel channel: #server-fehler
/alerts notifications server-start: False server-stop: False| Einstellung | Was sie tut |
|---|---|
| role | Wird bei einem echten Ausfall gepingt — nie bei einem kurzen Aussetzer. |
| audit-channel | Jedes /server-command run, auch abgelehnte Versuche. |
| console-channel | Warnungen und Fehler des Minecraft-Servers — nicht das ganze Protokoll. |
| notifications | Vier eigene Schalter: service (Hauptschalter), delivery-warnings, server-start, server-stop. |
Wird role, audit-channel oder console-channel leer gelassen, schaltet das die jeweilige Meldung wieder ab. /alerts show listet alles, was gerade gesetzt ist.
Benachrichtigungen und Verlauf
Nachricht, sobald ein Server den Zustand wechselt — und was der Bot dabei mitschreibt.
/notification add beobachtet einen Server und schickt dir eine Direktnachricht, sobald er online oder offline geht. Das funktioniert für jeden erreichbaren Server, nicht nur für den eigenen.
/notification add ip: play.example.eu
/notification settings notification: play.example.eu | Java active: False
/notification delete notification: play.example.eu | JavaNebenbei schreibt der Bot den Zustand der abgefragten Server alle dreißig Sekunden mit. Daraus entstehen /diagram und die Diagramm-Embeds. Ein Server, der heute zum ersten Mal abgefragt wurde, hat deshalb noch keinen Verlauf über eine Woche.
Rechte und Rollen
Wer welchen Befehl sieht, wer ihn ausführen darf, und wo das jeweils eingestellt wird.
Discord vergibt Rechte je Befehl, nicht je Unterbefehl. Daraus ergeben sich drei Fälle, markiert als Abzeichen bei jedem Befehl in der Übersicht.
| Abzeichen | Bedeutung |
|---|---|
| Administrators only | Discord blendet den Befehl für alle anderen aus. Das lässt sich je Rolle oder je Person in den Servereinstellungen unter Integrationen ändern. |
| Granted per role | Der Befehl ist für alle sichtbar, sonst könnte eine Vergabe nie wirken. Wer ihn benutzen darf, wird in /server-command permission add festgelegt. |
| Discord servers only | Braucht einen Server — der Befehl gibt es in einer Direktnachricht nicht. |
| Works in DMs too | Installierbar als Benutzer-App und damit überall verfügbar, auch dort, wo der Bot nicht Mitglied ist. |
Der Bot selbst braucht: Nachrichten senden und bearbeiten (Embeds), Kanäle verwalten (Sprachkanäle), Webhooks verwalten (/news-channel) und Nachrichten im Kanal des Chat-Syncs lesen. Fehlt etwas, sagt er während der Einrichtung, was.
Wenn etwas nicht funktioniert
Die Fälle, die am häufigsten im Support landen — und worauf sie meist zurückgehen.
| Was man sieht | Übliche Ursache |
|---|---|
| Ein Befehl taucht in Discord nicht auf | Er verlangt erhöhte Rechte, oder die Befehle sind noch nicht bei diesem Server angekommen. Nach dem Einladen des Bots dauert das einen Moment; ein Neustart des Discord-Clients hilft nicht, Warten schon. |
| Chat kommt in Discord an, aber nicht zurück im Spiel | Meist ist active aus, oder der Bot darf im Kanal keine Nachrichten lesen. /chat-sync settings zeigt den aktuellen Stand. |
| Gar kein Chat, obwohl das Plugin läuft | Token nicht eingetragen, falsch kopiert, oder der Server wurde nach dem Eintragen nicht neu gestartet. |
| Das Embed aktualisiert sich nicht mehr | Der Bot darf die Nachricht vielleicht nicht mehr bearbeiten — meist, weil sich Rechte im Kanal geändert haben. /embed list zeigt, was noch registriert ist. |
| Der Sprachkanal zeigt alte Zahlen | Das ist normal: Discord begrenzt Umbenennungen, und der Bot aktualisiert etwa alle 25 Minuten. |
/server-command run sagt „abgelehnt" | Der Befehl ist nicht von commands.mode abgedeckt, oder nicht unter commands.allow auf dem Server gelistet. |
| Ein Rollenwechsel löst seinen Befehl nicht aus | Bei der Person /link show prüfen — /role-sync greift nur bei einem verknüpften Konto. |
| Keine Benachrichtigung, obwohl der Server neu gestartet hat | Direktnachrichten von Servermitgliedern sind in den Discord-Einstellungen abgeschaltet. |
Hilft nichts davon, ist der Support-Server der schnellste Weg. Loader und Minecraft-Version nennen, den ausgeführten Befehl und die Antwort des Bots — das klärt die meisten Fälle in einer einzigen Nachricht.