ypsdf1
|
6daedd5dbc
|
第57批续9: 修复弹窗卡死(poll终态前关drawer)+token偶发无效(web_login_verified fallback)
|
2026-10-26 18:41:34 +08:00 |
|
ypsdf1
|
c4f6f2fa1c
|
第57批续7: 弹窗毛玻璃+抽屉式动画;PHP不再重复验密改为验证码确认;绑定完成直接进验证码步骤
|
2026-10-26 16:27:29 +08:00 |
|
ypsdf1
|
c8a7cd73a6
|
第57批续4:绑邮箱向导展示可绑定邮箱类型+drawer卡片毛玻璃效果
|
2026-10-26 12:00:57 +08:00 |
|
ypsdf1
|
203545a719
|
第57批:新增clear_bans接口(cancel ban确认解封时清空PHP封禁数据)
|
2026-10-25 21:31:22 +08:00 |
|
ypsdf1
|
716d43b8c2
|
第56批:checkEmailSuffix移至core.php共享(register/account可直接调用)
|
2026-10-25 18:57:49 +08:00 |
|
ypsdf1
|
80c4073445
|
第56批:修复webEmailBindResult非法action+后缀三模式校验(Java权威)+绑定邮箱抽屉动画
|
2026-10-25 18:40:35 +08:00 |
|
ypsdf1
|
fe882cf73a
|
第56批:修复webEmailBindResult「非法action」报错 - action只从POST body读,避免URL路由参数污染
|
2026-10-25 18:17:57 +08:00 |
|
ypsdf1
|
685a1dace2
|
第55批:login_verified=0时清除web_login_verified旧记录,防止残留导致Web端误放行
|
2026-10-25 17:37:21 +08:00 |
|
ypsdf1
|
f2859fe6e5
|
第53批:网页绑邮箱三接口+前端向导——不拦截改游戏内60秒批准,密码复核+IP连错5次封5分钟
|
2026-10-23 23:01:59 +08:00 |
|
ypsdf1
|
3a4252e861
|
第52批: 修复\/JSON转义脏值PHP侧(清洗函数+比对容错+存量自愈)
- core.php新增b64Clean(base64白名单清洗)与cleanB64DirtyOnce(存量清洗,自备.b64clean标记挂migrateDatabase锁前)
- 比对点接入b64Clean: core.php临时/主密码验证, account.php第一层比对与改密回读, sync.php改密旧密码验证
- 根因: PHP json_encode默认把base64中的/转义成\/,Java历史解析层漏还原写进库,hash脏值致两端密码恒错; 本侧为第52批四层防护的PHP半边
|
2026-10-23 19:21:26 +08:00 |
|
ypsdf1
|
a0aeabf22d
|
第48批(2/2):网页改密强度对齐游戏+实时校验+成功面板留屏;容错解盐修脏盐玩家网页端恒密码错误;bing壁纸代理地址补api前缀
- core.php: 新增 pwdRuleError(6-20位+大写+小写+数字,与游戏 PasswordUtils.validate 同一把尺子)
与 saltDecode(镜像Java清洗,strict解码前先剔除非base64字符)
- account.php: acctChangePassword 套用 pwdRuleError;acctPwdCheck 改走 saltDecode
- sync.php: changePassword/resetPassword 套用 pwdRuleError;changePassword 老密码校验改走 saltDecode
- player.php: 改密弹窗加实时4项校验清单(oninput更新✓/✗,全绿才可提交);
成功后不关弹窗,展示明文新密码+复制按钮+同步说明(供截屏保存),保留 notifyJavaSync
- wallpaper.php: bing/NASA 代理地址补 api/ 前缀(原相对路径经前端路由转发后404);
缓存键 bing->bing_v2(旧6h缓存存着坏URL,版本化立即生效)
|
2026-10-23 11:48:27 +08:00 |
|
ypsdf1
|
d0cdadd29d
|
第47批:2FA绑定状态双向同步(pull_state/push_state);图片壁纸下卡片/侧栏半透明毛玻璃自适应;壁纸源改四级fallback(必应主域/中国镜像/NASA APOD/picsum兜底)+转发白名单扩充
|
2026-10-22 23:24:32 +08:00 |
|
ypsdf1
|
3e2bd64a70
|
第46批:修复账号安全卡二维码扫不出(换Arase SVG带静区方案,提取qrcode-svg.js复用twofa_qr库);用户端&管理员端背景系统升级三模式(纯色/图片URL/必应API壁纸,遮罩强度可调,新增api/wallpaper.php代理带缓存与SSRF白名单)
|
2026-10-22 20:59:32 +08:00 |
|
ypsdf1
|
71b644182c
|
第44批:玩家端账号安全双层验证(改密/2FA绑定解绑/恢复代码)+admin用户搜索卡住根因修复+sync改密列名修复
|
2026-10-22 18:55:26 +08:00 |
|
ypsdf1
|
d4748c4e62
|
3.11内测版:在线曲线采集上收core全站唯一入口+领地管理分页
- core.php 新增 onlineCurveEnsureSnapshot:心跳判据(>120秒记0防停服假曲线)、60秒节流、保留7天、source列迁移
- sync.php 三挂点(sync_online_players/online_heartbeat/对账兜底)自动留样本,不再依赖有人开页面
- online_curve.php 三本地函数改薄壳+max字段改真实最大值+文案改Java同步自动采集语义
- admin.php 领地列表/权限商店分页渲染:每页10/20/30预制+自定义不封顶+localStorage记忆;曲线文案同步
|
2026-10-22 16:43:00 +08:00 |
|
ypsdf1
|
bca9b9af47
|
第32批:后台识别拉黑信号——sync_blacklist落表、validateWebAccess拉黑拦截、CDK兑换与前端拉黑提示
|
2026-10-21 15:10:47 +08:00 |
|
ypsdf1
|
bcc22df797
|
第29批:封禁对账bans配置cols携带created_time(map→created)供Java收回时回填BanEntry创建时间;hashcols不动防指纹恒changed
|
2026-10-17 13:37:47 +08:00 |
|
ypsdf1
|
ac1b0c86fd
|
第十九批:封禁公示按播报起点过滤(web_player_bans补created_time列并随推送入库、web_ban_board_cfg存ban_cutoff、查询加created_time>=起点) + 登录页人机验证组件300px按容器宽等比缩放对齐防溢出
|
2026-10-15 14:08:49 +08:00 |
|
ypsdf1
|
79280c3990
|
封禁公示到期时间秒/毫秒归一:Java推毫秒,接口与前端统一按秒
|
2026-10-14 19:22:32 +08:00 |
|
ypsdf1
|
af6fb3b67e
|
封禁公示接口加固:路由侧无表时显式换侧兜底,区分0条与表缺失
|
2026-10-14 19:08:49 +08:00 |
|
ypsdf1
|
b99412cc8a
|
第十六批缺陷修复:封禁公示改查java侧表+卡片入内容区自适应高度+后台AGPL页脚
|
2026-10-14 18:58:05 +08:00 |
|
ypsdf1
|
e12a972ad7
|
第十六批:玩家端封禁公示卡片+AGPL合规页脚与开源地址.txt+封禁synced_at保序
|
2026-10-14 18:08:43 +08:00 |
|
ypsdf1
|
489b83f29d
|
land_api输出缓冲加固防HTML污染;admin前端apiCall容错HTML响应
|
2026-10-12 00:23:11 +08:00 |
|
ypsdf1
|
8a669b1e24
|
用户组新增二手交易上架数量限制与保底价格字段
- land_api.php 六处 web_user_groups 建表加 shop_max_listings/shop_min_price 列
- 三处 migrations 加 ALTER,handleUpdateUserGroup INSERT/bind 带两字段
- sync.php 建表/迁移/INSERT 同步两字段(配合Java推送)
- admin.php 用户组新建/编辑表单与提交、列表详情显示两字段(-1=跟随全局)
|
2026-10-11 21:24:25 +08:00 |
|
ypsdf1
|
fcc8f08ef7
|
push_shop_stock 返回回执单:回显 push_id/内容指纹fp/条数,供 Java 核验 PHP 确实收到
|
2026-10-11 10:37:26 +08:00 |
|
ypsdf1
|
b0e572d7ac
|
库存双向同步(分叉以Java为主):新增push_shop_stock接收插件本地库存改动,web购买补写last_modified支撑竞态护栏;数据安全护栏(盘上状态文件三态判定:清空自愈补推/指错库拒绝握手/登录页告警横幅)与MySQL表结构快照入库
|
2026-10-10 21:52:59 +08:00 |
|
ypsdf1
|
e1010927e5
|
PHP MySQL 适配层与双库切分收尾, 新增自毁式 install.php 配置安装页
- core.php: sqlDialectMySql 方言翻译 + SdfMySqlDb/Stmt/Result 复刻 SQLite3 API, SdfDbRouter 路由与侧别过滤器, 软依赖兜底; 修复 dbExtractTables 把 CREATE INDEX 索引名当表名导致 web 库 0 张表的真 bug
- security.php: sqlMdDbConfig/sqlDbDir/sqlDbFile 双库配置函数, web.db 给 PHP / Java.db 给 Java
- api/minecraft_auth.php, api/poller_online.php: Java 专属表改走 sqlDbFile('java')
- install.php: 自毁式数据库配置页, 只依赖 security.php, 哨兵块替换 + 备份原子写回读校验 + install.lock + unlink 自删, 门禁 404
- .gitignore: 屏蔽 .workbuddy/ 工作目录
- 测试: db 回归 26/26, MySQL 63/63, schema 对拍 11/11, install 端到端 32/32 全绿
|
2026-10-09 18:16:56 +08:00 |
|
ypsdf1
|
d76ad12119
|
正版验证密钥契约统一:minecraft_auth.php 改用 config.php 的 SECRET_KEY,与 sync.php 一致(修 test12 占位符与 MC_AUTH_SECRET 分叉导致的403密钥错误)
|
2026-10-08 23:29:07 +08:00 |
|
ypsdf1
|
1188da01a9
|
修补单慢根因: queryOrder两条检测路径全失效——getPlatformDB未先加载pay_secrets致平台库Access denied; getPayKeys()未定义致query_order全500。补加载secrets+改用loadPayKeys+API查询包try/catch
|
2026-10-08 11:04:53 +08:00 |
|
ypsdf1
|
c1009088ce
|
补单器修正误用的getResult: execute()直接返回SQLite3Result(7.4/8.2/8.5实测), 接住返回值直接fetchArray
|
2026-10-08 10:04:37 +08:00 |
|
ypsdf1
|
7dc7d01cd0
|
补单/查询移除前缀归属门槛:本地已有完整订单号即认本端,平台按完整订单号精确匹配
|
2026-10-08 01:15:07 +08:00 |
|
ypsdf1
|
7932bd176c
|
修复补单器SQLite3Stmt::fetchArray致命错误: prepare().execute()在PHP7返回Stmt需getResult()再fetchArray, 修复后平台已付订单正常补单
|
2026-10-08 00:57:04 +08:00 |
|
ypsdf1
|
ba5352121e
|
订单号固定格式改递增序列(00000000→CYZJ00000001起);补单器改定向补单:查本地活跃完整订单号精确匹配平台,不再按前缀批量扫
|
2026-10-07 23:54:42 +08:00 |
|
ypsdf1
|
629c16ec84
|
修复payComposeOrderNo三段式实现:玩家名段由payGuardLen统一拼装裁剪,清除占位残留变量
|
2026-10-07 21:22:40 +08:00 |
|
ypsdf1
|
aadb3373e8
|
充值订单号改读pay.md配置区:固定格式(纯数字0随机/非纯数字6位递增保底)与组合规则双分支,前缀pay.md优先+历史前缀双兼容保补单,删CALLBACK_PORT/GAME_SERVER_HOST死配置
|
2026-10-07 21:03:35 +08:00 |
|
ypsdf1
|
e20d648b08
|
领地对账接入:alignmentCatConfig新增lands配置,与Java端72列指纹逐字对齐,多退少补
|
2026-10-07 17:37:50 +08:00 |
|
ypsdf1
|
e76b38cd7d
|
对账退侧修复:bans已过期封禁不再计入extra,消除每轮收回1条永不收敛
|
2026-10-07 16:21:40 +08:00 |
|
ypsdf1
|
59cca9e04a
|
修复syncPlayerIps变更比对bug:old_ip误比导致PHP端IP永不更新、对账changed恒大于0
|
2026-10-07 11:46:33 +08:00 |
|
ypsdf1
|
dbb4843db6
|
对账退侧:清理 player_ip_changes 中两边 users 都不存在的孤儿IP行
- 新增 prune_orphans 开关(仅 ips 类别开启):check_alignment 算出 extra 后,
把「Java 没有 且 PHP users 表也没有」的行直接删除,让两边对账真正收敛到 0。
- 三重保险:只清 extra、只清 PHP users 里也不存在的玩家、Java 上报 0 条时绝不动表。
- 背景:线上实测 203 条历史残留(玩家已删、IP 行还在),Java 侧无处可收,
导致每轮对账空转「收回203 / 实际写入本地0条」,两边永远差 203 条。
|
2026-10-07 11:17:09 +08:00 |
|
ypsdf1
|
6a6cb9ec3c
|
订单前缀配置化+新订单号格式,补单脚本同读前缀;新增online_heartbeat心跳与sync_webtx_receipts回执补推端点
|
2026-10-06 18:18:22 +08:00 |
|
ypsdf1
|
bd47d25165
|
修复领地同步500:老库web_area_lands缺y_min/y_max/synced_at三列,ALTER迁移补列
|
2026-10-06 00:04:40 +08:00 |
|
ypsdf1
|
a5871f6761
|
对账配套:credentials字段映射与online类别、admins去整表删除、canon null整数列归一
|
2026-10-05 22:29:51 +08:00 |
|
ypsdf1
|
6cc8dbf582
|
交易对账改双向:check_tx_alignment 返回 extra_ids(PHP有Java无的),新增 pull_tx 交还完整流水;关键接口 set_time_limit 13秒内必答复、busy_timeout 收紧到6秒
|
2026-10-05 17:46:34 +08:00 |
|
ypsdf1
|
d2f42bef62
|
补单/轮询日志收敛:只有报错或真正补到单/有数据才写debug.log,无合适数据静默返回
- poller_online.php:去掉每次轮询必写的「补单开始/正在连接MySQL/MySQL DSN/连接成功」4 行;「补单完成」改为 processed>0 才写;连接失败、补单处理、交易写入等成功/报错日志保留
- sync.php:checkWebLoginConfirmations、checkPendingWebLogins 的 count=0 轮询日志改为有数据才写(每 4 秒一次是膨胀主因);check_web_login_verified 去掉「插件查询/未找到/无验证记录」三条无数据日志;三处 catch 补 debugLog 让报错进 debug.log
|
2026-10-05 14:40:31 +08:00 |
|
ypsdf1
|
ce489d1450
|
debug.log 保留策略:只留最近3天+≤5MB,任一超标即清理到两条件同时满足
|
2026-10-05 13:35:39 +08:00 |
|
ypsdf1
|
99da971fbf
|
新增 check_tx_alignment 交易对账接口:返回PHP流水笔数/最大序列号,及指定序列号中缺失的部分,供Java只补中断批次
|
2026-10-04 23:52:35 +08:00 |
|
ypsdf1
|
f7aedc6fae
|
Web 端同步 bad_effects 负面效果字段
- land_api.php / sync.php:建表迁移、INSERT、bindValue 补 bad_effects
- convertEffectsForFrontend 增加负面效果的管道格式 → JSON 数组转换
- 字段白名单加 bad_effects,上限校验改为增益+负面合计口径
- player.php:负面效果独立 UI 区块,addGiveEffect 抽成通用 landEffectAdd,
新增 addBadEffect(效果档位与 Java 端同口径)
|
2026-10-04 22:57:37 +08:00 |
|
ypsdf1
|
c880f1eb9e
|
修正药效生存上限表:村庄英雄5级、挖掘疲劳3级、伤害吸收4级、不祥类5级
|
2026-10-04 20:32:44 +08:00 |
|
ypsdf1
|
386c9d861e
|
药效等级上限改按各效果的生存可获取上限,同步 Java 端 b64e7e3
用户纠正口径:原版最大上限 = 生存模式正常探索/合成/建造能拿到的最大值,
不是 /effect 的作弊上限(amplifier 255 = 强度 256)。
· 抗性提升 信标最高 2 级
· 海豚的恩惠 只有潮涌能量块一个来源 → 最高 1 级
改动:
- api/land_api.php 新增 getSurvivalMaxLevel():39 个效果逐项查表
(可升 II 的 11 个 + 单一来源恒 1 的 + 生存无来源的 + 未知兜底 1),
与 Java 端 AreaProtection.getSurvivalMaxLevel() 134 个 case 标签
逐项对账一致
- 新增 getEffectLevelCap():min(生存上限, 用户组 max_effect_level)
两层同时生效;用户组配 256 也突破不了生存硬顶
- handleUpdateLandField 写入 give_effects 时改为逐个效果封顶,
此前是统一按 256 放行,等于没封
- getLandMaxEffectLevel 注释澄清它只是「用户组软顶」,真正封顶看 getEffectLevelCap
- admin.php 两处说明文案改为生存可获取上限口径,举例抗性提升 2 级、
海豚的恩惠 1 级
|
2026-10-04 19:57:23 +08:00 |
|
ypsdf1
|
4160c60aa6
|
新增用户组药效等级上限配置,与Java端双向打通
配合 Java 端 6f92028(原版药效强度上限 256)。原版 /effect 的
amplifier 硬上限是 255,即药效强度 1~256,此前 Web 侧封顶写死
255 且各建表点口径不一,本次统一为 max_effect_level 配置项。
改动:
- web_user_groups 增加 max_effect_level 列(默认 256)
· sync.php / land_api.php / core.php 全部 8 处建表块补列
· 3 处迁移表补 ALTER 条目,老库自动升级
- api/sync.php syncUserGroups:Java 推送时接收并写入 max_effect_level,
<=0 或超过 256 一律归一到 256(原版硬上限不可突破)
- api/land_api.php 新增 getLandMaxEffectLevel():按领地所有者所属
最高优先级用户组取上限,无组则 256;handleUpdateLandField 写入
give_effects 时改用该上限 clamp(原先硬编码 255)
- api/land_api.php update_user_group 读写补该字段
- admin.php 用户组新建/编辑弹窗补「药效等级上限」输入框
(1~256,默认 256),并附原版范围说明;两处提交参数同步带上
规则:普通玩家(未加入任何用户组)固定按 256 封顶,严禁超限;
加入用户组后按组配置封顶,填 256 即不额外限制。
|
2026-10-04 19:26:05 +08:00 |
|