ModuleWebLink
One-click Discord account linking for DiscordVerify — through a browser, not a DM code.
ModuleWebLink is an addon for DiscordVerify that adds a second way for players to link their Minecraft and Discord accounts: standard Discord OAuth2, in a browser, with no code to copy or DM to send. A player runs one command, clicks a link, approves on Discord, and they're linked — done.
It's a separate plugin jar. It does not replace DiscordVerify's existing DM-code
Features
Requirements
Setup
1. Drop
2. In the Discord Developer Portal, open your application's OAuth2 tab and add a Redirect URI of
3. In
4. Restart. Players run
Commands
| Command | Description |
|---|---|
|
No dedicated permission node is required —
Compatibility
Requires DiscordVerify to be installed and enabled first. Built and tested against Paper 1.21.11.
One-click Discord account linking for DiscordVerify — through a browser, not a DM code.
ModuleWebLink is an addon for DiscordVerify that adds a second way for players to link their Minecraft and Discord accounts: standard Discord OAuth2, in a browser, with no code to copy or DM to send. A player runs one command, clicks a link, approves on Discord, and they're linked — done.
It's a separate plugin jar. It does not replace DiscordVerify's existing DM-code
/link flow; both work side by side, and every linked account behaves identically afterward (same database, same Discord role sync, same permission node) no matter which method was used.Features
/linkweb— sends the player a clickable link. No code to type, copy, or DM.- Standard Discord OAuth2 (
identifyscope) — the same authorization flow used by major Discord bot dashboards, not a custom token scheme. - One request, no polling — the callback exchanges the authorization code and fetches the Discord identity synchronously in a single HTTP request. The link either completes or fails immediately; there's no "please wait a few seconds" step.
- Modern result page — shows the player's Minecraft skin head next to their Discord avatar side by side, with a clean glass-card, dark-themed UI. Clear, friendly error pages for expired links, cancelled authorization, or accounts already linked.
- Zero extra footprint — the callback server is Java's own built-in
HttpServer; no bundled web framework, no database schema changes. A completed web link is stored through DiscordVerify's existing account table. - Safe by default — link sessions are single-use and expire automatically (5 minutes by default, configurable); a stale or reused link is rejected with a clear message instead of silently failing.
Requirements
- DiscordVerify (core plugin) installed, configured, and enabled — this module does nothing on its own.
- Paper (or a Paper fork) 1.21.x, Java 21.
- A Discord application at the Discord Developer Portal — you'll need its Client ID and Client Secret.
- A port your server can expose to the internet (default
16508) for Discord's redirect to reach your server.
Setup
1. Drop
DiscordVerify.jar and ModuleWebLink.jar into plugins/ and start the server once to generate configs.2. In the Discord Developer Portal, open your application's OAuth2 tab and add a Redirect URI of
<your-public-base-url>/callback.3. In
plugins/ModuleWebLink/config.yml, set web.client-id, web.client-secret, and web.public-base-url to match, and port-forward web.port if needed.4. Restart. Players run
/linkweb in-game.Commands
| Command | Description |
|---|---|
|
/linkweb | Sends a one-time Discord OAuth2 authorization link to link your account. |No dedicated permission node is required —
/linkweb is available to all players by default, same as DiscordVerify's own /link.Compatibility
Requires DiscordVerify to be installed and enabled first. Built and tested against Paper 1.21.11.
