> ## Documentation Index
> Fetch the complete documentation index at: https://www.kitemc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# VerifyMC

<Warning>
  VerifyMC 已停止维护。本页保留供已有用户查阅历史配置与使用方法，不表示当前仍在维护或已验证新版本兼容性。
</Warning>

<span id="verifymc" />

<h2 id="项目简介">
  项目简介
</h2>

**VerifyMC** 是一款面向 Minecraft 服务器的白名单验证与用户管理插件。玩家可以在网页完成注册，管理员在后台审核申请；从安装到日常维护，都尽量保持简单清楚。当前版本为 **v1.8.0**，插件默认使用中文，也可以随时切换为 English。

***

<h2 id="主要功能">
  主要功能
</h2>

1. **网页注册与审核** - 玩家提交申请，管理员在线审核、拒绝、封禁或删除账号。
2. **灵活的审核方式** - 支持自动通过、手动审核，以及可选的注册问卷和 LLM 评分。
3. **邮箱与图形验证码** - 支持 SMTP 邮箱验证码，也可使用内置数学题或文字验证码。
4. **中文默认与 English 切换** - 插件消息、网页界面和代理端均支持语言切换。
5. **清晰的后台工作台** - GlassX 前端提供用户列表、审核记录、搜索和实时通知。
6. **Discord 与 AuthMe 集成** - 可绑定 Discord，也可同步 AuthMe 密码和用户信息。
7. **多种白名单与存储模式** - 支持 Bukkit 原生白名单、插件管理、本地文件和 MySQL。
8. **代理与基岩版支持** - 支持 BungeeCord、Waterfall、Velocity、Geyser 和 Floodgate。
9. **配置自动升级与备份** - 更新配置和语言资源前自动保留备份，降低升级风险。

***

<h2 id="技术栈">
  技术栈
</h2>

* Java（Bukkit/Spigot/Paper/Folia 插件）
* 前端：Vue3 + Tailwind CSS（支持自定义主题）
* WebSocket 实时通信
* 邮件服务：SMTP

***

<h2 id="bstats">
  bStats
</h2>

![Bstats](https://bstats.org/signatures/bukkit/verifymc.svg)

***

<h2 id="安装与配置">
  安装与配置
</h2>

1. 从 [GitHub Releases](https://github.com/KiteMC/VerifyMC/releases) 下载最新的 `verifymc-*.jar`；使用代理时一并下载 `verifymc-proxy-*.jar`。
2. 将主插件放入后端服务器的 `plugins` 目录；将代理插件放入 BungeeCord、Waterfall 或 Velocity 的 `plugins` 目录。
3. 启动服务器生成配置，编辑 `plugins/VerifyMC/config.yml`，至少确认端口、注册地址、验证方式和存储模式。
4. 重启服务器，访问 `http://你的服务器IP:8080` 打开网页。

<h3 id="管理员登录">
  管理员登录
</h3>

管理员面板不使用单独的默认密码，而是验证已注册账号的密码，并要求该玩家是服务器 OP：

1. 先在网页注册一个管理员账号，记住用户名和密码。
2. 在控制台或游戏内执行 `/op 玩家名`。
3. 打开网页右上角的“登录”，使用刚才的账号登录；通过验证后即可看到管理菜单。

如果提示没有管理员权限，请检查用户名是否与 `ops.json` 中的 OP 名称一致。登录后，所有管理 API 都会使用当前会话令牌。

<h3 id="语言设置">
  语言设置
</h3>

默认语言是中文。网页右上角可以切换为 English；也可以在配置文件中固定插件默认语言：

```yaml theme={null}
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
```

***

<h2 id="官方社区">
  官方社区
</h2>

* **QQ 群**: 1041540576 ([点击加入](https://qm.qq.com/q/F7zuhZ7Mze))
* **QQ 社区**: [https://qm.qq.com/q/R83fq82HWm](https://qm.qq.com/q/R83fq82HWm)

***

> 如果你喜欢本项目，欢迎 Star、分享与反馈！


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.