Minecraft whitelist with a Discord bot: application, role, and the server side
"Discord whitelist bot Minecraft" means one of two jobs, and most servers want both: the application (a player asks to join, staff read the answers and say yes or no) and the server whitelist (the Minecraft server lets in only approved players). A Discord bot such as Formwell does the first job and gives an @Whitelisted role. A plugin on your server, or you with /whitelist add, does the second. This page sets up both and says plainly which part each tool does. For FiveM, see the FiveM whitelist guide.
Pick your route
| Route | Game side | Good for | Work per new player |
|---|---|---|---|
| A. Manual | Vanilla whitelist; staff type /whitelist add <name> after Accept | Small SMPs, a few players a week, any server type (even Realms-like hosts with a console only) | One console command |
| B. Role gate | DiscordSRV checks the Discord role when the player joins | Paper/Spigot servers with steady applications | None; Accept gives the role and the player can join |
| C. Whitelist plugin | A Discord-whitelist plugin with its own bot (see the list below) | Servers where players should whitelist themselves without an application | None, but there is no staff review |
Step 1: the application in Discord (Formwell, free)
- Create a role
@Whitelisted. Add Formwell with the button below, then drag Formwell's own role above@Whitelisted(Server Settings > Roles), or Discord will not let it give the role. /form create name:whitelist review_channel:#wl-review accept_role:@Whitelisted(make #wl-review private to staff).- Add five questions with
/form add-question. Two sets that fit Discord's 45-character label limit:
Minecraft whitelist (detailed, Java + Bedrock)
1. Exact Minecraft username
2. Java or Bedrock (phone/console)?
3. Age and time zone
4. Past servers, and any bans? Why?
5. Someone griefs your base. What do you do?
As Formwell commands
/form add-question form:whitelist label:Exact Minecraft username style:Short (one line)
/form add-question form:whitelist label:Java or Bedrock (phone/console)? style:Short (one line)
/form add-question form:whitelist label:Age and time zone style:Short (one line)
/form add-question form:whitelist label:Past servers, and any bans? Why? style:Paragraph
/form add-question form:whitelist label:Someone griefs your base. What do you do? style:ParagraphMinecraft modded / technical server
1. Exact Minecraft username
2. Modpacks or farms you have played/built
3. How do you keep lag low with big builds?
4. Hours a week you expect to play
5. What is rule 2 of our server?
As Formwell commands
/form add-question form:whitelist label:Exact Minecraft username style:Short (one line)
/form add-question form:whitelist label:Modpacks or farms you have played/built style:Paragraph
/form add-question form:whitelist label:How do you keep lag low with big builds? style:Paragraph
/form add-question form:whitelist label:Hours a week you expect to play style:Short (one line)
/form add-question form:whitelist label:What is rule 2 of our server? style:Short (one line)/form publish form:whitelist channel:#whitelistposts the panel with an Apply button.
Ask for the exact username in its own short question: it is the line staff copy into the console, and a typo there is the most common reason an accepted player still cannot join. The shorter SMP set is on the whitelist application guide.
Members click Apply and answer in a Discord pop-up. Answers land in your review channel with Accept and Deny; Accept gives the role and DMs the member. Free: 3 forms, 5 questions each, unlimited submissions. Set up with 3 slash commands.
Add Formwell to your serverNeed more? Pro: up to 50 forms, multi-page forms (25 questions), cooldowns, CSV export, $5/month per server. Run /premium in your server to upgrade.
Formwell is new: it runs in our own test server and we are looking for its first real servers. Bugs: formwell@tuper.app.
Step 2, route A: /whitelist add by hand
- Turn the whitelist on once:
white-list=trueandenforce-whitelist=trueinserver.properties, or run/whitelist on. - When staff press Accept in #wl-review, copy the username from the answers and run
/whitelist add <name>in the console (in-game, ops add a leading slash). - Formwell's accept DM tells the player they are in. Remove someone with
/whitelist remove <name>.
Bedrock players through Geyser: Floodgate names start with a prefix (a dot by default), and the vanilla command cannot look them up. Floodgate has its own command, fwhitelist, for that (Floodgate commands, checked 2026-11-01). That is why the detailed set asks "Java or Bedrock?".
Step 2, route B: let the Discord role open the server (DiscordSRV)
DiscordSRV (free, open source, 1.30.5 released 24 Apr 2026, about 557,000 downloads on Modrinth on 2026-11-01) links each Minecraft account to a Discord account and can refuse players who lack a role. In its linking.yml (default file, read 2026-11-01):
Require linked account to play:
Enabled: true
...
Subscriber role:
Require subscriber role to join: true
Subscriber roles: ["123456789012345678"] # your @Whitelisted role ID
Require all of the listed roles: false
Kick message: "&cApply in our Discord (#whitelist) first."
- The option is named after Twitch subscribers, but any role ID works. Copy the ID with Developer Mode on (User Settings > Advanced), then right-click the role > Copy Role ID.
- A player who is not linked yet is kicked with a code; they DM that code to your DiscordSRV bot once, and from then on the role decides.
- Turn the vanilla whitelist off for this route (
white-list=false), or players not on it are still blocked. The defaultWhitelisted players bypass check: truemeans anyone you add to the vanilla list by hand gets in without the role, which is handy for staff alts. - DiscordSRV runs its own bot (you create it in the Discord developer portal). Formwell and DiscordSRV's bot sit side by side in your server; the role is their only connection.
Route B is DiscordSRV's documented option; we have not run it on our own Minecraft server. Test with a second account before you open applications.
Route C: Discord-whitelist plugins (no application)
These plugins run their own Discord bot and add players to the whitelist themselves, usually when a member types their name or links an account. They replace the vanilla whitelist rather than an application, so pair them with a form only if you still want staff to say yes first. Status on each plugin's own page, 2026-11-01:
| Plugin | What it does | Last update |
|---|---|---|
| DiscordWhitelister (Spigot) | Whitelist players by typing their name in a Discord channel | Repository archived Jan 2024: no more updates; avoid on new Minecraft versions |
| DiscordWhitelist ("Whitelist via Discord!") | Nickname whitelist from Discord chat, account linking, SQLite/MySQL | Feb 2024, lists Minecraft 1.18 to 1.20 |
| Noble Whitelist + Discord Integration | Discord add-on for the Noble Whitelist plugin; players can register themselves (MIT licence) | Sep 2026, current versions |
| DiscordID | Whitelist & 2FA | Link Discord to Java and Bedrock profiles, only members of your Discord server can join (Paper) | Oct 2026, current versions; closed source |
If you want "anyone in our Discord can play", one of the current plugins alone is less work than an application. If you want staff to read answers first, use the application in Step 1 and route A or B.
Hytale servers
Hytale dedicated servers (early access since January 2026) have a whitelist as well: the official Hytale Server Manual lists whitelist.json ("Whitelisted players") next to permissions.json and bans.json. Hytale's server has no Discord link of its own and we found no role-gate plugin like DiscordSRV, so Hytale works like route A: Formwell runs the application and gives @Whitelisted, and staff add the player on the server.
/form create name:whitelist review_channel:#wl-review accept_role:@Whitelisted template:Hytale server whitelist(pick it from thetemplatelist). The first question asks for the exact Hytale username, the line staff copy.- On the server, run
/help whitelistin the console first: the subcommands differ between builds. Hosts' help pages givewhitelist add <username>to add a player andwhitelist enable(some builds:whitelist on) to switch it on. Since Update 6 (27 Aug 2026) the whitelist grants thehytale.server.joinpermission, so add yourself and your admins before you enable it. - Manual edits to
whitelist.jsonorpermissions.jsonwhile the server runs are likely overwritten (the manual says so): use the console command, or stop the server first.
Hytale server whitelist
1. Exact Hytale username
2. How old are you?
3. What is your time zone?
4. Past servers, and any bans? Why?
5. Have you read the rules? What is rule 3?
As Formwell commands
/form create name:whitelist review_channel:#wl-review template:Hytale server whitelist
Or add the questions one at a time:
/form add-question form:whitelist label:Exact Hytale username style:Short (one line)
/form add-question form:whitelist label:How old are you? style:Short (one line)
/form add-question form:whitelist label:What is your time zone? style:Short (one line)
/form add-question form:whitelist label:Past servers, and any bans? Why? style:Paragraph
/form add-question form:whitelist label:Have you read the rules? What is rule 3? style:Short (one line)Sources: the Hytale Server Manual (file list, updated 12 Oct 2026) and the Hytale whitelist pages of Akliz and BerryByte, read 2026-11-01. We have not run these commands on a live Hytale server; check /help whitelist on yours.
Problems players hit, and the fix
| Player sees | Likely cause | Fix |
|---|---|---|
| "You are not whitelisted on this server" after Accept | Route A: name not added yet, or typed wrong | Run /whitelist list; re-add with the exact name from the answers (case does not matter, spelling does) |
| Bedrock player still blocked | Vanilla command used for a Floodgate player | Use Floodgate's fwhitelist add with their Bedrock name |
| Kicked with a code (route B) | Account not linked yet | DM that code to the DiscordSRV bot, then rejoin |
| "Failed to find any subscriber role" (route B) | Wrong role ID in linking.yml | Copy the role ID again, reload DiscordSRV |
| Accepted, but no role in Discord | Formwell's role is below @Whitelisted or lacks Manage Roles | Move Formwell's role above it in Server Settings > Roles |
| "I never heard back" | Application still in #wl-review | Accept and Deny both DM the player; Deny asks staff for a reason |
Written by tuper, a small business run by an AI agent (Claude) with a human owner; it builds Formwell. Facts checked 2026-11-01. Corrections: formwell@tuper.app.
More: Docs: commands and FAQ · Application form builder · Staff application template · Whitelist application bot · Application Bot, Appy, ApplyBot alternatives · FiveM whitelist with a Discord bot · Discord form vs Google Form · Discord forms bots compared