-
Notifications
You must be signed in to change notification settings - Fork 2
Installation
TriBridge runs as a normal Node.js process. It needs a Discord bot application, one Microsoft account per Hypixel guild, and somewhere to keep running — a VPS, a home server, anything that stays on. There is no build step.
| Requirement | Details |
|---|---|
| Node.js | v22 or newer |
| npm | Included with Node.js |
| Discord bot | An application at the Discord Developer Portal with the Message Content privileged intent enabled |
| Minecraft account | One Microsoft account per Hypixel guild, each owning Minecraft: Java Edition and able to join mc.hypixel.net
|
Dependencies are discord.js, mineflayer, prismarine-auth and dotenv; npm install handles them.
nodemon is a development dependency used only by npm run dev, so a server that just runs the bot can
install with npm install --omit=dev.
The bot account is a real account. It sits in the guild, it can be muted by Hypixel's spam filter, and it is subject to the server rules like any other. Use an account you are willing to have doing this.
-
Clone the repository
git clone https://github.com/Trilleo/TriBridge.git cd TriBridge -
Install dependencies
npm install
-
Create the
.envfile in the project root. Copy.env.exampleand fill it in:cp .env.example .env
See Configuration for every variable and what it does; the minimum is:
DISCORD_TOKEN=your_discord_bot_token DISCORD_CHANNEL_ID=your_bridge_channel_id LOG_CHANNEL=your_log_channel_id MINECRAFT_USERNAME=you@example.com
-
Invite the bot to your Discord server with the permissions listed in Permissions.
-
Start it
npm start
-
Complete the Microsoft sign-in. On a fresh install the account in
MINECRAFT_USERNAMEis registered as the first Hypixel guild and a device-code flow opens in the console: a link and a code. Open the link, enter the code, and sign in as that account. Tokens are cached in.minecraft-auth/, one entry per account, so this happens once per account. -
Set the admin roles.
/adminrole add role:@StaffUntil a role is added, only someone with the Discord Administrator permission can run
/adminroleitself, and nothing else admin-gated will work. See Admin roles.
/ping
The reply gives Discord latency, the interaction roundtrip, and each Hypixel guild's connection state with the Minecraft account's own ping. A guild showing offline means the account has not connected — check Troubleshooting.
Then say something in the bridge channel and check it arrives in guild chat, and say something in guild chat and check it arrives in Discord. Both directions are separate code paths; one working does not prove the other.
Everything after the first guild is done from Discord, not from the .env:
/guilds add key:sb name:SkyBlock Guild tag:SB account:you@example.com
The device code arrives in your own private reply — no console access needed. See Hypixel guilds.
Everything is written next to the repository, in the project root, and every one of those files is gitignored.
See Config files for what each holds. They survive a git pull, which is what makes
updating a two-command job.
TriBridge is a foreground process with no built-in supervision. Use whatever your host provides — systemd,
pm2, a Docker restart policy — and point it at:
node src/index.jsPoint the supervisor at node directly rather than at npm start. npm would sit between the supervisor and
the bot as an extra process, and stop and restart signals have to pass through it to reach the process that
actually holds the Discord and Hypixel connections.
The bot reconnects to Hypixel on its own (Reconnection); it does not restart itself if the Node process dies, which is what the supervisor is for.
Using the bridge
Running the bot
Hypixel guilds
Administration
Help
Development