Commit Graph
96 Commits
Author SHA1 Message Date
youpaishidifu 2822ba9c9a 负面效果从增益里拆出独立子菜单 + 药水成就防作弊
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m15s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
用户要求:增益只归纳增益,负面另开子菜单;移除指定效果那套不动。
插件给的效果必须打标记,靠插件凑齐原版药水成就的立刻撤销。

效果拆分
- AreaConfig 新增 badEffects 字段,area_lands 加 bad_effects 列(73 列)
- GUI:效果管理主菜单 11~15 连排五格(清负面/禁效果/单清/增益/负面),
  新增 subPage 4 负面效果列表;选择页按 clear/give/bad 分别只列对应档位
- CLI:新增 effectsmgmt 6/7 子页与 effectsbadadd/effectsbadremove/effectsbadedit
  指令、editBad_ 回写分支,与 GUI 同一份效果口径
- 施加点全部合流 giveRegionEffects/applyEffectList,并修正 handleEnter
  的先清后给顺序(否则负面配置会被 clearBadEffects 清掉)
- 数量上限改为增益+负面合计(用户组 max_effects 是同一份预算)

成就防作弊
- 新增 AchievementEffectGuard:接管 nether/all_potions(17种) 与
  nether/all_effects(34种),清单抄自服务端 advancement json
- EntityPotionEffectEvent(Cause.PLUGIN) + PlayerAdvancementCriterionGrantEvent
  双钩子,revokeCriteria 撤销,进服复核一次,离场清标记
2026-10-04 22:57:14 +08:00
youpaishidifu 0c18137401 修正药效生存上限表:村庄英雄5级、挖掘疲劳3级、伤害吸收4级、不祥类5级
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m21s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-10-04 20:32:03 +08:00
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
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
youpaishidifu 374cbdbc11 SN防刷:注销/报失/补办统一三条件门槛(不在本人身上、不在本人领地箱子、脱离自身管控超12小时),未达标统一回通用提示,管理端可见逐条判定;修正拾取事件 loc_type 误记为物品类型
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m3s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
2026-09-29 20:21:45 +08:00
youpaishidifu 841fd928a5 fix: SN命令回执改同轮返回且失败不丢,全量批处理移出Timer C消除2分钟同步周期
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m10s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-29 18:03:32 +08:00
youpaishidifu ccb67a0bf5 fix: 修复全员下线后SN同步定时器永久停摆与冷静期提示误导
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 1m53s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
1. WebManager: Timer B/C/E 全员下线时改为保活调度(不再 return 停死),
   Timer C 兼任看门狗在检测到玩家上线时恢复;doActiveSyncBatch 移除
   重复 schedule 调用避免产生双链。
2. SnManager.setStatus 写入 cancel_time,新增 cooldownMinutesLeft 辅助方法。
3. AreaProtection/AreaGUIManager/LandRecordManager/PVPManager 申领入口按
   真实原因分流提示(冷静期剩余分钟数 vs 旧SN未注销),副作用与 return 不变。
2026-09-29 16:38:31 +08:00
youpaishidifu 68bbb52ae6 SN防刷:管理员强制补发仅本次绕过冷静期,修复补发双重登记导致物品发不出去;注销回收容器与他人背包实物,新增死SN拦截(拾取/使用)与无SN旧品自动回收
Check Source / check (push) Successful in 1s
Auto Release / build (push) Successful in 2m20s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-29 13:37:45 +08:00
youpaishidifu 176e64187c 插入草原探险宣传广告
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 1m57s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-29 13:10:06 +08:00
youpaishidifu 7aad66f219 feat: 新增SN防伪系统,接入四类道具签发、拾取/合成/熔炼探查、销毁解绑与PHP目录同步
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-09-29 11:36:53 +08:00
youpaishidifu b62b5ebd83 5测audo release
Check Source / check (push) Successful in 1s
Auto Release / build (push) Failing after 45s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-29 10:37:02 +08:00
youpaishidifu 52dd5c54e9 维护消息占位符防双重替换:标签+定界符混合写法只换占位符
Check Source / check (push) Successful in 1s
Auto Release / build (push) Failing after 1m2s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
问题:配置「开始时间[starttime],结束时间[endtime]」时,定界符占位符先替换成时间,
中文标签「开始时间/结束时间」又被裸替换二次吃掉,渲染成两份时间连排。

修复:replaceVar 先扫描本组 key 是否已有定界符形式出现(delimHit),
命中则整组跳过裸子串替换、保留标签原文;裸写「开始时间」无定界符时仍正常替换。
新增 T3 用例 J 组 9 例,83/83 通过,白名单回归 27/0。
2026-09-29 00:28:40 +08:00
youpaishidifu f3306589e0 维护消息防御性编程:色码包JSON识别、残缺JSON修补、占位符任意中英文括号
Check Source / check (push) Successful in 1s
Auto Release / build (push) Failing after 46s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-28 23:59:07 +08:00
youpaishidifu 61d53d7689 修复维护模式两个线上问题:
Check Source / check (push) Successful in 6s
Auto Release / build (push) Failing after 1m5s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
1) JSON 消息内的字面 <br>/<br/>/</br> 不被摘除(JSON 分支绕过了换行预处理)
   -> deserialize 前先替换成 JSON 转义换行,标签不再漏给玩家
2) [白名单] 段标题被删(只剩「# ===== 白名单段 =====」注释)时玩家名被静默丢弃,
   白名单读成 0 人且 OP可绕过=flase 拼错也无提示 -> 所有人被拦
   -> 注释式段标题也识别 + 段外无键值行按玩家名兜底收录
   -> 条目清洗(零宽/全角空格/行内注释/列表前缀)+ 布尔拼写告警
   -> 维护开启时打印白名单条目与控制段键,便于对账

测试:T3 真实源码抽取 46/46(含用户真实白名单.txt 解析)、maint 33/0、whitelist 27/0
2026-09-28 22:50:43 +08:00
youpaishidifu fb297b34fb 修复维护消息JSON解析:顶层数组[{...}]此前不被识别、整段按纯文本打印成源代码,现与对象{...}同走Gson组件解析;JSON内占位符只替换{xxx}/%xxx%/<xxx>不再裸替换正文英文词;配置模板注明支持数组 2026-09-28 21:35:11 +08:00
youpaishidifu 5e778a1a6d fix: 白名单矫正为严格一行一个名字,段落头加「剥装饰后含=即非标题」硬门槛(修复控制键被误判成标题导致开关失效、全角【白名单】读空致全员被踢),并加空白名单告警 2026-09-28 21:00:54 +08:00
youpaishidifu 50498ffb41 新增维护模式(白名单):白名单.txt双段配置、24小时硬封顶、多格式时间解析、自定义消息与变量、登录/加入/退出热重载、异步预登录无感拦截 2026-09-28 20:01:25 +08:00
youpaishidifu 441569e758 修复sdf1兑换码远程验证:JSON解析支持布尔/数字/转义,已消耗回already_used不再误判未匹配,瞬时故障自动重排队 2026-09-28 19:39:43 +08:00
youpaishidifu 42c51e06a8 修复home床传送点:床被破坏自动删除、换床自动更新、复活抓取精确床坐标、回床走原版复活落点算法 2026-09-28 19:30:20 +08:00
youpaishidifu e2742d8a6e test audo release
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m24s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 2s
2026-09-28 18:46:04 +08:00
youpaishidifu 78d3e11c21 修改.gitignore以屏蔽日志和开发过程中不必要的文件
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
2026-09-28 13:38:26 +08:00
youpaishidifu 002b0e47a9 feat: /pvp see 重构为裁判⇄幽灵双形态切换(不再切回无保护普通玩家)、/pvp leave see 退出观赛时重新选装并补发PVP装备、断线重连补裁判身份清理
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m20s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-28 12:39:10 +08:00
youpaishidifu adae149791 fix: 空场判定延后1tick并列出剩余玩家(修复全员下线仍提示驻场)、断线未登记也复核、死亡时打印双方观赛状态、退出观赛加醒目警告
Check Source / check (push) Successful in 5s
Auto Release / build (push) Successful in 2m10s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
2026-09-28 12:03:37 +08:00
youpaishidifu 668a5f3d38 fix: 观赛自动补登记时向玩家提示/pvp leave see并完善日志指引
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 2m28s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
2026-09-28 11:38:43 +08:00
youpaishidifu 27ac366046 fix: 观赛战斗保护二次加固——身份判定不限世界、PVP世界野生观察者自动补登记、每次拦截留痕日志、MONITOR安全网防解取消
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m16s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
2026-09-28 11:25:39 +08:00
youpaishidifu dea31b8222 fix: 观赛者以登记身份双向拦截战斗并强制恢复观察者、PVP世界删除全链路日志与磁盘复核重试
Check Source / check (push) Successful in 3s
Auto Release / build (push) Successful in 2m11s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
2026-09-28 10:15:15 +08:00
youpaishidifu 233060e7bd fix: 观赛退出绝不回创造模式、正版验证轮询fail-closed、验证码改为99以内小学加减乘除
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m44s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
- PVPArenaManager: 进观赛时创造/观察者一律归一为生存再备份,exitSpectator/forceLeaveArena 兜底还原绝不给 CREATIVE(防退出观赛变创造作弊)
- WebManager: 正版验证轮询fail-closed——非JSON/缺字段视为无效响应仅记日志绝不放行,PHP明确失败即终止轮询,verified须凭证齐全且会话归属玩家一致才 autoLogin
- ChatFilterManager: 验证码算术题改为小学水平99以内加减乘除(和/积≤99、减法不为负、除法整除)
2026-09-27 23:57:32 +08:00
youpaishidifu 8388d68cb7 chore: gitignore忽略编译日志build.log
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m29s
Simple Test / test (push) Successful in 1s
Test Env / test (push) Successful in 1s
2026-09-27 21:47:26 +08:00
youpaishidifu 2bcc449bc4 fix: PVP观察者改纯命令切换+双向免伤、清空队列联动PHP清理+回写lambda化、封禁IP推送Web黑名单
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m20s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
2026-09-27 21:24:00 +08:00
youpaishidifu d8ff4b0c92 fix: 刮蜡独立拦截+安全权限化、新增PVP观察者观赛(/pvp see)、修复新布局PVP世界清理失效
Check Source / check (push) Successful in 4s
Auto Release / build (push) Successful in 2m20s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 2s
- 涂蜡/刮蜡:从 onInteract 拆出独立处理器 onWaxInteract(HIGHEST),改用 e.getItem()/getHand() 覆盖副手,
  同时 DENY useInteractedBlock+useItemInHand;denyWax 改为安全权限(不看上级破坏/放置开关、
  不豁免所有者/管理员/访客),并加放行原因诊断日志,解决"开了开关却拦不住"。
- PVP观赛:/pvp see 仅PVP世界生效,自动进原版观察者,回收PVP装备但不发还玩家自有装备,
  发放2个不同雪球右键在观察者⇄普通生存间切换;离场/断线/重连自动还原游戏模式。
- PVP世界清理:新增 resolveWorldFolder/listWorldFolders 兼容 1.20.4+ 新布局
  world/dimensions/minecraft/<name>,替换全部 getWorldContainer 拼路径,并加启动残留清扫,
  修复磁盘堆出20+个 pvp_arena_* 残留目录的问题。
2026-09-27 18:56:22 +08:00
youpaishidifu c65b64030f feat: 领地新增生物蛋/涂蜡权限、基岩版固定算术验证码、-f非管理员静默回退
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 1s
- protect delete <名> -f:非管理员不再报错拒绝,静默回退到普通60秒倒计时删除流程(含退费)
- 基岩版(Geyser/Floodgate)玩家无法用聊天框唤醒GUI验证码,改为固定出算术题
- 新增领地权限「生物蛋」denySpawnEgg,上级为放置方块,生效条件 denyBlockPlace && denySpawnEgg
- 新增领地权限「涂蜡/刮蜡」denyWax,上级为破坏方块+放置方块,生效条件 denyWax && (denyBlockBreak || denyBlockPlace)
- CLI/GUI/Web同步/DB(70->72列)/tab补全全链路接入两个新权限
- 修复GUI成员权限页历史缺项:耕地破坏/末影人行为点击数组缺失导致条目点不动
2026-09-27 16:09:25 +08:00
youpaishidifu 385301432a 领地删除退费、-f强制删除与封禁领主领地自动清理;修复领地外开箱残留与tpaall撤回入口
Check Source / check (push) Successful in 2s
Auto Release / build (push) Successful in 1m48s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
1) 退费:AreaConfig新增createCost并落库create_cost列,创建扣款成功后记录实际金额;新增area_config.refund_ratio_per_cent(0=关闭退费、100=全额、其他=原价×比例),60秒到期删除时按比例经BondManager退还债券(流水land_refund)。配置可通过 /protect config refund_ratio、CLI配置页与管理员GUI(位置16)调整,输入自动钳制0~100。

2) 强制删除:/protect delete <名> -f(或--force)仅插件管理员可用,跳过60秒倒计时与退费流程立即删除,并向在线插件管理员&OP上报领地坐标。

3) 自动清理:每5分钟扫描领地领主,命中永久封禁/剩余9年以上(即10年)封禁/账户已注销者,自动强制删除其领地(不退款、不注销账号),日志+在线管理员&OP上报坐标。

4) 修复领地外开箱残留漏洞(双箱四向同材质多候选逐侧判定、InventoryOpen准星回退定位、isUIBlock补CRAFTER/BOOKSHELF/COMPOSTER/CAULDRON、DoubleChest递归展开);tpaall发送后补充可点击撤回按钮并重开传送面板。
2026-09-27 14:26:06 +08:00
youpaishidifu 989b86f6e6 4测audo release
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-27 14:25:48 +08:00
youpaishidifu 39b74f6c4e 删除test相关的全部内容
Check Source / check (push) Successful in 2s
Auto Release / build (push) Failing after 35s
Simple Test / test (push) Successful in 2s
Test Env / test (push) Successful in 1s
2026-09-27 13:31:28 +08:00
youpaishidifu 1e7b1a21b2 3测audo release
Auto Release / build (push) Successful in 36s
Simple Test / test (push) Successful in 1s
2026-09-27 12:34:53 +08:00
youpaishidifu c249355e27 Merge branch 'main' of https://git.ypshidifu.cn/youpaishidifu/Sdf1_login
Auto Release / build (push) Failing after 43s
Simple Test / test (push) Successful in 1s
2026-09-27 12:26:12 +08:00
youpaishidifu f008c49e84 修复三项问题:1)大箱子跨领地边界绕过容器权限(双箱改为左右两侧均收集定位并逐侧判定denyContainer,交互事件改用被点击方块定位并补查相邻半箱)2)tpaall语义文案修正(通知/按钮/GUI统一为全服玩家一起传送到发起者身边)3)新人验证码超时不放行改为重新出题,题库引入九九乘法表加减乘除+GUI五选一随机抽题;另注释移动豁免诊断日志 2026-09-27 12:11:41 +08:00
youpaishidifu 6f844b5714 修复领地主判定大小写不敏感导致越权绕过:身份比对统一改为 samePlayer 精确匹配(区分大小写),领地上限 DB 统计改精确匹配
Auto Release / build (push) Canceled after 0s
2026-09-27 10:29:33 +08:00
youpaishidifu 2429d2b614 删掉测试用的文件
Auto Release / build (push) Failing after 5s
2026-09-26 20:28:25 +08:00
youpaishidifu 920cf79641 删除垃圾文件
Auto Release / build (push) Failing after 28s
2026-09-26 15:35:27 +08:00
youpaishidifu 1a83fe7c55 二测audo release
Auto Release / build (push) Failing after 2m1s
2026-09-26 15:15:30 +08:00
youpaishidifu bcaac7ee71 测试release 2026-09-26 15:04:43 +08:00
youpaishidifu d489c01000 测试action运行 2026-09-26 14:36:38 +08:00
youpaishidifu 411210c341 删掉垃圾文件 2026-09-26 14:33:33 +08:00
youpaishidifu b78f87db62 Merge branch 'main' of https://git.ypshidifu.cn/youpaishidifu/Sdf1_login
# Conflicts:
#	.gitea/workflows/release.yml
#	.github/workflows/release.yml
#	.gitignore
#	src/main/java/Sdf1_login/ChatInputManager.java
#	src/main/java/Sdf1_login/Main.java
2026-09-26 14:24:43 +08:00
youpaishidifu e7c862f4e8 修复大小写变种字符玩家绕过移动限制:统一 normName 规范化匹配,per-player 权限优先于访客豁免,新增移动豁免诊断日志 2026-09-26 13:30:54 +08:00
youpaishidifu 51e56ec85e 注册/聊天改密成功后弹出60秒actionbar凭据保存提醒 2026-09-26 12:23:34 +08:00
youpaishidifu 8069070219 删除不必要的备份文件,修复几个严重bug:
问题1. 领地系统错误的把玩家名归一化引起的大小写名字、特殊字符的玩家绕过限制
修复1:取消归一化,按人头配置权限
问题2:临时密码不作为改密码的验证凭据,导致忘记真实密码后无法改密码
修复2:临时密码也作为改密码的验证凭据
2026-09-26 12:19:32 +08:00
ypsdf1 c80afb8069 Initial commit 2026-05-04 10:36:06 +08:00