▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Synccord

Synccord

A Discord Bot for your Minecraftserver.

249
4
Все версииSynccord 0.3.0 beta

Synccord 0.3.0 beta

Beta3 мес. назад

Список изменений

🇩🇪 Changelog (Deutsch)

Titel-Vorschlag: Synccord – Discord ↔ Minecraft Link & Sync Plugin

Neu / Features

✅ Discord–Minecraft-Verknüpfung: Spieler erhalten beim Join einen Verknüpfungs-Code, der über Discord bestätigt wird. Verknüpfungen werden dauerhaft in einer SQLite-Datenbank gespeichert (linked_users mit uuid, discord_id, linked_at).

✅ Manuelle Verknüpfung (Minecraft → Discord): Neuer Befehl /linkdiscord für Admins, um einen Minecraft-Account mit einer Discord-ID zu verknüpfen.

✅ Manuelle Verknüpfung (Discord → Minecraft): Neuer Discord-Slashcommand /linkmc (nur Admins), der eine vorhandene Minecraft-UUID mit einem Discord-User verknüpft.

✅ Discord-Rollensynchronisation → Minecraft: Beim Join werden Discord-Rollen anhand der in der config.yml/lang.yml hinterlegten role-link:-Sektion mit Minecraft-Gruppen/Permissions (z. B. LuckPerms) abgeglichen.

✅ Minecraft-Permissions → Discord-Rollen: Wenn ein Spieler eine bestimmte Permission hat, werden ihm die dazugehörigen Discord-Rollen gegeben bzw. entzogen (bidirektionales Role-Mapping).

✅ Floodgate/Geyser-Support: Bedrock-Spieler können beim Join geblockt werden, wenn sie nicht mit Discord verknüpft sind.

✅ Automatische Server-/Info-Embeds: Discord-Befehl /setup info erstellt ein dauerhaft aktualisiertes Info-Embed (TPS, MSPT, Online-Spieler, Java-/Bedrock-IP aus der Config).

✅ Buttons unter Embeds: Unter dem Status-/Info-Embed wird ein Button angezeigt, der z. B. eine Liste der Online-Spieler für Admins ausgibt.

✅ Ticket-System (Discord):

Konfiguration mehrerer Ticket-Typen über tickets: (mit Button, Kategorie, Fragen und Support-Rollen).

Erstellen eines Ticket-Embeds mit Button.

Tickets übernehmen Minecraft-Namen, wenn der Spieler verknüpft ist – optional auch Welt + Koordinaten, wenn der Spieler online ist.

Buttons: „Benutzer hinzufügen“, „Claim“, „Close“ mit Bestätigungsabfrage.

Beim Schließen: Transkript wird zuerst lokal unter /ticket//.txt gespeichert und später in den Log-Channel gesendet.

Verzögertes Löschen des Transkripts (z. B. nach 5 Minuten).

✅ /ticket setup … Tab-Completion: Für den Befehl /ticket setup type: channel: werden Ticket-Typen automatisch vorgeschlagen.

✅ Regel-/Verifizierungs-System:

Neuer Slash-Command /setup regel (nur Admins): Liest rules.yml und postet sie in mehrere Embeds.

Am Ende steht ein Button „Bestätigen“, der ein Modal mit einem Codewort öffnet.

Bei korrektem Code wird automatisch eine Rolle aus der config.yml vergeben, bei falscher Eingabe kommt eine Fehlermeldung.

Alles mit Debug-Ausgaben und Langfile-Unterstützung.

✅ /embit (Admin): Öffnet ein Modal, mit dem Admins schnell ein Embed bauen können (Titel, Content, Bild, Footer, Farbe als Hex). Ideal für schnelle Server-Ankündigungen.

✅ Join-/Leave-/Death-Messages Discord ↔ Minecraft: Nachrichten für Join, Leave und Tode können aus der Config geladen und an Discord geschickt werden.

✅ bStats-Integration: Plugin sendet anonyme Nutzungsdaten mit der hinterlegten bStats-ID 26581.

✅ Mehrsprachigkeit / Langfiles:

Sprachdateien liegen unter lang/ (z. B. lang/de.yml, lang/en.yml, lang/fr.yml, lang/it.yml, lang/ru.yml).

Alle Discord-/Minecraft-Texte (inkl. Buttons, Fehlermeldungen, Debug) sollen aus den Langfiles kommen.

Fehlender Key link_button wurde ergänzt.

Neuer Key info_sent wurde ergänzt.

Alle Debug-Nachrichten beginnen mit [Debug].

✅ Discord-Serverbild in Embeds: Embeds nutzen automatisch das Icon des Discord-Servers (Thumbnail oder Footer-Icon).

✅ Kompatibilität: Plugin ist für Paper 1.21.7 (Java 21) entwickelt.

Änderungen / Verbesserungen

🛠 Auslagerung von Hardcoded-Texten in config.yml bzw. lang/*.yml, damit alle Discord-/MC-Texte übersetzbar sind.

🛠 TicketManager wird zentral im Bot/Plugin gehalten.

🛠 Linking-Code-Ablauf beim Minecraft-Join überarbeitet: Wenn Spieler nicht verlinkt → Kick/Info mit Code; wenn verlinkt → sofortige Rollen-Synchronisation.

🛠 SQLite statt YAML für Verknüpfungen, damit mehrere Instanzen / Reloads sicherer sind.

🛠 Debug-Ausgaben für fast alle Aktionen (Ticket erstellt, Modal geöffnet, Rolle vergeben, fehlender Channel, fehlendes Log-Channel-Mapping).

🛠 Config-Beispiele erweitert (role-link:, language: "de", tps-monitor.auto-update: true, linking.code-expiry-minutes: 15).

🛠 Serverstatus-Embed zeigt „aktuell offline“, wenn der MC-Server nicht erreichbar ist (Text aus Langfile).

Fehlerbehebungen

🐛 Problem behoben, dass Buttons/Modals teilweise doppelt ausgeführt wurden (doppelte Listener / mehrfach registrierte Module).

🐛 Problem behoben, dass der Log-Channel aus der Config zwar gesetzt war, aber im Code nicht gefunden wurde.

🐛 JDA-Fehler 4014 (Disallowed Intents) dokumentiert und Konfiguration angepasst (Intent-Auswahl).

🐛 NullPointer-Fälle bei fehlenden Sprachkeys behoben, indem fehlende Keys ergänzt wurden.

🐛 Discord-Rollen werden jetzt sowohl gegeben als auch entfernt, je nachdem ob die Permission vorhanden ist.

🇬🇧 Changelog (English)

Title suggestion: Synccord – Discord ↔ Minecraft Link & Sync Plugin

Added

✅ Discord–Minecraft account linking: Players receive a link code on join which is confirmed via Discord. Links are stored permanently in an SQLite database (linked_users with uuid, discord_id, linked_at).

✅ Manual link (Minecraft → Discord): New admin command /linkdiscord to manually bind a Minecraft player to a Discord user.

✅ Manual link (Discord → Minecraft): New Discord slash command /linkmc (admin only) to bind an existing Minecraft UUID to a Discord user.

✅ Role sync Discord → Minecraft: On player join, Discord roles are matched with Minecraft groups/permissions based on the role-link: section in the config.

✅ Permission → Discord role sync: If a player has a specific Minecraft permission, the corresponding Discord role will be granted or removed accordingly (two-way role mapping).

✅ Floodgate/Geyser support: Bedrock players can be blocked on join if they are not linked to Discord.

✅ Auto-updating server/info embed: Discord command /setup info posts a status/info embed (TPS, MSPT, online players, Java/Bedrock IP) which keeps updating.

✅ Action buttons below embeds: A button below the status embed can show the current online players to admins.

✅ Discord ticket system:

Multiple ticket types definable via tickets: in the config.

Ticket embed with button creation.

Tickets can auto-use the linked Minecraft name and even world/coordinates if the player is online.

Buttons for “Add user”, “Claim”, “Close” (with confirmation).

On close: transcript is first saved locally under /ticket//.txt and only sent to the log channel once the button is pressed.

Transcript can be auto-deleted after a delay.

✅ Tab completion for ticket setup: /ticket setup type: channel: now suggests existing ticket types.

✅ Rules / verification workflow:

New admin slash command /setup regel that reads rules.yml and posts it in multiple embeds.

Final button “Confirm” opens a modal with a code word.

On success, a role from the config is assigned; on failure, an error message is shown.

Fully language- and debug-enabled.

✅ /embit (admin): Opens a modal so admins can quickly build an embed (title, content, image, footer, color as hex).

✅ Join/leave/death message bridge: Messages for join, leave and death can be pulled from the config and sent to Discord.

✅ bStats integration: Sends anonymous stats using ID 26581.

✅ Multi-language support:

Language files under lang/ (e.g. lang/de.yml, lang/en.yml, lang/fr.yml, lang/it.yml, lang/ru.yml).

All messages, buttons, errors and debug output are read from the language files.

Missing keys link_button and info_sent were added.

All debug messages start with [Debug].

✅ Discord guild icon in embeds: Embeds automatically use the Discord server’s icon (thumbnail or footer icon).

✅ Version compatibility: Originally built for Paper 1.21.7 (Java 21).

Changed

🛠 Hardcoded texts were moved into config.yml / lang/*.yml so everything can be translated.

🛠 TicketManager is now held centrally by the bot/plugin.

🛠 Join flow for linking improved: non-linked players get kicked/informed with a code, linked players get immediate role sync.

🛠 SQLite instead of YAML for link storage to make the link persistent and safe across restarts.

🛠 More verbose debug logging for missing channels, missing log channel, ticket creation, modal open, role assignment, etc.

🛠 Config expanded with role-link:, language: "de", tps-monitor.auto-update: true, linking.code-expiry-minutes: 15.

🛠 Server status embed shows “currently offline” when the MC server cannot be reached (text from langfile).

Fixed

🐛 Fixed an issue where button/modal actions were executed twice due to multiple registered listeners.

🐛 Fixed an issue where the log channel was configured but not actually found in code.

🐛 Documented and adjusted for JDA error 4014 (Disallowed Intents).

🐛 Fixed NPEs caused by missing language keys by adding the missing entries.

🐛 Discord roles are now both granted and removed depending on Minecraft permissions.

Файлы

synccord-0.3.0 beta.jar(10.86 MiB)
Основной
Скачать

Метаданные

Канал релиза

Beta

Номер версии

0.3.0_beta

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.21–1.21.10

Загрузок

4

Дата публикации

3 мес. назад

Загрузил

ID версии

Главная