WhiteLink lets players join your server before they’re whitelisted, funnels them into a clean “gate” world, and walks them through Discord verification. After submitting a short code in a Discord modal, they’re auto-whitelisted and released—no manual approvals.
Highlights
- Join-first flow: New players spawn in a void gate world with a clickable hologram and clear instructions.
- Discord modal pairing: A persistent Verify panel in your Discord; players enter their 6-digit code and link.
- Auto-whitelist + release: Add to native whitelist, run an optional console command, and teleport on release.
- Saved Return Location: If someone is re-gated (e.g., leaves your Discord), their last location is saved and used when they re-verify—so they’re dropped right back where they were.
- Auto re-gate on Discord leave: If a verified member leaves the Discord, they’re unlinked and sent back to the gate (online) or gated next login (offline). LuckPerms suffix is auto-removed.
- Webhook logging (single embed): Optional webhook logs each successful link with the user’s Discord avatar and Minecraft head.
- Polished verify panel: Embed uses your Minecraft server name/MOTD and server-icon.png for branding.
- Spawn logic you control: Release to Saved Return Location → World Spawn → Fixed Coords (in that order).
- Hologram + placeholders: Auto-generated DecentHolograms board; PlaceholderAPI for %discordwl_code% / %discordwl_linked%.
- SQLite storage: Shaded driver, periodic cleanup. Built for Paper 1.21.x (Java 21+, runs on Java 23).
Requirements
- Paper 1.21.x
- Java 21+
- Discord bot token (JDA 5) — enable Server Members Intent for leave events
- DecentHolograms (hologram), PlaceholderAPI (placeholders)
- Vault, EssentialsX, EssentialsXChat (recommended for chat badge)
- LuckPerms (optional, for [✔] suffix)
How it works
- Player joins → spawns in the gate world and runs /dw to get a code.
- Clicks Verify in your Discord channel → enters the code in the modal.
- On success, they’re auto-whitelisted and released (to saved spot/world spawn/coords), with optional LuckPerms [✔].
Commands
- /dw — show/generate your pairing code
- /dw recheck — release yourself if verified
- /dw check <player|uuid> — check link status
- /dw reload — reload config & reconnect the bot
Permissions
- discordwl.use (default: true)
- discordwl.admin (default: op)
- discordwl.bypass (default: op)
Quick setup
- Drop the jar into /plugins and start once (plugin creates config, gate world, platform, hologram).
- Edit plugins/DiscordWhitelist/config.yml → set discord.token, discord.guild-id, discord.channel-id, discord.invite-url, discord-webhook.
- (Optional) set discord.webhook-url to log successful links.
- Run /dw reload or restart.
- Ensure Server Members Intent is enabled in the Discord Developer Portal so the plugin can re-gate users who leave.