No description
Find a file
FZAoao 23263fc9bc feat: 答题统计持久化与题目权重
- 新增 stats.yml:累计出题/答对数,每人答对次数与奖金(5分钟落盘+关服保存)
- 新增 top/stats 查询命令(全员可用),status 显示累计数据
- plugin.yml 新增 letmeask.use 权限(默认 true)
- 题库支持 map 条目 {q, a, weight},加权随机出题(纯字符串向后兼容)
- 更新 README 命令表与题库文档
2026-09-18 15:29:38 -04:00
libs delete: 删除了某些不再使用的依赖 2026-08-31 20:15:14 +08:00
src/main feat: 答题统计持久化与题目权重 2026-09-18 15:29:38 -04:00
.gitignore refactor: 修复超时粒度、答题竞态与验证锁死问题 2026-09-18 14:34:40 -04:00
build.gradle refactor: 修复超时粒度、答题竞态与验证锁死问题 2026-09-18 14:34:40 -04:00
LICENSE add: 添加LICENSE 2026-08-31 19:28:46 +08:00
pom.xml fix: 统一构建配置,HumanVerify 改为可选依赖 2026-09-18 14:25:28 -04:00
README.md feat: 答题统计持久化与题目权重 2026-09-18 15:29:38 -04:00
settings.gradle feat: 添加回答超时公布答案功能 2026-08-31 20:02:36 +08:00
sources.txt feat: 更改文件结构,把消息开头[Quiz]改为[教育部] 2026-08-30 21:51:14 +08:00

LetMeAsk

一个 Minecraft 服务器抢答活动插件,定时在聊天栏出题,玩家抢答可获得金币奖励。

功能特性

  • 定时自动出题:按照配置间隔自动发布题目
  • 答题超时:超时无人答对时自动公布答案并出下一题
  • 经济系统集成:支持 Vault 经济插件,自动扣款/发放奖励
  • 模糊匹配:答案支持容错匹配(拼写相似度可配置)
  • 人机验证:答题过快或连续答对过多时触发 HumanVerify 验证
  • 灵活配置:支持玩家名、UUID、服务器账户、LittleSkin 等支付方式

注意: 人机验证需要依赖HumanVerify插件。如果没有它,人机验证功能将无法使用,但是基本功能不会影响。

环境要求

依赖 类型 版本
Paper/Spigot 必需 1.20.4+
Vault 推荐 -
HumanVerify 可选 -
CMI 可选 -

安装

  1. 下载 LetMeAsk-1.1.0.jar
  2. 将 JAR 文件放入服务器 plugins/ 目录
  3. 重启服务器
  4. 编辑 plugins/LetMeAsk/base.yml 和 questions.yml 进行配置

命令

命令 权限 说明
/letmeask top [数量] 全员 答题排行榜(默认前 10,最多 20)
/letmeask stats [玩家名] 全员 查看答题统计(默认查自己)
/letmeask status 全员 查看插件状态
/letmeask start letmeask.admin 启动定时出题
/letmeask stop letmeask.admin 停止定时出题
/letmeask question [force] letmeask.admin 手动发布新题目
/letmeask reload letmeask.admin 重载配置文件

配置

base.yml

# 扣款玩家(支持: 玩家名、UUID、littleskin:xxx、Server/Console)
payer: Server

# 每题奖励金额
reward: 50.0

# 自动出题间隔(秒)
question-interval-seconds: 60

# 答题超时时间(秒),超时后公布答案并出下一题(0=禁用)
question-timeout-seconds: 30

# 回答用时阈值(秒,支持小数),过快触发人机验证
anti-bot-threshold-seconds: 1

# 连续答对次数阈值,达到触发人机验证(0=禁用)
anti-bot-correct-answer-threshold: 3

# 连击统计时间窗口(秒),超时未答对则连击清零
anti-bot-streak-window-seconds: 300

# 人机验证超时(秒),回调长时间未返回时自动解锁并作废本轮
verify-timeout-seconds: 120

# 答案模糊匹配阈值(0-1,越高越严格;1.0=精确匹配)
fuzzy-similarity-threshold: 0.75

# 消息前缀
messages:
  prefix: "&6[教育部]"

questions.yml

# 纯字符串格式:题目=答案(多答案用 | 分隔,答对任一即可)
# map 格式:{q, a, weight},权重越大越容易被抽中(默认 1)
questions:
  - "中国首都=北京"
  - "2+2=4"
  - "香蕉是什么颜色=黄色|黄"
  - {q: "太阳系最大的行星是什么", a: "木星|Jupiter", weight: 2}

统计数据保存在 plugins/LetMeAsk/stats.yml(累计出题/答对数、每人答对次数与奖金)。

构建

使用 Maven(推荐):

mvn clean package

或使用 Gradle(依赖 libs/ 目录下的本地 jar,可离线构建):

gradle build

许可证

MIT License