/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:
/linkopens a form asking for the Minecraft username.- The bot replies, only to them, with how to join the verification server and an Enter code button.
- 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.
- 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.
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.