Skip to main content
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.

Requirements

Dependencies are discord.js, mineflayer, prismarine-auth, dotenv and pg; 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.

Steps

  1. Clone the repository
  2. Install dependencies
  3. Create the .env file in the project root. Copy .env.example and fill it in:
    See Configuration for every variable and what it does; the minimum is:
  4. Invite the bot to your Discord server with the permissions listed in Permissions.
  5. Start it
  6. Complete the Microsoft sign-in. On a fresh install the account in MINECRAFT_USERNAME is 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.
  7. Set the admin roles on the THG Community bot, as someone with the Discord Administrator permission:
    The list is shared by both bots. Until a role is added, nothing admin-gated works on either. See Admin roles.

Checking it worked

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. Give the bridge channel a topic that says what it does, for example: Messages here are sent to Hypixel guild chat, and guild chat appears here. Posting there is how members agree to the relay, so the channel has to say so. The privacy policy covers the rest.

Adding more Hypixel guilds

Everything after the first guild is done from Discord, not from the .env:
The device code arrives in your own private reply — no console access needed. See Hypixel guilds.

Where TriBridge keeps its settings

The settings you change from Discord are stored in the database; the .env and the cached Microsoft tokens are in the project root, gitignored. See Config files for what each holds. None of it is touched by a git pull, which is what makes updating a two-command job.

Running it as a service

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:
Point 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.

Next