youpaishidifu
|
b64e7e336c
|
修正药效等级上限口径:按各效果的生存可获取上限封顶
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m15s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
用户纠正:上一版把 /effect 命令的作弊上限(amplifier 255 = 强度 256)
当成了「原版最大上限」,口径错了。真实含义是**生存模式下正常探索、
合成、建造能拿到的最大等级**:
· 抗性提升 —— 信标最高 2 级(4级金字塔选「提升至II」)
· 海豚的恩惠 —— 只有潮涌能量块一个来源,最高 1 级(截图里的 Lv255 即此)
所以「统一按 256 封顶」仍然等于没封。
改为按效果逐个封顶,两层上限同时生效:
1) 生存可获取上限(硬顶):getSurvivalMaxLevel() 逐项查表
· 可升 II 的:迅捷/急迫/抗性提升/跳跃提升/力量(信标)、
瞬间治疗/瞬间伤害/缓慢/挖掘疲劳/中毒/生命恢复(发光石粉)
· 生存单一来源恒为 1:海豚的恩惠、潮涌能量、抗火、水下呼吸、
隐身、夜视、缓降、虚弱、反胃、饥饿、凋零、失明、黑暗、
发光、飘浮、各类事件效果等
· 生存无来源:生命提升/伤害吸收/饱和/幸运/霉运 → 1
· 未知效果兜底 1(宁可少给,绝不超发)
2) 用户组配置 max_effect_level(软顶):组里配多少就是多少
最终 cap = min(两者),getEffectLevelCap() 统一出口
表项与 paper-api 26.1.2 的 39 个 PotionEffectType 完全对齐(已核对无遗漏)。
注意:生命恢复取 2 而非旧版附魔金苹果的 V —— 那是 1.6.1 前的历史数据,
附魔金苹果早已改为给伤害吸收。
应用点全部改走 clampEffectLevel(raw, effectName, owner)(5 处):
首次给予、热更新、handleEnter、applyEffects、PHP 推送字段。
CLI 添加/编辑的报错信息改为报该效果的真实上限,并说明生存上限是多少。
PHP 侧 land_api.php 同步加入同一张表(134 个 case 标签与 Java 端
逐项对账一致),web 端写入时即按效果封顶,不再等 Java 兜底。
|
2026-10-04 19:56:45 +08:00 |
|
youpaishidifu
|
6f9202859d
|
修复领地增益药效等级无上限,新增用户组药效等级上限配置
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m32s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
问题:领地增益效果的等级完全没校验,管理员配了 255 级就会原样
生效(截图里出现的 Lv255 即源于此)。原版 /effect 的 amplifier 硬
上限是 255(对应药效强度 1~256),插件此前允许写入并施加远超原版
范围的等级。
修复(2026-10-04 任务4):
- UserGroupManager 新增 maxEffectLevel 字段,默认 256
· 常量 DEFAULT_MAX_EFFECT_LEVEL = 256 集中定义原版上限
· user_group_config 建表补列 + ALTER 迁移(老库自动升级)
· loadGroupConfigs 读取、saveGroupConfigToDB 加为第 14 列
· 新增 getPlayerMaxEffectLevel:普通玩家走原版 256,用户组按组配置
- AreaProtection 新增 getMaxGiveEffectLevel / clampGiveEffectLevel,
在全部 4 个应用点封顶:首次给予(applyRegionEffects)、热更新、
handleEnter、applyEffects;另在 PHP 字段推送(applyFieldToAreaConfig)
与 CLI 添加/编辑两处入口按同一上限做输入校验与提示
- WebManager 用户组同步双向补 max_effect_level(推 PHP + 回读)
规则:普通玩家(未加入任何用户组)严格按原版 256 封顶,严禁超限;
用户组玩家按组配置封顶,组里配多少就是多少,但任何情况下都不得
突破原版 256。原先散落各处的硬编码 255 已统一为该口径。
|
2026-10-04 19:25:39 +08:00 |
|
youpaishidifu
|
f2808a5923
|
修复 denyMove 对访客/路人失效:GUI显示已禁用但实际畅通无阻
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m20s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
现象:领地访客授权页显示「移动 已禁用」,玩家在领地内却能自由走动。
根因:getEffectiveDeny 是所有 deny* 权限的共用入口,其第3步
if (level == PermissionLevel.VISITOR) return false;
对全部权限无条件豁免。denyMove 走同一入口,访客在此被放行,
永远到不了第4步读 ac.denyMove。而 GUI(AreaGUIManager:586)
显示读的正是 land.denyMove=true —— 显示与实际判定脱节。
判定链(修复前,访客):
第1步 非ADMIN/OWNER → 不豁免
第2步 playerPerms 无 denyMove 键 → containsKey=false,不命中
第3步 level==VISITOR → return false ← 绕过点
第4步 getLandDefaultDeny(ac,"denyMove") 永远到不了
修复(按用户决策:仅 denyMove 改,其余权限保持现状):
第3步增加 denyMove 特例 —— 访客若无 per-player 显式 denyMove,
不再豁免,继续落到第4步按领地默认 denyMove 判定。
level==null(纯路人)本就落在第4步,行为正确,未改动。
顺带恢复 logDenyExempt 诊断输出(此前整段被注释,
是当初现场无法定位该问题的直接原因)。
验证:离线回归测试 13/13 通过,覆盖 ADMIN/OWNER 豁免、
per-player 显式放行与禁止、访客回落、路人回落、白名单访客,
并断言 denyBlockBreak/denyContainer/denyBlockPlace/denyWax
的访客豁免语义未被破坏。mvn -o clean package 编译通过。
|
2026-10-04 18:47:05 +08:00 |
|
youpaishidifu
|
494ab22227
|
修复首次全量同步的三处根因(假成功+流水永久丢失+同步过慢)
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 1m58s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
【BUG-1 假成功(核心)】hash 在请求发出前就提交,导致同步失败后永不重试
位置:syncUserRegistrations / syncBondBalances / syncShopData
现象:日志打印"已同步 3人",PHP 端 users 表实测 0 条
原因:lastXxxHash = currentHash 写在 httpPostWithToken 之前,密钥错/网络断/500
时 hash 已被写脏,这份数据再也不会重推
修复:hash 仅在 PHP 明确返回 success=true 后提交;失败不提交,下轮周期自动重试
【BUG-2 历史流水永久丢失(不可恢复)】
实测:bond.db 419 笔(最早 2026-05-21),web_sync.db 水位线已推到 2026-10-04
17:18:02,419 笔全部 <= 水位线,晚于水位 0 笔;PHP 端 game_transactions 仅 3 笔
原因:水位线语义是"我以为 PHP 已经有了"。Web 端被清空(全新部署/隔离目录重置/
低版本插件首升 PHP)后两者失联且无法自愈,只推了水位线之后的 1 笔
修复:
1) 新增 resetTxWatermarkForFullSync(),首次全量同步前强制归零水位线重推全部历史
2) 新增 pushTxBatch(),每批最多 300 笔(TX_SYNC_BATCH_SIZE),失败即中止且
不推进水位线 → 下轮从同一位置重试,不丢数据
3) 分批后打"第 N/M 批 已同步 X 笔"与总计日志
【BUG-3 全量同步串行 sleep 过长 + 无进度可见】
原因:12 项任务之间各 sleep 6~14 秒,总计 72~168 秒串行阻塞(用户"等 3 分钟没数据")
修复:间隔缩短为 1.5~3.5 秒;开头判 isEnabled() 跳过;开头打地址+密钥长度;
每项提交打一行"已排队";结尾打 12 项汇总与耗时
兼容性:纯 CRLF 行尾已保持(0 裸 LF);mvn -o clean package 编译通过
|
2026-10-04 17:53:59 +08:00 |
|
youpaishidifu
|
ba613ff953
|
修复:Web通信关闭后仍在出网(热重载暴露的可见性 bug)
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m4s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
现象(用户日志实证):
16:41:36 配置已热重载: 启用=false 密钥长度=30 [开关已关闭]
16:41:45 syncOnlinePlayers: enabled=false, 跳过 ← 有守卫,正常
16:42:12 推送游戏内商品目录 ... 已同步 975 项 ← ★ 无守卫,仍在出网
16:42:46 服务商数据变更,已同步: 1人 ← ★ 无守卫,仍在出网
根因两层:
1) 约 22 个同步方法(pushShopCatalog/syncServiceProviders/syncPermissions/
pullShopStock/pullShopPrices/pullBondChanges 等)压根没有 !enabled 守卫;
2) 即使有守卫也拦不住 —— 任务是在「开关还是 true 时」就已 submitDbTask 入队的,
db-worker 单线程排队轮到它时开关早已关闭,方法开头的守卫已经执行完了。
修法:出网最后一公里统一加闸,三道防线
1) 7 个 HTTP 收口方法开头加 isEnabled() 闸。doGet 是 46 处调用的唯一总出口,
一处改动覆盖全部 GET 路径,零遗漏;两个 HTTP 降级方法一并覆盖。
2) submitDbTask / submitWebTask 入队前拦一道(省掉入队开销)。
3) startDbWorker 执行 task.run() 之前再查一次(治标兜底,拦存量任务),
静默 continue 不打 WARN —— 关闭后每轮几十个任务全打日志会刷爆控制台,
真正的开关变化已由 hotReloadIfChanged 打了一行「[开关已关闭]」,信息不丢。
另加 noteWebDisabledOnce():关闭状态下每 60 秒一条 INFO,说明「为什么没发」。
验证:mvn package 零错误;离线单测 18/18(闸的位置与结构均从真实源码抽取),
含端到端复现「关闭前入队、关闭后执行」这一用户日志场景。
|
2026-10-04 17:01:21 +08:00 |
|
youpaishidifu
|
932623ed88
|
Web通信配置热重载+密钥自愈:不再依赖 reload
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m6s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
背景:密钥错配导致 708 次 403。根因是运维改了服务器上的 插件设置.txt
却没重启也没 reload,插件一直握着旧密钥死循环重试。
改动(WebManager.java,+233/-3):
1. hotReloadIfChanged():5 个合并定时器每轮开头比对 插件设置.txt 指纹
(lastModified+length),变了就热重载「启用开关/地址/密钥/三个数值项」。
放在 enabled 守卫【之前】,开关关着时也能感知「改回 true」。
3 秒节流 + 指纹闸,文件没动时连磁盘都不读。
2. 密钥自愈:doGet / doPostWithoutFallback / doPostWithSslFallback /
doPostWithRetry 四个出网收口接入 withSecretAutoHeal(),
命中「密钥验证失败/认证失败/invalid_secret」时重读配置的密钥并重试一次。
30 秒冷却防刷日志;文件里就是当前值则不自愈(那是 PHP 侧问题,不死循环)。
3. isEnabled() 改为实时读文件,改开关下一毫秒生效。
4. reloadWebConfig() 保留为手动方式,强制清文件指纹确保真正重新解析。
5. 日志不再打印明文密钥,只打长度。
验证:mvn package 零错误;离线单测 32/32(判定串与解析规则均从源码抽取,
非另写等价实现),含端到端自愈、PHP 真拒不死循环、开关自动恢复、指纹节流。
|
2026-10-04 16:32:07 +08:00 |
|
youpaishidifu
|
dc5633c740
|
新增4项功能:tempban参数可选+债券冻结时长+领地增益上限+用户组max_effects同步
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m52s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-04 14:48:26 +08:00 |
|
youpaishidifu
|
24897c2b97
|
命令语法报错补充标准示例与一句话用法,示例仅对控制台与OP玩家展示
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m5s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-04 13:06:22 +08:00 |
|
youpaishidifu
|
ab0f15f248
|
新增命令参数不全/语法错误的中文友好报错(Brigadier 重解析 + 出错指针 + 下一步可填提示)
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 1s
|
2026-10-04 12:43:38 +08:00 |
|
youpaishidifu
|
77635b8db2
|
保留原生JSON解析:控制台未命中分流增加JSON快速通道,与&色码写法并存
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m9s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-04 11:40:36 +08:00 |
|
youpaishidifu
|
8486adb53c
|
修复:控制台未命中原生指令被当聊天全服广播导致刷屏
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m11s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-04 11:19:07 +08:00 |
|
youpaishidifu
|
c07c97b7ea
|
conmsg: clear 作为保留子参数,恢复默认署名(不再当名字设置出去)
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 1s
|
2026-10-03 23:26:51 +08:00 |
|
youpaishidifu
|
c17c606ff2
|
转发聊天: 正文支持JSON组件+&色码+换行并存, 署名仅&色码且强制单行
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m39s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 23:06:28 +08:00 |
|
youpaishidifu
|
f8756a24df
|
无感切换: 新增 conmsg 控制台署名 + 按权限分层提示 + 找不到时温和告知
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m0s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 22:17:37 +08:00 |
|
youpaishidifu
|
be8d0cb615
|
无感切换分流: 玩家未命中出相似建议, 控制台未命中转发聊天
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m58s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 21:31:49 +08:00 |
|
youpaishidifu
|
2e0fdea5be
|
无感切换修复控制台接管 + 压制方式改为 message(null)
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 1m47s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 20:48:01 +08:00 |
|
youpaishidifu
|
21e23bbc89
|
无感切换限定为 sdf1 系列 4 插件,未命中时回指令清单
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m21s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
按用户口径收窄管辖范围:
- 只接管 CY_beibao / sdf1 / Sdf1_game / Sdf1_login 四个插件的指令
- 命中我们 4 插件的指令(大小写不敏感)-> 直接执行
- 命中别人插件或原版指令 -> 完全不干预,不破坏别人的判断链
- 确实啥都没命中 -> 压制原生 unknown,把我们 4 插件的指令清单分组回给玩家手动执行
- 控制台不接管(运维输错保留原声报错)
技术要点(Paper 26.2 实测签名):
- 拦截点 UnknownCommandEvent.setMessage(String)(父类非 Cancellable)
- 归属判定靠 PluginCommand.getPlugin(),名单 OWN_PLUGIN_NAMES
- 遍历用 CommandMap.getKnownCommands() 返回 Map<String,Command>
|
2026-10-03 19:39:05 +08:00 |
|
youpaishidifu
|
1e15bfb523
|
无感切换改用 Paper 26.x 正确拦截点 + 编译目标切到 26.2
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 1m56s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
根因:Paper 26.x 命令分发改走 Brigadier,PlayerCommandPreprocessEvent
已 @Deprecated 且只在 ServerGamePacketListenerImpl 作为遗留兼容路径保留,
实测事件从未被调用(日志一行都打不出来),改优先级无效。
改动:
- pom.xml: paper-api 1.21.4-R0.1-SNAPSHOT -> 26.2.build.129-stable(与运行时一致)
- 删除失效的 onSeamlessCommandSwitch / getCommandMapSafe
- 新增 UnknownCommandEvent 监听:setMessage("") 压制原生 unknown
- 新增 dispatchCaseInsensitive:输入为大写时小写复核并补执行
- forwardAsChat 改用 26.2 真实签名 AsyncChatEvent + AbstractChatEvent.message()/viewers()
|
2026-10-03 19:01:53 +08:00 |
|
youpaishidifu
|
a1007a19f9
|
无感切换: 使用 Paper API 获取 CommandMap + 诊断日志
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 1m36s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
- getCommandMapSafe 优先使用 Bukkit.getCommandMap() Paper API
- 添加详细诊断日志(事件触发、label、hit 结果)
- 便于排查大写指令返回 unknown 问题
|
2026-10-03 18:07:10 +08:00 |
|
youpaishidifu
|
dd4bb7baba
|
修复无感切换优先级 + 改判系统兼容反向操作
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m14s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
- onSeamlessCommandSwitch: MONITOR -> LOWEST(在服务端处理命令前拦截)
- doTempBan: 新增反向改判(永久封禁可被 tempban 改判有期徒刑)
|
2026-10-03 16:49:19 +08:00 |
|
youpaishidifu
|
31c7077a64
|
屏蔽除了readme.md以外的md文件
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m59s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 16:12:00 +08:00 |
|
youpaishidifu
|
9656ff4e8f
|
再次删除脚本部署的凭据文件
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m46s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 15:56:02 +08:00 |
|
youpaishidifu
|
14cc943068
|
屏蔽部署所需要的凭据文件
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m5s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 15:54:07 +08:00 |
|
youpaishidifu
|
96aef279cf
|
批次B3异步化 + 任务48改判系统/注册校验 + 任务50无感切换
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m6s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
批次B3(混合型定时器拆分):
- Main: quest PlayTime 计时器 DB 下沉异步
- Main: 工单自动处理定时器改 runTaskTimerAsynchronously
- TicketManager: 新增 sync() 辅助,autoProcessCompleted/settleTicket/processDeleteAccount Bukkit 操作回主线程
- GarbageManager: doCleanup 两段式(DB删旧异步+收集回主线程),collectItems 落库异步
- SnManager: startAutoSweepTask 分片(每 tick 只清点 1 人)
- AreaProtection: sweepBannedOwnerLands 两阶段(Bukkit主线程判定 + DB/HTTP异步删除)
任务48(改判系统 + 注册校验):
- DatabaseManager: 新增 userExistsIgnoreCase(COLLATE NOCASE)
- Main: 新增 ensureRegistered 辅助,doTempBan/doBanIp 入口加注册校验
- Main: 新增 guardVanillaBan 守卫(HIGH优先级双事件),未注册拒绝+临时封禁改判永久
任务50(无感切换):
- Main: 新增 onSeamlessCommandSwitch(MONITOR),命中指令直接执行/大小写不敏感/未命中转公屏
- Main: 新增 getCommandMapSafe + forwardAsChat
|
2026-10-03 15:36:31 +08:00 |
|
youpaishidifu
|
efe00d92af
|
圈地选区SN校验收紧为本人名下+有效状态;转移物品不再锁SN;管理员强制可处置非法SN
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m0s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-03 11:11:52 +08:00 |
|
youpaishidifu
|
643f2a81cf
|
领地扩建按创建单价扣费、收缩按比例退款、圈地棒SN归属校验;发射器/投掷器消耗SN永久锁定不支持注销
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m9s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-03 10:21:11 +08:00 |
|
youpaishidifu
|
e13869923f
|
管理员GUI配置面板补单次扩建免审面积与免审边长上限两个配置项
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m51s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-02 19:45:06 +08:00 |
|
youpaishidifu
|
20052d660b
|
领地面积限制与现场审批流:单次扩建3500㎡/边长7000格超限转管理员审批,denyWax改回普通权限判定
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m12s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
|
2026-10-02 19:31:46 +08:00 |
|
youpaishidifu
|
9cf9fd745c
|
修复垃圾站取回后SN lore丢失:取回改用DB原始存档还原,补挂SN行,背包满掉落防吞
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m4s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-02 11:45:01 +08:00 |
|
youpaishidifu
|
4d34606d8e
|
SN脱离管控两档计时:进垃圾箱/落地10分钟即起算,12小时超时放行注销与补发
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m7s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-01 22:47:20 +08:00 |
|
youpaishidifu
|
55ec15bb5b
|
SN以旧换新改判:名下已有登记直接强制收回,并新增开箱扫描回收箱内无SN物品
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m49s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 22:06:42 +08:00 |
|
youpaishidifu
|
fbc0e94fc2
|
2FA解绑报警改发玩家本人邮箱;未绑定2FA时不再提示验证码错误
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 2s
|
2026-10-01 21:00:05 +08:00 |
|
youpaishidifu
|
81e8323d56
|
2FA增加控制台强制解绑(30秒冷静期可-c取消)与三场景解绑报警邮件,玩家侧最小化信息透露
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m0s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 20:15:44 +08:00 |
|
youpaishidifu
|
393ef114e7
|
IP风控:检查点1/2接入双验证,IP变更且已绑2FA强制密码+2FA两关
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m23s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
|
2026-10-01 19:00:34 +08:00 |
|
youpaishidifu
|
7a5fb5f171
|
回退正版验证落库:改为仅本次运行期内免登录,写入不看玩家在线状态
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m2s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 18:04:19 +08:00 |
|
youpaishidifu
|
9884f79cf6
|
订正双验证触发点注释
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 1m23s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-10-01 17:43:48 +08:00 |
|
youpaishidifu
|
b7f2d0da57
|
登录风控:IP变更强制密码+2FA顺序两关,正版验证标记永久落库
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 1m50s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-01 17:35:21 +08:00 |
|
youpaishidifu
|
82524dc9e9
|
删了最后一个测试文件
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 1m47s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 14:27:41 +08:00 |
|
youpaishidifu
|
66e28db552
|
删了一堆测试文件
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-01 14:26:34 +08:00 |
|
youpaishidifu
|
919382c377
|
2FA恢复代码与登录风控联控:绑定后发8组6位恢复代码到邮箱(库存SHA-256一次性消费),/2fa code统一绑定与验证端口,IP变更时提示完成二次验证,恢复代码验证即解绑;正版OAuth验证玩家豁免游戏内验证码;/2fa子命令tab补全与冻结白名单放行
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m4s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 13:38:29 +08:00 |
|
Test User
|
2c138b6608
|
test fix action queue 1790824042
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m23s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-10-01 11:07:22 +08:00 |
|
youpaishidifu
|
7a2eb8e5d8
|
docs: 修正2FA token的WAF结论注释(实为token查询参数名+≥32位hex被拦,非t=)
Check Source / check (push) Successful in 1s
Auto Release / build (push) Failing after 43s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 10:59:38 +08:00 |
|
youpaishidifu
|
451d088697
|
fix: 2FA二维码token回退为裸hex64,规避线上WAF拦截(v1_前缀与t=长hex均被CF层404)
Check Source / check (push) Successful in 2s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
Auto Release / build (push) Failing after 13m30s
|
2026-10-01 10:46:34 +08:00 |
|
youpaishidifu
|
d56fcbd3cd
|
2FA二维码token加v1_前缀:线上WAF拦截「t=32位以上纯hex」形态,前缀破坏纯hex特征(实测可过)
Check Source / check (push) Successful in 2s
Auto Release / build (push) Failing after 44s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 10:37:21 +08:00 |
|
youpaishidifu
|
32aa2bab05
|
安全加固层B:玩家端2FA(TOTP)绑定——/2fa add生成二维码申请、/2fa code动态码完成绑定、/2fa remove+30秒聊天confirm解绑;Base32/TOTP本地实现,users表加4列,PHP只做二维码展示
Check Source / check (push) Successful in 3s
Auto Release / build (push) Failing after 48s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-10-01 10:16:38 +08:00 |
|
youpaishidifu
|
e941365a41
|
安全加固层A:未绑定邮箱玩家登录/注册后聊天框+actionbar15秒提示(与保存密码提示错峰)
Check Source / check (push) Successful in 2s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
Auto Release / build (push) Failing after 10m47s
|
2026-10-01 09:55:50 +08:00 |
|
youpaishidifu
|
606728d09a
|
SN管理:新增顶层办理签发命令 issue_new(按玩家ID+设备类型直发)
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m5s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
|
2026-09-30 17:32:08 +08:00 |
|
youpaishidifu
|
fe6f6d8f80
|
SN日志actionCn补映射:issue_admin办理签发、cancel_force强制注销
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 1m52s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
|
2026-09-30 12:34:06 +08:00 |
|
youpaishidifu
|
0b77d1c211
|
SN办理签发入口(Java端):execCommand新增issue分支+doIssue方法——兜底复核旧SN已注销/销毁/补发了结与本地冷静期,玩家在线后登记新SN并发放,回执issue_admin日志
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m38s
Simple Test / test (push) Successful in 3s
Test Env / test (push) Successful in 1s
|
2026-09-30 12:13:57 +08:00 |
|
youpaishidifu
|
383639a1b5
|
SN强制注销跳过1小时冷静期,代办注销仍走三条件门槛与冷静期
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 1m44s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
|
2026-09-29 23:57:30 +08:00 |
|