DytchsLinking
The all-in-one Minecraft ⇄ Discord linking plugin.
Link accounts in seconds, reward your players, sync ranks both ways, and run it across your whole network from a single bot. Better then any other linking bot out there!
Support: Message "dytch" on discord for free lifetime support!
✦ Features
- Simple, secure linking. Run
/discord link, DM the code to your bot, done. Works for offline and Bedrock players (the name is captured at link time). - First-link rewards. Run any console commands the first time a player ever links — exactly once, ever, even across a whole network. Never fires twice.
- Two-way role sync. Minecraft → Discord (in-game rank grants a Discord role) and Discord → Minecraft (a booster role grants in-game perks). Fully bidirectional.
- Discord Booster perks. Server Boosters get ongoing perks that are added and removed automatically with the role, plus a one-time reward they claim themselves in a fully editable GUI.
- NameMC likes reward. Reward players who like your server on NameMC with a one-time crate (or anything), a clickable join reminder, and an optional Discord webhook shout-out.
- Built for networks. Share one bot token across every server — the plugin elects a single host (with automatic failover) so DMs and lookups are answered exactly once. Rewards and links are network-wide via MySQL. Or run a single server on flat-file with zero setup.
- Alt detection. Get a staff ping in Discord when a player links from an IP that already has other linked accounts — LiteBans
/altsstyle, no LiteBans required. - Link announcements. Post a clean review embed (player head, name + UUID, and the linked Discord user) to a channel on every new link.
- Staff lookups in Discord.
/linked discord <@user>and/linked player <name>slash commands, restricted to admins / your staff role. - Link reminders. Nudge unlinked players on join with a clickable message that runs
/discord linkfor them. - Fully configurable. Every message, reward command, role mapping, and GUI item is editable. Legacy
&aand hex&#RRGGBBcolours everywhere. - Lightweight. JDA is fetched automatically at startup (tiny jar, no shading), and nothing is a hard dependency.
✦ Requirements
- Server: Spigot / Paper / Folia (and forks) 1.21+, Java 21.
- A Discord bot (free — made in the Developer Portal) with the Server Members + Message Content intents.
- Optional: MySQL (for a multi-server network), LuckPerms or Vault (for rank/booster perk sync), PlaceholderAPI.
- No forced dependencies — a single server works out of the box on flat-file.
✦ Installation
- Drop DytchsLinking.jar into
/pluginsand start the server once to generate the config. - Create a bot at
discord.com/developers/applications→ Bot → Reset Token, and enable the Server Members + Message Content intents. - Invite it (OAuth2 → URL Generator) with the
bot+applications.commandsscopes and the Manage Roles permission, with its role above any role it should assign. - Put your
bot-tokenandguild-idin config.yml. - (Multi-server) Set
storage.type: mysqlwith the same database on every server, and use LuckPerms so rank/booster perks apply network-wide. - Restart. In game:
/discord link→ DM the code to the bot → linked.
✦ Discord Booster → Minecraft perks
Reward the people who boost your Discord, automatically.
- Ongoing perks. When a linked member has your Server Booster role, configured commands run to grant a rank/permission — and the reverse commands run the moment they stop boosting. Perks come and go with the role, with no babysitting.
- A one-time reward they claim. Players open
/nitroand claim a one-time reward (a crate key, items, anything). It runs on the server they claim from, so the reward lands where they want it — not stuck on your hub. - Editable claim GUI. DeluxeMenus-style item config (material, display_name, lore, item_flags, enchantments/glow, custom-model-data) — or disable the built-in menu and use your own.
- Works on every server. Only one server hosts the bot, so the others relay through the database — boosters are detected and rewarded no matter which server they're on.
- Per-server control. Choose exactly which servers allow claiming (e.g. block it on the hub, allow it on game servers).
✦ Run one bot across your whole network
Put the same token on every server. The plugin uses a database lease to elect one host for the bot, so a DM'd link code is answered exactly once (no duplicate "invalid or expired" spam) and slash lookups are reliable. If the host goes down, another server takes over within a couple of minutes — fully automatic.
✦ NameMC likes → rewards
A player who likes your server on NameMC is rewarded once, ever (atomic, even across servers). Until they like, a clickable reminder shows on join; once they like it stops; if they remove the like it returns — but the reward is never granted twice. Optional Discord webhook announces each claim. Players use
/namemc to claim instantly.✦ Commands
| Command | Description | Permission |
|---|---|---|
| /discord link | Generate a code to link your Minecraft account to Discord | dytchslinking.link |
| /discord linked [player] | Show link status (yours, or another player's) | dytchslinking.linked(.others) |
| /discord unlink [player] | Unlink an account | dytchslinking.unlink(.others) |
| /discord resync [player] | Resync group → Discord roles | dytchslinking.resync |
| /discord nitro [player] | Re-check + diagnose a player's booster status | dytchslinking.nitro |
| /discord reload | Reload the configuration | dytchslinking.reload |
| /nitro [claim] | Open the booster-reward claim menu (or claim directly) | dytchslinking.nitro.claim |
| /namemc | Check your NameMC like and claim the reward | — |
| /linked discord|player [Discord] | Staff lookup slash commands (admin / staff role only) | — |
/discord → /dlink, /dytchslinking • /namemc → /like, /likes • /nitro → /boosterreward✦ Permissions
| Node | Default | Grants | |
|---|---|---|---|
| dytchslinking.link | true | Link your own account | |
| dytchslinking.linked | true | Check your own link status | |
| dytchslinking.nitro.claim | true | Open /nitro and claim the booster reward | |
| dytchslinking.linked.others | op | Check another player's status | |
| dytchslinking.unlink(.others) | op | Unlink an account | |
| dytchslinking.resync | op | Resync group roles | |
| dytchslinking.nitro | op | Re-check / diagnose the booster sync | |
| dytchslinking.reload | op | Reload the config | |
| dytchslinking.admin | op | All admin functions | |
| dytchslinking.reminder.bypass | false | Don't get the "link your Discord" reminder | |
| dytchslinking.namemc.bypass | false | Don't get the "like us on NameMC" reminder |
✦ Support
Questions or setup help? Message "dytch" on Discord for free lifetime support.
Redistribution / resale is not permitted. Thanks for supporting the project! ❤
