
VerifyMC
Modern Minecraft whitelist plugin: web registration, email verification, admin review, multi-theme, i18n.
- Загрузки
- 761
- Подписчики
- 16
- Обновлён
- 18 июня 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 23 июля 2025 г.
🛡️ 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.
🖼️ 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.
# ----------------------------------------
# General Settings
# ----------------------------------------
# Global language setting. Affects plugin messages and web UI. (e.g., 'zh', 'en')
language: zh
# Enable detailed console logs for troubleshooting.
debug: false
# ----------------------------------------
# Web Server
# ----------------------------------------
# The port for the web interface.
web_port: 8080
# The server name displayed on the web interface.
web_server_prefix: '[ Name ]'
# ----------------------------------------
# Verification & Whitelist
# ----------------------------------------
# Supported authentication methods. Options: 'email' (email verification), 'captcha' (graphical captcha).
# You can use multiple methods, e.g.: [email, captcha]
#
# [IMPORTANT] Configuring the captcha: section below does NOT enable captcha!
# To enable captcha, you MUST add 'captcha' to this list:
# Captcha only: auth_methods: [captcha]
# Both email and captcha: auth_methods: [email, captcha]
auth_methods:
- email
# Maximum number of game accounts that can be linked to a single email address.
max_accounts_per_email: 2
# Whitelist mode: 'bukkit' (syncs with server's whitelist.json) or 'plugin' (uses internal database).
whitelist_mode: plugin
# Registration URL displayed to non-whitelisted players when in 'plugin' mode.
web_register_url: https://domain.com/
# ----------------------------------------
# Registration
# ----------------------------------------
# If true, new user registrations are automatically approved. If false, they require manual admin approval.
register:
auto_approve: false
# ----------------------------------------
# User & Security
# ----------------------------------------
# A regular expression to validate player names.
username_regex: "^[a-zA-Z0-9_-]{3,16}$"
# If false, usernames that only differ by case (e.g., "Player" and "player") are treated as the same.
username_case_sensitive: false
# A list of IP addresses that can join the server without being whitelisted.
whitelist_bypass_ips:
- 127.0.0.1
# The password for accessing the admin panel on the web interface.
admin:
password: your_custom_password
# ----------------------------------------
# User Notification
# ----------------------------------------
# Send email notification to users when admin reviews their application.
user_notification:
# Whether to enable user notification feature
enabled: true
# Whether to send notification when application is approved
on_approve: true
# Whether to send notification when application is rejected
on_reject: true
# ----------------------------------------
# Frontend (UI)
# ----------------------------------------
frontend:
# The visual theme for the web interface. Options: 'glassx'.
theme: glassx
# URL for the logo. Can be a web link or a local file path (e.g., '/logo.png').
logo_url: /logo.png
# A message to display on the homepage.
announcement: Welcome to [ Name ]!
# ----------------------------------------
# Email (SMTP)
# ----------------------------------------
smtp:
host: smtp.qq.com
port: 587
username: [email protected]
password: your_email_password
from: [email protected]
enable_ssl: true
# Subject (title) of the verification code email
email_subject: VerifyMC Verification Code
# ----------------------------------------
# Sync Settings (for bukkit mode)
# ----------------------------------------
# If true, automatically syncs changes from whitelist.json to the plugin's database.
whitelist_json_sync: true
# If true, automatically adds approved users to whitelist.json and removes banned/deleted users.
auto_sync_whitelist: true
# If 'bukkit' mode is disabled, this setting (if true) cleans players from whitelist.json.
auto_cleanup_whitelist: true
# ----------------------------------------
# Auto Update & Backup
# ----------------------------------------
# If true, automatically adds new settings to your config.yml on plugin updates.
auto_update_config: true
# If true, automatically updates the language files.
auto_update_i18n: true
# If true, automatically updates the email templates.
auto_update_email: true
# If true, automatically updates theme files.
auto_update_static: true
# If true, creates a full backup of the plugin data folder before any auto-updates.
backup_on_update: true
# ----------------------------------------
# Email Registration Restrictions
# ----------------------------------------
# Enable email domain whitelist
enable_email_domain_whitelist: true
# Enable email alias limit (e.g. forbid [email protected])
enable_email_alias_limit: false
# Email domain whitelist. Leave empty to use default mainstream domains
email_domain_whitelist:
- gmail.com
- 163.com
- 126.com
- qq.com
- outlook.com
- hotmail.com
- icloud.com
- yahoo.com
- foxmail.com
# ----------------------------------------
# Storage & Data Migration
# ----------------------------------------
storage:
# Storage type, options: data (local file), mysql (external database)
type: data
# Whether to automatically migrate data from the original storage to the new storage when switching storage.type (e.g., data→mysql or mysql→data)
auto_migrate_on_switch: false
mysql:
host: localhost
port: 3306
database: verifymc
user: root
password: yourpassword
# ----------------------------------------
# Authme Integration Configuration
# ----------------------------------------
authme:
# Whether to enable Authme integration functionality
enabled: true
# Whether to require password input during web registration
require_password: true
# Whether to automatically register to Authme when approval is granted
auto_register: false
# Whether to automatically unregister from Authme when user is deleted
auto_unregister: false
# Password regex pattern
password_regex: "^[a-zA-Z0-9_]{3,16}$"
# ----------------------------------------
# Captcha Configuration
# ----------------------------------------
# Captcha can be used as an alternative or supplement to email verification
# Add 'captcha' to auth_methods to enable: auth_methods: [captcha]
# Or use both: auth_methods: [email, captcha]
captcha:
# Captcha type: math (math expression) or text (random characters)
type: math
# Length of text captcha (ignored for math type)
length: 4
# Captcha expiration time in seconds
expire_seconds: 300
# ----------------------------------------
# Bedrock Player Support
# ----------------------------------------
# For Geyser/Floodgate bedrock players
bedrock:
# Whether to enable bedrock player support
enabled: false
# Prefix for bedrock players (commonly "." for Floodgate)
prefix: "."
# Regex for bedrock usernames
username_regex: "^\\.[a-zA-Z0-9_\\s]{3,16}$"
# ----------------------------------------
# Questionnaire Configuration
# ----------------------------------------
# Detailed questions are configured in questionnaire.yml
questionnaire:
# Whether to enable questionnaire feature
enabled: false
# Minimum score to pass
pass_score: 60
# Auto-approve users who pass the questionnaire
auto_approve_on_pass: false
# ----------------------------------------
# Discord Integration (OAuth2)
# ----------------------------------------
# Requires creating a Discord application at https://discord.com/developers/applications
discord:
# Whether to enable Discord integration
enabled: false
# Discord application client ID
client_id: ""
# Discord application client secret
client_secret: ""
# OAuth2 redirect URI
redirect_uri: "https://yourdomain.com/api/discord/callback"
# Optional: require users to be in specific guild/server
guild_id: ""
# Whether Discord linking is required for registration
required: false
💬 Official Community
- QQ Group: 1041540576 (Join)
- Discord: https://discord.gg/TCn9v88V
❤️ If you like this project, please Star, share, and give us feedback!
Ченджлог
1.7.2Релиз26.1.1, 26.1.2, 26.2 · 18 июня 2026 г.
简体中文 | English | Official Documentation
Improvements
- Shortened verification code expiry to 5 minutes to reduce the risk of stale code misuse
- Added frontend verification code input flow for a more complete registration experience
- Refactored mail sending with HTML escaping and default subject support
- Updated user info APIs and removed unused legacy methods
Web Refactoring
- Consolidated scattered Discord HTTP handlers into a unified handler
- Organized user profile, status, and password endpoints to reduce duplicated logic
- Clarified backend API routing structure for easier maintenance
User Management
- Added support for username case-sensitivity configuration
- Unified user lookup behavior around the configured case-sensitivity mode
- Synchronized user matching logic between the main plugin and proxy plugin
- Improved data access abstractions for future storage extensions
Compatibility and Experience
- Updated related mail templates and frontend display content
- Synchronized version check metadata and release information for 1.7.2
1.2.6Релиз1.21.9, 1.21.10, 1.21.11 · 29 января 2026 г.
简体中文 | English | Official Documentation
VerifyMC v1.2.6 Release Notes
🐛 Bug Fixes
Velocity-CTD Compatibility (Issue #14)
- Fixed Guice dependency injection error with Velocity forks (e.g., Velocity-CTD 3.5.0)
- Changed
javax.inject.Injecttocom.google.inject.Injectfor better compatibility
Version Display Fix (Issue #15)
- Fixed incorrect version number display in plugin
- Unified version management across all configuration files
✨ New Features
Minecraft 1.21.11 Support (Issue #16)
- Added official support for Minecraft 1.21.11
- Updated Velocity API to 3.4.0-SNAPSHOT
- Updated Waterfall API to 1.21-R0.1-SNAPSHOT
1.2.5Релиз1.21.9, 1.21.10, 1.21.11 · 29 января 2026 г.
简体中文 | English | Official Documentation
VerifyMC v1.2.5 Release Notes
✨ New Features
Self-hosted CAPTCHA System
- Added graphical CAPTCHA verification (math/text types)
- No external service required, fully self-hosted
- Configurable as alternative or supplement to email verification
Discord OAuth2 Integration
- Link Discord accounts during registration
- Optional or required Discord linking
- Persistent Discord ID storage in database
User Email Notifications
- Automatic email notifications for whitelist approval/rejection
- Multi-language email templates based on user's interface language
Registration Questionnaire
- Customizable registration questionnaire system
- Multi-language support for questions and options
Bedrock Edition Support
- Support for Geyser/Floodgate player prefixes
- Configurable Bedrock username prefixes
BungeeCord/Velocity Proxy Plugin
- New
VerifyMC-Proxymodule for proxy-level login interception - Supports both BungeeCord and Velocity proxies
- Auto-update configuration from remote
🎨 UI Improvements
Glass Theme Enhancements
- Redesigned registration form with animated gradient borders
- Enhanced input fields with glow effects on focus
- Floating orb background effects on home page
- Improved button animations with shine effects
- New gradient accent line in navigation
- Enhanced footer with gradient border and heartbeat animation
Email Templates
- Unified modern design for all email templates
- Gradient header with icons
- Improved code display styling
- Expiration warning boxes
🔧 Improvements
- Fixed Discord icon display issue
- Dynamic footer year (2025-current year)
- Removed default theme (glassx is now the only theme)
- Config comments moved to separate help files (config_help_en.yml, config_help_zh.yml)
- Global CSS custom properties for consistent theming
- Custom scrollbar styling
- Text selection styling
1.2.4Релиз1.21.9, 1.21.10, 1.21.11 · 14 декабря 2025 г.
简体中文 | English | Official Documentation
VerifyMC v1.2.4 Release Notes
🐛 Bug Fixes & Improvements
Fixed Issues
- Whitelist Invalidation After Server Restart: Fixed issue where whitelisted players (except OPs) were rejected after server restart, even though they were in the whitelist
- Character Encoding Issues: Fixed character encoding problems in web interface that caused garbled text for some users
- Email Subject Configuration: Moved email subject from i18n to config.yml for better customization
Improvements
- All HTTP responses now explicitly use UTF-8 encoding with proper charset declaration
- Improved static file Content-Type handling with charset specification for text-based files
- Enhanced whitelist synchronization logic to ensure consistency after server restarts
1.2.3Релиз1.21.7, 1.21.8, 1.21.9 · 7 октября 2025 г.
简体中文 | English | Official Documentation
VerifyMC v1.2.3 Release Notes
🔧 Folia Compatibility Fixed
Fixed Issues
- Player Kick Crashes: Fixed
IllegalStateException: Player is already removed from player chunk loadererror - Plugin Startup Failures: Fixed
UnsupportedOperationExceptionerror, plugin now starts properly on Folia
Solutions
- Use
PlayerLoginEventto intercept players during login phase, avoiding chunk loader conflicts - Auto-detect Folia environment and disable incompatible async tasks (whitelist.json monitoring, version reminders)
1.2.2Релиз1.21.7, 1.21.8, 1.21.9 · 2 октября 2025 г.
简体中文 | English | Official Documentation
What's New in v1.2.2
Multilingual Support Architecture Refactored
- Completely refactored internationalization system with unlimited language support
- Set any language code in config.yml
- Auto-creates language files based on English template
Command Prompt Improvements
/vmc reloadcommand now displays a gray hint message explaining it can only reload partial configurations- Reload-related messages (starting, success, failed) are now hardcoded in English for cross-language consistency
- Theme switching prompt is now hardcoded in English to ensure all users understand critical operation hints
1.2.1Релиз1.21.7, 1.21.8, 1.21.9 · 14 августа 2025 г.
简体中文 | English | 📚 Official Documentation
🎉 What's New in v1.2.1
🎨 Theme & UI Improvements
- ✨ Completely refactored Default theme - Fresh new look with improved visual consistency
- 🌟 Enhanced GlassX theme components - Better glass effects and smoother animations
- 🔧 Fixed GlassX popup positioning - No more misaligned modal dialogs!
🔒 Security & Performance
- ⏱️ Smart rate limiting for verification codes - Prevents spam with 60-second cooldown per email
- 🚀 Optimized email delivery system - More reliable and faster code sending
👑 Admin Panel Enhancements
- 📄 Pagination system - Handle thousands of users without performance issues
- 🔄 Real-time refresh - Update user data instantly without page reloads
- 📊 Better data management - Smoother admin experience overall
🛠️ Under the Hood
- 🐛 Various bug fixes - Improved stability and reliability
- ⚡ Performance optimizations - Faster loading times
- 🔧 Code quality improvements - Better maintainability
1.2.0Релиз1.21.7, 1.21.8, 1.21.9 · 1 августа 2025 г.
简体中文 | English | 📚 Official Documentation
1.2.0 Release Notes
🎉 New Features
AuthMe Integration Support
- Password Management: Support setting passwords during web registration, seamlessly integrated with AuthMe plugin
- Auto Registration: Automatically register approved users to AuthMe system
- Auto Unregistration: Automatically unregister users from AuthMe system when deleted
- Password Modification: Administrators can modify user passwords in the admin panel
- Password Validation: Support custom password regex validation rules
🐛 Bug Fixes
- Fixed issue where user status added via
/vmc addwas being overwritten
Комментарии
Загружаем…