VerifyMC
Introduction
VerifyMC is an ultra-lightweight, powerful whitelist management plugin for Minecraft servers. It supports web-based registration, auto/manual review, banning, theme switching, AuthMe integration, and high customizability, helping you secure and manage your server community with ease.
Key Features
- Web Registration & Review - Players can submit whitelist applications via a web page; admins can review, ban, and manage users online
- Auto/Manual Review - Supports both automatic approval and manual admin review to fit different server needs
- Ban System - Ban problematic players to keep your server safe
- GlassX Theme - Beautiful glassmorphism design with smooth animations and modern UI
- Email Verification & Domain Whitelist - Integrated SMTP email verification, supports email domain whitelist and alias limit
- Self-hosted CAPTCHA - Built-in graphical CAPTCHA (math/text), no external services required
- Discord Integration - OAuth2 Discord account linking with optional/required mode
- Registration Questionnaire - Customizable questionnaire system with multi-language support
- User Notifications - Automatic email notifications for whitelist approval/rejection
- Multi-language Support - Both web UI and plugin messages support English and Chinese
- Highly Customizable - Set max accounts per email, player ID regex, whitelist bypass IPs, and more
- Lightweight - Plugin jar is under 6MB, integrates multiple features, and runs efficiently
- Auto Update & Backup - Config files auto-upgrade, with full backup before each update
- Flexible Whitelist Modes - Supports Bukkit native whitelist sync, plugin self-management, and MySQL storage
- MySQL & Data File Storage - Easily switch between local file and MySQL storage; supports automatic migration
- Audit Log Multi-Storage - Audit logs can be stored in file or MySQL
- Custom Internationalization - Auto-loads any messages_xx.properties file; users can add any language
- AuthMe Integration - Seamless integration with AuthMe plugin for password management and auto-registration
- Bedrock Support - Geyser/Floodgate player prefix support for cross-platform servers
- Proxy Support - BungeeCord/Velocity proxy plugin for network-level whitelist enforcement
- LLM Essay Scoring - AI-powered auto-scoring for text questionnaire answers via DeepSeek/Google, with circuit breaker and concurrency control
Screenshots (GlassX Theme)
Home Page

Registration Page

Admin Panel

Tech Stack
- Java (Bukkit/Spigot/Paper/Folia plugin)
- Frontend: Vue3 + Tailwind CSS (custom themes supported)
- WebSocket real-time communication
- Email service: SMTP
Installation & Configuration
- Download the latest
VerifyMC.jarand place it in your server'spluginsdirectory. - Start the server to auto-generate config files, then edit
config.ymlas needed (see full example below). - Restart the server and visit
http://your_server_ip:8080to access the admin panel.
yaml
language: en
debug: false
web_port: 8080
web_server_prefix: '[ Name ]'
auth_methods:
- email
max_accounts_per_email: 2
whitelist_mode: plugin
web_register_url: https://domain.com/
register:
auto_approve: false
username_regex: "^[a-zA-Z0-9_-]{3,16}$"
username_case_sensitive: false
admin:
password: your_custom_password
user_notification:
enabled: true
on_approve: true
on_reject: true
frontend:
theme: glassx
logo_url: /logo.png
announcement: Welcome to [ Name ]!
smtp:
host: smtp.qq.com
port: 587
username: your_email@qq.com
password: your_email_password
from: your_email@qq.com
enable_ssl: true
email_subject: VerifyMC Verification Code
auto_update_resources: true
enable_email_domain_whitelist: true
enable_email_alias_limit: false
email_domain_whitelist:
- gmail.com
- 163.com
- 126.com
- qq.com
- outlook.com
- hotmail.com
- icloud.com
- yahoo.com
- foxmail.com
storage: data
mysql:
host: localhost
port: 3306
database: verifymc
user: root
password: yourpassword
authme:
enabled: true
require_password: true
password_regex: "^[a-zA-Z0-9_]{8,26}$"
database:
type: sqlite
table: authme
sync_interval_seconds: 30
mysql:
host: 127.0.0.1
port: 3306
database: authme
user: root
password: yourpassword
sqlite:
path: plugins/AuthMe/authme.db
columns:
mySQLColumnName: username
mySQLRealName: realname
mySQLColumnPassword: password
mySQLColumnEmail: email
captcha:
type: math
length: 4
expire_seconds: 300
bedrock:
enabled: false
prefix: "."
username_regex: "^[a-zA-Z0-9._-]{3,15}$"
questionnaire:
enabled: false
pass_score: 60
rate_limit:
window_ms: 300000
ip:
max: 20
uuid:
max: 8
email:
max: 6
llm:
enabled: true
provider: deepseek
api_base: https://api.deepseek.com/v1
api_key: ""
model: deepseek-chat
timeout: 10000
retry: 1
max_concurrency: 4
acquire_timeout: 1500
retry_backoff_base: 300
retry_backoff_max: 5000
input_max_length: 2000
circuit_breaker:
failure_threshold: 5
open_ms: 30000
system_prompt: |
You are a fair Minecraft whitelist questionnaire grader.
Score strictly based on the question, candidate answer, and scoring rule.
Return JSON only.
scoring_rule: |
Evaluate primarily:
1) Relevance to the question
2) Completeness and level of detail
3) Understanding of server rules and community norms
score_format: '{"score": number, "reason": string, "confidence": number}'
discord:
enabled: false
client_id: ""
client_secret: ""
redirect_uri: "https://yourdomain.com/api/discord/callback"
guild_id: ""
required: falseOfficial Community
- QQ Group: 1041540576 (Join)
- Discord: https://discord.gg/dcsBw5Z5ZT
If you like this project, please Star, share, and give us feedback!