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.

