Skip to main content
Binds a Discord user to a Minecraft account on the community bot. It only records the link: the community bot gives no role and changes no nickname, because roles are handled by another bot and two bots managing the same members would undo each other. These are this bot’s own links. TriBridge keeps a separate list with its own /link, so linking here does not change how the bridge shows a member — see TriBridge account linking.

Commands

What is stored

MinecraftLink, one row per member, related to User.id rather than to the Discord id. It holds the canonical name Mojang returned and the account’s UUID. It also holds a rank, set by hand with /setrank and shown by /whois and /links. It is free text, up to 32 characters, and only a record: nothing fills it in from Hypixel, and nothing turns it into a role. The UUID is why a link survives a rename: avatar URLs are built from it, so a member who changes their Minecraft name keeps their head and only the stored name goes stale. Both directions are enforced. One link per Discord user (userId is unique) and one Discord user per Minecraft account (uuid is unique, and setLink refuses a name already claimed by somebody else). Silently reassigning an account would let anybody wear a guild member’s identity across the bridge. Links are deliberately not scoped to a Hypixel guild: one link per member, whatever guild they are in.

Verification

With verification on, /link proves the member owns the account:
  1. /link opens a form asking for the Minecraft username.
  2. The bot replies, only to them, with how to join the verification server and an Enter code button.
  3. They join the server in Minecraft (Java Edition). It is online-mode, so Mojang confirms the account is theirs, and they are disconnected straight away with a six-digit code. Nobody loads into a world.
  4. Enter code opens a second form. A correct code links the account and the message turns into a confirmation. A wrong code gets its own error, and the button keeps working.
A code works once, expires after five minutes, and only redeems for the account named in step 1. Five wrong codes per ten minutes, then a wait: the code is the only thing between a member and somebody else’s account. A verified link takes the account over from anybody who claimed it before, and that member’s link is gone. Refusing would let one unverified claim lock the real owner out for good. The server runs inside the bot. Hosts switch it on with VERIFY_SERVER_PORT (the port it listens on) and VERIFY_SERVER_ADDRESS (what members are told to join); point an A record and a _minecraft._tcp SRV record at it so members can join without typing a port. It accepts every Java Edition release from 1.7 up, including ones newer than the bot has protocol data for, and the server list always shows it as compatible. Showing one fixed version would tell anybody on a newer release “Outdated server” and stop them from trying. With verification off, the name from the form is linked straight away after a Mojang check that the account exists, and nothing more. Anyone can then link any real Minecraft name; an admin undoes a wrong one with /unlink user:@them. Hypixel guild membership is not checked either way — that check lives on TriBridge’s /link, which needs a connected Minecraft bot. A Mojang lookup distinguishes three outcomes, and the reply differs for each: no such account, Mojang unreachable, and success. Collapsing the middle case into the first would tell a member they typed their own name wrong when the truth was an outage.

TriBridge

TriBridge does not read these links. It started its own list from them once, the first time it ran with links of its own, and the two lists have been independent since. See Shared database.