SnDiscordLink v1.0.0
·
25 commits
to main
since this release
First stable release of SnDiscordLink.
Links Minecraft accounts to Discord accounts with one-time codes. Several servers share one
MySQL database and elect a single embedded Discord bot through a database lease, so a player
links once and every server, placeholder and reward follows.
Features
- One-time 6-digit codes in both directions:
/discord linkin game redeemed with/link <code>
in Discord, and/linkin Discord redeemed with/discord verify <code>in game. - Multi-server by design: codes, links, rewards, cooldowns and the bot lease all live in the
shared database. No cross-server messaging, identicalconfig.ymleverywhere. - Automatic bot failover: exactly one backend holds the lease and runs JDA; a dead host is
replaced in about 30 seconds. linked-rolegiven on link and removed on unlink, with optional nickname sync.claims: in-game rewards gated by a boost or a Discord role, each with its own cooldown.rank-roles: permanent LuckPerms groups mirrored to Discord roles. Only mapped roles are
ever added or removed, one PATCH per member.role-rewards: Discord roles that runon-gain/on-loseactions in game.rewards: action lists run once on link, on unlink and on a Discord leave.- PlaceholderAPI expansion and a webhook embed log of link events.
- Discord side:
/link,/unlinkand the staff group/dlink info | unlink | accounts | stats.
Requirements
Java 21+, Paper 1.20.4+, SnLib 1.34.3+. JDA 6.6.0 is downloaded by Paper into libraries/ on
first boot, never shaded. Optional: LuckPerms, PlaceholderAPI.
Build
Obfuscated with SnObfuscator (59 classes renamed, verify 60 structural / 60 data-flow / 0 failed).