VerifyMC
项目简介
VerifyMC 是一款面向 Minecraft 服务器的白名单验证与用户管理插件。玩家可以在网页完成注册,管理员在后台审核申请;从安装到日常维护,都尽量保持简单清楚。当前版本为 v1.8.0,插件默认使用中文,也可以随时切换为 English。
主要功能
- 网页注册与审核 - 玩家提交申请,管理员在线审核、拒绝、封禁或删除账号。
- 灵活的审核方式 - 支持自动通过、手动审核,以及可选的注册问卷和 LLM 评分。
- 邮箱与图形验证码 - 支持 SMTP 邮箱验证码,也可使用内置数学题或文字验证码。
- 中文默认与 English 切换 - 插件消息、网页界面和代理端均支持语言切换。
- 清晰的后台工作台 - GlassX 前端提供用户列表、审核记录、搜索和实时通知。
- Discord 与 AuthMe 集成 - 可绑定 Discord,也可同步 AuthMe 密码和用户信息。
- 多种白名单与存储模式 - 支持 Bukkit 原生白名单、插件管理、本地文件和 MySQL。
- 代理与基岩版支持 - 支持 BungeeCord、Waterfall、Velocity、Geyser 和 Floodgate。
- 配置自动升级与备份 - 更新配置和语言资源前自动保留备份,降低升级风险。
技术栈
- Java(Bukkit/Spigot/Paper/Folia 插件)
- 前端:Vue3 + Tailwind CSS(支持自定义主题)
- WebSocket 实时通信
- 邮件服务:SMTP
bStats
安装与配置
- 从 GitHub Releases 下载最新的
verifymc-*.jar;使用代理时一并下载verifymc-proxy-*.jar。 - 将主插件放入后端服务器的
plugins目录;将代理插件放入 BungeeCord、Waterfall 或 Velocity 的plugins目录。 - 启动服务器生成配置,编辑
plugins/VerifyMC/config.yml,至少确认端口、注册地址、验证方式和存储模式。 - 重启服务器,访问
http://你的服务器IP:8080打开网页。
管理员登录
管理员面板不使用单独的默认密码,而是验证已注册账号的密码,并要求该玩家是服务器 OP:
- 先在网页注册一个管理员账号,记住用户名和密码。
- 在控制台或游戏内执行
/op 玩家名。 - 打开网页右上角的“登录”,使用刚才的账号登录;通过验证后即可看到管理菜单。
如果提示没有管理员权限,请检查用户名是否与 ops.json 中的 OP 名称一致。登录后,所有管理 API 都会使用当前会话令牌。
语言设置
默认语言是中文。网页右上角可以切换为 English;也可以在配置文件中固定插件默认语言:
yaml
language: zh
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
user_notification:
enabled: true
on_approve: true
on_reject: true
frontend:
theme: glassx
logo_url: /logo.png
announcement: 欢迎来到 [ 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: false官方社区
- QQ 群: 1041540576 (点击加入)
- QQ 社区: https://qm.qq.com/q/R83fq82HWm
如果你喜欢本项目,欢迎 Star、分享与反馈!