## 2026-07-04 13:33 - 新玩家验证码系统 + 全场景链接过滤 + 私信URL拦截 ### 验证码系统实现 - ChatFilterManager 新增 VerificationResult 枚举(NEED_VERIFICATION/PENDING/VERIFIED/FAILED) - 新玩家首次发消息时触发数学题验证码(10以内加减乘除,随机选择) - 30秒有效期,答错/超时/非数字答案 → 吞噬消息 - 答对 → 插件代为广播缓存的原始消息(无前缀,像普通聊天一样) - 老玩家(注册>1小时)快速验证后自动放行 - pendingMessages Map 缓存未验证消息,验证通过后广播 ### 全场景链接过滤 - 告示牌(onSignChange): 已有的 filterLinkInContent 拦截 - 编辑书(onPlayerEditBook): 通过反射调用 getNewBook() 获取书页内容(兼容Paper 1.21.4) - 私信(onPrivateMessage): 新增 PlayerCommandPreprocessEvent 拦截 /tell /msg /w /r 命令中的链接 ### 编译部署 - Maven clean package 编译通过 - 推送到 git.ypshidifu.cn (main 分支) - JAR 上传到 SFTP 服务器 - PHP 文件上传到 FTP /plugin/ 目录