DyDiscord 1.1.0
This update brings your server into Discord. A live status card shows whether the server is up and who is playing. Claims and random teleports from DyClaim and DyRTP appear in a channel you choose. Players get PlaceholderAPI placeholders and three new languages, and other plugins get a developer API. Every new system has its own switch. Account links, settings and translations are kept, and servers upgrade by replacing the JAR.
Server status card
What changed. DyDiscord could already answer /server when someone asked. Now one message in a channel always shows the current state.
- The card shows Online or Offline, players (for example
3/50), the Minecraft version and TPS. TPS appears on Paper and its forks; Spigot does not report it, so the field is left out there. - DyDiscord edits the same message every
interval-seconds(30–3600, default 60). It posts a new card only if the old one was deleted, so the channel never fills up. - On a normal shutdown the card turns red and shows Offline. After a crash it keeps the last state until the server is back.
- Labels follow the bot language.
- Settings in
bot.yml:status-card.enabled,status-card.channel-idandstatus-card.interval-seconds. It is off by default and cannot share the console channel. - The bot needs View Channel, Send Messages and Embed Links in that channel.
Logs from DyClaim and DyRTP
What changed. DyDiscord now works together with the other DyPlugin plugins. Their events are posted as small coloured embeds:
| Switch | Posted when |
|---|---|
plugin-logs.dyclaim.claims | A claim is created or removed |
plugin-logs.dyclaim.trust | A player is trusted or untrusted in a claim |
plugin-logs.dyclaim.transfers | A claim changes owner, including market sales |
plugin-logs.dyrtp.teleports | A random teleport finishes, with world and coordinates |
- Set
plugin-logs.channel-idto turn the logs on; a blank channel turns them all off. - Each kind has its own switch, so you can, for example, log claims but not teleports.
- DyClaim (1.1.0 or newer) and DyRTP are optional. DyDiscord finds them at startup and when they are enabled later.
- Names are escaped for Discord, and the log never mentions anyone.
- If Discord is slow, at most 50 lines wait; older ones are dropped instead of building up.
PlaceholderAPI
DyDiscord registers its own placeholders when PlaceholderAPI is installed. No eCloud download is needed.
| Placeholder | Shows |
|---|---|
%dydiscord_linked% | true if the player has linked a Discord account |
%dydiscord_discord_name% | The linked Discord name, or empty |
%dydiscord_bot_connected% | true while the bot is connected |
The values come from memory, so scoreboards and tab lists never wait for the database. Switch: integrations.placeholderapi in config.yml.
German, Spanish and Russian
DyDiscord now ships complete Minecraft and Discord message files in German, Spanish and Russian, next to English and Turkish.
- With
lang: auto, players get these languages from their Minecraft language setting. - Players can choose with
/dyd language de,esorru. Administrators can set the game or bot language for everyone. - The bot language decides the Discord texts, including the account panel, the status card and the logs.
- Commands stay English in these languages. Turkish keeps its translated command words.
- The new files are created in the plugin folder and can be edited like the others.
MiniMessage
On Paper and Purpur, Minecraft messages can now use MiniMessage tags next to the usual & codes, for example <green>, <#55ff55> or <gradient:#5865F2:#55ffff>Linked!</gradient>. The Discord-to-Minecraft chat template accepts them too.
- Existing message files keep working unchanged.
- Spigot does not include Adventure, so there only
&codes apply. DyDiscord does not bundle Adventure. - Player names, Discord names and chat messages are never read as tags.
Developer API
Other plugins can use dev.dydiscord.api.DyDiscordAPI:
getOnlineAccount(uuid)answers instantly for online players.findByMinecraft(uuid)andfindByDiscord(id)look up any account without blocking the server.AccountLinkEventandAccountUnlinkEventfire on the main thread when a link is made or removed, by the player, the Discord user or an administrator.
bStats
DyDiscord now sends anonymous statistics to bStats: server and player counts, Minecraft and plugin versions, and a few DyDiscord charts (languages, chat bridge, console relay, role sync, status card, plugin logs and PlaceholderAPI use). No player names, Discord IDs or messages are sent. Turn it off with metrics.enabled: false, or for every plugin in plugins/bStats/config.yml.
Modern cards everywhere
Every bot message except relayed chat now uses Discord's newer container layout: a card with a coloured edge, a bold title and neat sections, instead of plain text or old-style embeds.
- This covers private replies (errors, rate limits, account answers), help,
/server,/players,/ip,/linksand/status,dy!message commands, the console relay, the shutdown notice, the status card and the plugin logs. - The account panel and giveaways already used this layout.
- Relayed chat stays plain text, and join, leave and death notices in the chat channel keep their small embeds, so conversations read naturally.
- Nothing needs to be configured, and no extra bot permission is needed.
Smaller changes
- New license. DyDiscord 1.1.0 and later use the DyDiscord Source-Available License 1.0, the same terms as DyClaim: free to use and modify on any server, no paid distribution, and distributed versions must share their source. Earlier versions keep the earlier GPL v3 notice with additional terms.
- After choosing a language, the confirmation now names that language in the new language.
- Slash commands are unchanged:
/server,/players,/ip,/links,/link,/account,/unlink,/helpand/statuswork as before.
Upgrading
- Stop the server.
- Back up the old JAR and the whole
plugins/DyDiscordfolder. - Replace the JAR with one package:
DyDiscord-1.1.0.jar, orDyDiscord-1.1.0-standalone.jarfor servers without internet access at first start. - Start the server. To use the new features, set
status-cardandplugin-logsinbot.ymland run/dyda reload.
Account links do not need to be made again. Returning to 1.0.2 is possible; players who chose German, Spanish or Russian then see the automatic language.
Verification
- Automated tests. 718 tests passed: the 699 from 1.0.2 plus new ones for every new system, including the container cards.
- Upgrade test on Purpur 1.20.4 with DyClaim, DyRTP and PlaceholderAPI, starting from the published 1.0.2 JAR: 19/19 checks passed. Custom settings and a saved Turkish preference were kept, the new languages could be chosen, the placeholders answered, a MiniMessage gradient arrived in colour and DyClaim and DyRTP kept working.
- Spigot 26.3: 4/4.
&codes applied and MiniMessage tags were shown as written. - Live Discord test on a test server: 9/9. The status card was posted and edited in place, DyClaim and DyRTP logs arrived, the card turned Offline on shutdown and was reused after a restart, and existing slash commands were left untouched. A second run with the final build checked that every message — status card, logs, console relay and shutdown notice — arrives as a container card (11/11).
- The German, Spanish and Russian Discord texts are covered by automated tests but were not seen in a live Discord server. Folia and proxies remain outside the support claim.
License
DyDiscord Source-Available License 1.0 Effective date: 25 October 2026 Copyright (c) 2026 Claww / DyPlugin and DyDiscord contributors. All rights reserved except as expressly granted below. 1. Scope "Software" means the DyDiscord code, binaries and documentation distributed with this license, to the extent the relevant copyright holders may grant these permissions. "Modified Version" means a modification or derivative of that Software. This is a custom source-available license, not the GNU GPL and not an OSI-approved open-source license. 2. Permitted use You may download, inspect, run, copy and modify the Software, including for personal, educational and commercial Minecraft servers. Running a server that accepts donations or sells server access does not itself constitute selling the Software. You may redistribute the Software or Modified Versions without charge if you meet all conditions below. 3. No paid distribution Without separate written permission from the relevant copyright holders, you must not sell, sublicense for a fee, offer paid downloads of, or require payment or a donation to obtain the Software or a Modified Version. You must not include it in a paid software bundle or use another arrangement to charge for access to its source or binaries. Voluntary donations are allowed only when access to the Software is not conditional on donating. 4. Source availability on distribution Whenever you distribute the Software or a Modified Version, provide a public, free-of-charge link to its complete corresponding source code, including your changes and the build files needed to produce the distributed version. Keep that source available for as long as you offer the distribution. Do not distribute a closed-source Modified Version. Private modifications that you do not distribute do not have to be published. 5. Attribution and notices Retain this license and existing copyright and attribution notices in source and binary distributions. Identify DyDiscord and Claww / DyPlugin visibly in the plugin description, README or equivalent documentation, and any public distribution page. Modified Versions must identify their changes and must not imply that they are official releases or endorsed by the original authors. 6. Same terms for redistribution Distribute covered Software and Modified Versions under this license, with no additional terms that remove the permissions granted here or defeat its conditions. No ownership of the Software, project name or branding is transferred. Attribution does not grant permission to impersonate the project. 7. Third-party material and earlier distributions Third-party components, dependencies and contributions remain subject to their applicable rights and licenses. This license does not override those licenses or grant rights the relevant copyright holders do not possess. Earlier copies distributed under another license retain their applicable license; this notice does not retroactively revoke previously granted rights. If you cannot satisfy all applicable licenses, do not redistribute that combination without obtaining the required permissions. 8. Termination Permissions under this license terminate if you fail to comply with its conditions. They are reinstated when the violation is fully cured, unless the relevant copyright holder has separately terminated them in writing. Termination does not remove any rights you have independently under law or under an applicable license for an earlier distribution. 9. Disclaimer of warranty and liability TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. THE AUTHORS AND COPYRIGHT HOLDERS ARE NOT LIABLE FOR ANY CLAIM, DAMAGE OR OTHER LIABILITY ARISING FROM THE SOFTWARE OR ITS USE, WHETHER IN CONTRACT, TORT OR OTHERWISE. MANDATORY LEGAL RIGHTS REMAIN UNAFFECTED. 10. Separate permissions For permissions beyond this license, contact Claww / DyPlugin through https://github.com/DyPlugin/DyDiscord. A separate permission is valid only when granted in writing by the relevant rights holder.

