youpaishidifu
|
13ee2eb515
|
第58批:修复自动互动配置重读刷屏
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m39s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
- loadConfig() 加 quiet 参数,重读时不打印配置加载日志
- checkAutoChat 中 loadConfig 移到时间检查之后,只有真正发请求时才重读
- 避免每秒刷屏
|
2026-10-28 17:37:22 +08:00 |
|
youpaishidifu
|
d2835dd272
|
第58批:自动互动日志静默,只在状态变化时记录
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m24s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
- 移除每次触发的调试块(请求体/响应体/响应头)
- 正常触发零日志,失败只一行简要(HTTP码或超时)
- 新增prevAutoChatFailed状态追踪,失败→成功时记恢复
- 有变化在叫,没变化闭嘴
|
2026-10-28 17:07:43 +08:00 |
|
youpaishidifu
|
b6dfad4aed
|
第58批:AI聊天每次请求前重读配置
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m14s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
- sendToModel: 发请求前重读models.json/供应商.json/提示词.txt
- checkAutoChat: 自动互动触发前也重读配置
- 避免模型429/403报错后还用旧配置继续发请求
|
2026-10-28 16:58:09 +08:00 |
|
youpaishidifu
|
88e2dfa04c
|
第58批:AI聊天@前缀支持+信誉积分优化
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m11s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
- AIChatManager: 支持单@前缀(@厂家名/内容),不再只检测@//
- AIChatManager: 自动互动提示词改为引导性话题,不点名玩家
- CreditManager: /credits <玩家名> 直接查积分,无需user关键字
- admin.php: 信誉积分卡片统一使用CSS变量,与后台风格一致
|
2026-10-28 16:21:52 +08:00 |
|
youpaishidifu
|
f5dcd5f455
|
第58批续24修复3:供应商名字支持省略组名 + @//参数屏蔽组名
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m40s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
1. findProviderUrl 支持省略组名:
- "deepseek" → 在所有顶层分组里查找,匹配到国产分类下的deepseek
- "国产/mimo/token-plan" → 直接进国产分组找mimo
- 组名可写可不写
2. @//厂家名注册时屏蔽组名:
- 第1段如果是供应商.json顶层分组名(国产/非国产)→ 不注册为@参数
- 从第2段开始注册为厂家名别名
- "非国产/agnes/中国版" → 注册 agnes、中国版,屏蔽 非国产
- "讯飞/讯飞Maas" → 讯飞不是分组名,注册 讯飞、讯飞Maas
|
2026-10-28 15:44:59 +08:00 |
|
youpaishidifu
|
fa0ea9c7e9
|
第58批续24修复2:@//厂家名支持供应商名字路径每一段
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m53s
Simple Test / test (push) Successful in 3s
Test Env / test (push) Successful in 1s
之前只取第一段,但生产服配置是「非国产/agnes/中国版」——
第一段「非国产」是分组名不是厂家名,@//agnes/ 不识别。
修复:把「供应商名字」路径的每一段都注册为厂家名别名,
如 非国产/agnes/中国版 → 三个名字都能 @// 调用。
用 putIfAbsent 避免重复注册时覆盖已有别名。
|
2026-10-28 15:31:32 +08:00 |
|
youpaishidifu
|
d159d2fb11
|
第58批续24修复:@//厂家名识别 + 互动指标日志静默
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m56s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
1. @//命令支持厂家名快捷引用:
- 内置供应商:从「供应商名字」第一段提取厂家名(mimo/token-plan→mimo)
- 自定义供应商:走「提示词.txt」已有的 models=全名=别名 映射
- resolveModelAlias 新增 providerToModel 映射查找
2. @//命令优化:
- 支持不带尾部斜杠:@//agnes → 整段作模型名
- 不带内容时用默认提示词(自我介绍)
- 未知模型提示新增「可用厂家」列表
3. 互动指标日志静默:
- 调度器每1秒跑一次,跳过时不再每秒刷屏
- 仅在状态变化(≥→< 或 <→≥)时记一条
4. models.json 填写规范更新:供应商名字说明厂家名提取规则
|
2026-10-28 15:19:15 +08:00 |
|
youpaishidifu
|
778bf5e4c2
|
第58批续24: 互动指标(在线玩家阈值) + 上下文压缩 + credit_score同步PHP
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m7s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
1. AIChatManager.interactionMetric 字段:在线玩家数量阈值,默认1
- 配置加载:models.json → 配置部分 → 2 → 互动指标 → 指标
- checkAutoChat() 在线玩家数量达标才触发自动互动(手动@//不受影响)
2. buildChatRequest 移除 max_tokens 字段(让API用默认输出上限)
3. 新增 compressChatBuffer() 上下文压缩:超阈值从尾部截断只保留最近消息
- checkAutoChat 改用 compressChatBuffer(endpoint.maxToken) 构建提示词
4. models.json 新增「互动指标」配置模板
5. WebManager credit_score 字段同步到PHP(信誉积分双向对账)
|
2026-10-28 14:23:17 +08:00 |
|
youpaishidifu
|
a7018e1e4f
|
第58批续23修复:待审批详情GUI交互缺陷(标题匹配+聊天拦截误伤)
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m9s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-28 13:22:23 +08:00 |
|
youpaishidifu
|
d0323ea975
|
第58批续23:AI聊天400调试日志增强 + CreditManager GUI管理员直接操作 + 主菜单40号位入口
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m26s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-28 13:15:03 +08:00 |
|
youpaishidifu
|
6892c47599
|
第58批死循环修复: 自动互动触发前更新时间戳+失败也节流
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m9s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
根因: lastAiReplyTime初始0且只在请求成功时更新。
请求失败→时间戳不更新→每秒检查都判定超时→每秒触发→无限死循环。
修复: 触发前先更新时间戳(请求挂起/超时/失败都不会被下一秒重复触发);
handleRequestFailure也更新时间戳双保险。
|
2026-10-28 12:49:08 +08:00 |
|
youpaishidifu
|
2da1f2be9e
|
第58批防御: buildRequestUrl 已含chat/completions则绝不再补(防双重地址)
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m48s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-28 12:41:02 +08:00 |
|
youpaishidifu
|
59bf992162
|
第58批修复: AI聊天URL解析 + 信誉积分9格GUI重构
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m34s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
AI聊天修复(AIChatManager):
- Bug1 内置供应商URL解析: findProviderUrl把含分组名的完整数组传进分组对象查找,
国产.get(非国产)永远null → 改为先取顶层分组,再在分组内逐层查
- Bug2 自定义供应商双重路径: models.json已设自动补齐=false,
代码仍无条件拼chat/completions → 加autoAppendCompletions开关,
内置供应商总是拼接,自定义受开关控制
- 提取buildRequestUrl公共方法,sendToModel和checkAutoChat共用
|
2026-10-28 12:33:48 +08:00 |
|
youpaishidifu
|
a0f84ee542
|
第58批功能1+2: 信誉积分管理系统 + AI聊天介入
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m31s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
信誉积分管理系统(CreditManager):
- /credits 上报好人好事/举报,每人初始化100积分
- 管理员审批后加分/扣分,低于阈值触发行为限制(可配置规则)
- PHP端可提交线索,admin审批接口
- GUI: 待审批/历史记录/限制规则
- DB: credit_records + credit_rules 表 + users.credit_score列
AI聊天介入(AIChatManager):
- 兼容openai协议,读models.json/供应商.json/提示词.txt配置
- @//模型名/前缀触发直接提问,私聊回复
- 空闲1-10分钟自动抓聊天互动,广播回复
- 黑名单拦截不浪费token
- 对话留档issue.json,HTTP异步请求不阻塞主线程
- 已解除.gitignore对openai资源的屏蔽
|
2026-10-28 10:49:12 +08:00 |
|
youpaishidifu
|
cf84426bf6
|
第57批续22: 子领地权限失效修复 + 封禁播报时间被篡改修复
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m27s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
1. 子领地权限失效: onPlayerMove区域检测循环遇首个匹配领地即break,
子领地完全包含在主领地内,可能命中主领地导致子领地deny_move不生效。
修复: 收集所有匹配领地选面积最小的(子领地自然优先)。
2. 子领地创建时不继承主领地权限: confirm_create和handleApproval路径
新增copyLandPermissions方法,子领地创建时继承主领地权限一次。
3. 封禁播报时间被篡改: WebManager对账收回封禁时,banList.addBan()
把created设为当前时间写入banned-players.json,setCreated只改内存。
Bukkit BanList无updateBan API,文件里保留的是收回时间。
修复: 新增persistBanCreatedToFile方法直接改写文件持久化真实创建时间。
|
2026-10-27 21:45:45 +08:00 |
|
youpaishidifu
|
9443a5cf1b
|
第57批续21续2: 子领地owner=创建者(付款人)修复退款退错人bug + 圈地棒身份判定静默
|
2026-10-27 20:32:31 +08:00 |
|
youpaishidifu
|
74db3d022b
|
第57批续21-fix: 修子领地创建不落库+确认创建按钮显隐
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m22s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
修1(问题2根因): saveAreaToDb INSERT VALUES 占位符76->77。续21加parent_id列(第77列)
但VALUES漏加第77个?,JDBC setInt(77,..)越界→SQLException被catch吞掉→DB未写入
→但代码继续areas.put+提示成功→loadAllAreas清空内存重读DB→子领地消失→传送/cli菜单找不到。
补全77个占位符后DB正常写入,loadAllAreas后子领地保留,传送/cli菜单可见。
修2(问题1): 圈地棒选区智能识别按钮显隐——身份不合格或部分重叠时不展示确认创建按钮。
canCreateSub标志:身份不合格→false,部分重叠→false,合格→true;false时隐藏一键创建链接,
提示'因身份或范围限制,已隐藏确认创建按钮'。confirm_create命令层闸门不变(双保险)。
|
2026-10-27 17:40:11 +08:00 |
|
youpaishidifu
|
7b8aa4e194
|
第57批续21: 领地子领地体系 + 重叠身份闸门(修绕过漏洞)
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m36s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
【任务1 修绕过漏洞】confirm_create(圈地棒主路径)原零重叠检测,任何玩家都能在别人领地内
建重叠领地绕过权限限制。新增 findContainingMainLand(完全包含判定,排除子领地)+
isQualifiedLandManager(领地主/管理员/授权管理员身份校验):
- 选区完全包含于某主领地+身份合格→建子领地(parentId=主领地id,owner沿用主领地主)
- 身份不合格→拒绝'当前范围内已有领地'
- 部分重叠(跨边界)→一律拒绝
quickCreateLand(3×3)部分重叠仍拒绝;完全包含且身份合格则自动转 confirm_create 建子领地
审批 create 路径(handleApproval)同步套重叠闸门,防超面积审批绕过
【任务2 子领地体系】area_lands 加 parent_id 列(CREATE+ALTER迁移);AreaConfig 加 parentId
子领地权限挂父领地 land_id 的 area_land_permissions 表(可单独收紧/放行);
getPermissionLevel 加'父领地管理员在子领地内继承ADMIN'(封堵越权);新增 findLandNameById;
圈地棒选区后追加'智能识别领地'提示
约束:子领地仅1级、必须完全包含、按面积正常收费、命名冲突自动加序号
|
2026-10-27 16:47:28 +08:00 |
|
youpaishidifu
|
7c649675d6
|
修复.gitignore的一个错别字,并临时屏蔽没做完的开发内容
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m31s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-27 15:40:51 +08:00 |
|
youpaishidifu
|
a44bc88bd0
|
第57批续20: syncOnlinePlayers 改推全量在线玩家(不再筛loggedIn)——修刚注册未/login玩家PHP判'未在线'
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m29s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
根因: syncOnlinePlayers 此前只推 loggedIn 玩家, 刚注册未 /login 的玩家
在 loggedIn 集合里但漏推 → PHP online_players 表无该玩家记录 →
validateWebAccess 判 !isOnline → 网页弹'未在线, 无法批准'。
修复: 删除 if(!loggedInPlayers.contains(...)) continue 过滤,
推送 Bukkit.getOnlinePlayers() 全量在线玩家(已登录+未登录)。
loggedIn 集合保留仅用于日志变化检测。
能否绕过密码验证仍由 login_verified 位决定(续19-hotfix已纠偏),
'在线'与'已验证'两语义彻底解耦。
|
2026-10-27 15:17:27 +08:00 |
|
youpaishidifu
|
49d86c9e85
|
第57批续19-hotfix: login_verified 语义纠偏(严格按isLoggedIn推)
Check Source / check (push) Successful in 7s
Auto Release / build (push) Successful in 3m36s
Simple Test / test (push) Successful in 3s
Test Env / test (push) Successful in 4s
续19把login_verified按isRegistered推, 导致'已注册但未登录'的玩家也被推1
→ PHP validateWebAccess view路径直接放行(绕过密码), 游戏里还在提示/login
但php已判定登录成功(与游戏状态不一致)。
修复: autoGenerate/handleWebLogin 两处push URL的login_verified改回
isLoggedIn(只有/login密码验证成功才=1), 已注册但未登录=0(网页要求输密码)。
PHP侧续19已有的web_login_verified 10分钟窗口做'登录状态同步延迟'兜底不受影响。
mvn -q -o clean package 编译通过, jar 1546400字节。
|
2026-10-27 14:46:02 +08:00 |
|
youpaishidifu
|
2c006d35b5
|
第57批续19: Java 侧 token 0/1 状态位统一管理
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m35s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
1. autoGenerateWebLoginToken 加 10s 冷却去重(修"每次登录推2个token"刷屏)。
2. 三处 push URL 的 login_verified 值统一: 已注册/已登录→1(网页直接放行), 未注册→0(网页要求输密码/注册)。
3. pushLoginVerified 加注释说明(登录收口已保证玩家已登录, 此路径固定推1)。
4. 修复续17遗留损坏: submitWebEmailBindResult 5参重载方法体被吞, 保留委托调用(非递归)并加说明注释。
mvn -q -o clean package 编译通过。
|
2026-10-27 13:28:26 +08:00 |
|
youpaishidifu
|
687b592d69
|
第57批续17: Java拉取PHP邮箱回推队列写权威db——pullEmailBindings()幂等写db+触发syncUserRegistrations收敛,挂TimerA
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m26s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-27 11:27:10 +08:00 |
|
youpaishidifu
|
a2c92d9150
|
第57批续11:PVP弃用API修复(Paper 26.x)
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 3m5s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
- GameRule.DO_DAYLIGHT_CYCLE → GameRules.ADVANCE_TIME
- GameRule.DO_WEATHER_CYCLE → GameRules.ADVANCE_WEATHER
- GameRule.DO_MOB_SPAWNING → GameRules.SPAWN_MONSTERS
- GameRule.KEEP_INVENTORY → GameRules.KEEP_INVENTORY
- AttributeModifier(String,...) → AttributeModifier(NamespacedKey,...)
|
2026-10-26 20:11:53 +08:00 |
|
youpaishidifu
|
325d363f4b
|
第57批续10:webbind绑邮箱密码验证接入统一风控+空行清理
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m21s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
- Main.java: /webbind approve 密码验证从独立webbindPwdFails内存计数器
接入RiskControlManager(与/login完全一致):密码错5次→Bukkit真实封禁
5分钟+踢出+报警邮件+重连拒绝+到期自动解封
- Main.java: 删除已无引用的webbindPwdFails字段
- RiskControlManager.java: 按8a693e规则清理方法内部空行(11行)
|
2026-10-26 19:20:05 +08:00 |
|
youpaishidifu
|
74e2c60d60
|
第57批续7: Java端验证密码后直接回传pwd_verified=1,PHP不再重复验密;简化绑定流程
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m31s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-26 16:27:17 +08:00 |
|
youpaishidifu
|
ad17f9ccba
|
第57批续6: 修复3个bug
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m31s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
2. /login成功后重新推送weblogin token(onJoin推送的token login_verified=0,Web端不认)
|
2026-10-26 14:58:37 +08:00 |
|
youpaishidifu
|
b65562850f
|
第57批续5: 修复4个bug
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m14s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
1. onJoin封禁缺口通知改可点击Component(Bug#1)
2. webbind approve改聊天框输入密码+拒绝选项(Bug#2)
3. PHP acctBindEmailFinish rejected状态简化为单关闭按钮(Bug#3)
4. drawer-card毛玻璃效果修正(Bug#4)
|
2026-10-26 13:10:41 +08:00 |
|
youpaishidifu
|
956ee0e940
|
第57批续4:autoGenerateWebLoginToken改用isEnabled()实时读文件
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m24s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-26 12:00:05 +08:00 |
|
youpaishidifu
|
f7f47e6178
|
第57批续4:confirm/cancel ban移到通用confirm/cancel之前 + 全文件\u00a7替换为§
|
2026-10-26 11:36:54 +08:00 |
|
youpaishidifu
|
7b62075dc7
|
第57批续3修正:/del ban拦截移到del分支内 + 管理员通知改为可点击消息
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m11s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-26 11:10:45 +08:00 |
|
youpaishidifu
|
d7d51cbb6b
|
第57批续3:登录推送补全+ban命令拦截+管理员广播
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m29s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
- LoginManager.finishPasswordLogin 补 pushLoginVerified(/login 统一收口推送 login_verified=1)
- Main: /delete ban 拦截(ban 不是玩家账号名);confirm/cancel ban 加 hasBanPending 检查
- WebManager: broadcastToAdmins 方法 + enterBanPendingMode 缺口较大时给在线管理员发 CLI 通知
|
2026-10-26 10:49:22 +08:00 |
|
youpaishidifu
|
6eaa883849
|
第57批续2:时间戳文件两份问题修复
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m23s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
- readTimestampFile:多份时间戳文件取最小值(用户手动放的固定值 < 插件启动创建的当前秒值)
- ensureTimestampFile:目录里已有任意时间戳文件就跳过,不重复创建
|
2026-10-26 09:53:03 +08:00 |
|
youpaishidifu
|
8a693e6417
|
第57批续:封禁播报时间戳文件+空行清理+补丁去重
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 3m0s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
- BanBroadcastManager:resolveStartCutoff 优先读数据目录10位时间戳文件,无则回退目录创建时间+180天保护;启动时自动创建时间戳文件
- WebManager:删除2075行空行+激进清理(方法内部空行全删,块注释/方法间空行保留);bans_intercept/post_scan去重
- Main/LoginManager:去重重复插入的confirm/cancel ban块和pushLoginVerified块
|
2026-10-26 00:10:06 +08:00 |
|
youpaishidifu
|
8718dc6e87
|
第57批修复:补上post_scan+bans_intercept(v3静默失败的CRLF不匹配补丁)
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m55s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-25 22:38:33 +08:00 |
|
youpaishidifu
|
51f56b9e18
|
第57批:封禁数据只读+缺口待确认+登录状态推送login_verified=1
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m13s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-25 21:28:39 +08:00 |
|
youpaishidifu
|
0b3a8debdd
|
第56批:webbind批准Java端验密码(5次风控)+注册token附带邮箱后缀配置
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m37s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-25 18:40:35 +08:00 |
|
youpaishidifu
|
340726205c
|
第55批:登录状态主权修复 - token生成时按实际登录状态推login_verified(未登录推0让PHP清除旧记录)
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m30s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
|
2026-10-25 17:37:15 +08:00 |
|
youpaishidifu
|
ba73ebfdb2
|
第54批:登录验证主权反转 - 消息文案修正
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m25s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
根因:LoginManager.java:309 '正在核对网页端最新密码…' 暗示 PHP 有更高权威,
用户感知「主权搞反了」。
架构现状(已确认无需改动):
- PHP 不验证密码(sync.php verify_web_password 已禁用)
- Java 本地 checkPasswordWithFallback 为主
- Java 拉回 PHP 凭证入库主密码(applyPulledRow → updatePassword)
- Java 回传结果给 PHP(sendWebLoginResult → complete_web_login_request)
修复:
1. LoginManager.java: 消息文案改为中性「正在同步账号数据…」
2. WebManager.java:6550: 冻结解冻消息改为「请在游戏内执行 /sdf1_login pw」
3. 注释更新:明确「拉回PHP凭证入库为主密码」「以Java本地login.db为准」
验证:
- 括号配平 PASS(final=0, min=0)
- mvn clean compile BUILD SUCCESS (16.9s)
- 行尾:LoginManager LF, WebManager CRLF
|
2026-10-25 16:37:52 +08:00 |
|
youpaishidifu
|
5e9bd5f6bf
|
第53批:网页绑邮箱游戏内批准流——定时器A链尾轮询+clickable批准通知+/webbind命令
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m26s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-23 23:01:42 +08:00 |
|
youpaishidifu
|
474b912afe
|
第52批: 修复\/JSON转义脏值四层防护
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m34s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
- 解析根修: addParsedEntry/parseJsonArrayItem清洗链补\/还原(置于\\还原之前); extractJsonString扫描跳过转义序列并按JSON规则反转义
- 写库兜底: createUser/updatePassword入参b64Clean; applyPulledRow credentials的hash/salt/temp写库前白名单清洗
- 存量迁移: init启动时REPLACE char92清洗users表password_hash/password_salt/temp_password(仿一次性自愈范式,WHERE instr条件幂等)
- 读取容错: checkPassword/checkPasswordWithFallback/checkPasswordForChange比对前双侧b64Clean
- 根因: PHP json_encode把base64中的/转义成\/,历史解析层漏还原写进库,hash脏值致游戏端+网页端密码恒错
|
2026-10-23 19:21:14 +08:00 |
|
youpaishidifu
|
5b705d0af2
|
第49轮诊断:收回写库前后抓新旧hash/salt完整值入日志,抓对账ping-pong现行
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m33s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-23 16:04:22 +08:00 |
|
youpaishidifu
|
7525b8f6b5
|
第48批(1/2):修复对账指纹未落盘致网页改密被反向覆盖;登录失败自动对账重试;绑定2FA后游戏登录强制密码+动态码两关
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m24s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
- saveAlignSeen 自杀式节流修复:原节流条件 now-dirtyAt<5000 恒成立(调用点先设 dirtyAt 再调用)
→ align_seen.json 从未落盘 → 重启后 seen 全空 → 网页新密码被游戏旧密码反向覆盖;
改为以「上次成功写入」alignSeenLastWrite 为基准节流
- /login 密码不匹配:15秒/人限流 → 异步 pushWebLoginCredentials(含 alignGate 拉回) →
主线程自动重校验;重试仍败走正常风控计数(解决网页改密后游戏内密码对不上)
- 已绑定2FA(twofa_enabled=1)的玩家密码通过后不再直接放行:requireTwoFaIfEnabled
转入双验证第二步等 /2fa code(此前仅 IP 变更才触发两关,同IP登录第一层过关直接放行)
|
2026-10-23 11:27:38 +08:00 |
|
youpaishidifu
|
2090939e87
|
第47批:2FA绑定状态与网页端双向同步——users表新增twofa_bound_at;WebManager新增pull_state/push_state;TwoFactorManager同步合并逻辑(导入/新者胜/解绑传播)+4写入点推送+进服静默同步;Main进服挂点
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 6m8s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-22 23:25:01 +08:00 |
|
youpaishidifu
|
14c288a77c
|
第45批:垃圾站轮次播报——保留仅1轮时不提示本轮结束时倾倒垃圾(仅保留>1才提示)
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m32s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-22 19:18:53 +08:00 |
|
youpaishidifu
|
c92e79160c
|
合并远端 README 提交 a21e95d(仅 README)
|
2026-10-22 16:27:21 +08:00 |
|
youpaishidifu
|
a21e95df68
|
docs: 完善 README 使用手册(3.11)
|
2026-10-22 16:23:16 +08:00 |
|
youpaishidifu
|
0b5422395c
|
docs: 完善 README 使用手册(3.11)
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 5m26s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-22 16:22:35 +08:00 |
|
youpaishidifu
|
b7b564a091
|
3.11内测版:plugin.yml版本号升级
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m35s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-22 15:52:23 +08:00 |
|
youpaishidifu
|
c5bd3d58f5
|
3.1正式版
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m16s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
v3.1
|
2026-10-22 15:00:45 +08:00 |
|