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
|
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
|
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 |
|
ypsdf1
|
419b677aa9
|
修复工单上传图片误判+用户组max_effects配置同步
|
2026-10-04 14:48:43 +08:00 |
|
ypsdf1
|
9ee8023d90
|
领地权限与面积限制接口:补生物蛋/涂蜡刮蜡两权限字段,新增退费比例与面积限制配置项
|
2026-10-02 19:31:20 +08:00 |
|
ypsdf1
|
17d53c40a0
|
三大场景接入人机验证:新增captcha_guard.php统一校验库与CAPTCHA_PROVIDER配置,管理员登录/用户后台账密登录/正版验证浏览器提交三处接入;captcha_keys.php清空为可入库的空模板并加填写说明,部署脚本排除密钥文件防覆盖线上真值
|
2026-10-01 13:38:29 +08:00 |
|
ypsdf1
|
4db131082c
|
fix: 永久封禁玩家禁止登录Web后台、正版验证粘贴页响应异常时回查真实状态
- core.php 新增 playerWebBanReason():查 web_player_bans 名字封禁(永久/未过期),expire_time 兼容Java推送的毫秒单位;validateWebAccess 接入,商城/CDK/余额/token校验一律拒绝
- api/sync.php 四个登录入口全部拦截:validate_weblogin_token、web_login_request、send_email_code、verify_email_code
- api/minecraft_auth.php:success/error 清空输出缓冲保证纯JSON;新增 action=status 会话真实状态查询;粘贴页提交响应异常时回查状态,已验证则如实提示通过,不再误报"服务器响应异常"
|
2026-09-28 00:03:07 +08:00 |
|
ypsdf1
|
f2b87325e1
|
feat: 封禁IP同步Web黑名单(须持游戏内/web token)、清空队列联动清理pending登录请求
|
2026-09-27 21:23:31 +08:00 |
|
ypsdf1
|
c3d9c0925d
|
修复4个问题: 用户组购买确认弹窗、在线曲线清理、高频出售缓冲、每小时活跃数据
|
2026-07-20 13:18:58 +08:00 |
|
ypsdf1
|
1c9e5808a1
|
WIP: php 本地未提交改动
包含:
- admin.php / api/land_api.php / api/sync.php / login.php 修改
- 新增 active_players.php / online_curve.php / today_bonds.php
注:后续将视 origin/php 情况 reset --hard 对齐,本分支用于保留 WIP。
|
2026-07-14 22:02:10 +08:00 |
|
ypsdf1
|
4e11845636
|
R23: sync.php新增sync_admins+sync_bans处理(修复Java推送返回未知操作)
|
2026-07-12 23:00:05 +08:00 |
|
ypsdf1
|
b34753d1fd
|
新增封禁名单联控 + 用户管理封禁显示
- land_api.php: web_player_bans表 + handleSyncBans + sync_bans action
- admin.php: list_bans API接口
- admin.php前端: 用户行显示封禁状态(红色+禁图标+hover详情)
|
2026-07-12 22:08:46 +08:00 |
|
ypsdf1
|
be04c8b451
|
修复三个问题:1)sync.php缺少:peace_mode绑定导致同步后和平模式值丢失;2)player.php效果命名修正(火焰抗性→抗火,英雄→村庄英雄);3)peace_mode前端渲染反转(isInverted从false改true)
|
2026-07-12 13:03:48 +08:00 |
|
ypsdf1
|
0760cc1d2e
|
修复Java删除成员后PHP不同步删除的问题:移除syncPermissions中导致删除永远不生效的120秒宽限期,改为检查web_admin_changes待处理变更保护
|
2026-07-12 11:20:11 +08:00 |
|
ypsdf1
|
8645c57839
|
修复Java撤职后被PHP stale pending变更覆盖的问题:syncPermissions接收Java同步时Ack掉冲突的待处理perm_change/add_visitor
|
2026-07-12 10:56:55 +08:00 |
|
ypsdf1
|
0115cbda41
|
R14: 修复PHP添加成员静默失败+syncPermissions删除清理
- handleAddVisitor: 移除异步验证阻塞,先添加成员再异步校验
- syncPermissions: 新增删除清理逻辑,同步Java端已移除的成员
- 120秒宽限期防止PHP刚添加的成员被误删
|
2026-07-11 15:11:00 +08:00 |
|
ypsdf1
|
b67480d073
|
PHP权限管理全面对齐Java:1.handleUpdateLandField白名单从4项扩展到33项(覆盖所有deny/allow权限开关);2.sync.php补齐14个缺失字段的INSERT和bind(deny_mount/deny_ender_pearl/deny_bow/deny_potion/deny_fire/deny_raid/deny_container/deny_mob_attack/is_public_building/allow_visitor_teleport/confiscate_items/deny_use_items/punish_commands/clear_all_bad);3.player.php新增领地权限开关面板(34项开关,与Java GUI getPermEntries一致,支持deny/allow反转显示);4.sync.php补充新列ALTER TABLE迁移
|
2026-07-10 22:34:39 +08:00 |
|
ypsdf1
|
b63ecc02b8
|
修复PHP接口:增益效果接口补齐必要参数,玩家存在性校验兼容登录库,同步新增实体交互权限字段
|
2026-07-10 19:08:18 +08:00 |
|
ypsdf1
|
e49fcaccd8
|
修复: syncPermissions ON CONFLICT替代INSERT OR REPLACE防角色降级
sync.php + land_api.php: 同步权限时用ON CONFLICT, 保留已有admin/member角色
|
2026-07-10 10:59:12 +08:00 |
|
ypsdf1
|
ae1ff5ffd8
|
异地登录检测/账号冻结解冻 + 公共邮件辅助函数
- core.php: 新增smtpSendEmail/queryLoginIpLocation/getBaseUrl/sendLocationAlertEmail
- security_alert.php: 接收Java通知比对IP归属并发送提醒邮件(含冻结/改密链接)
- freeze.php: 验证freeze_token冻结账号并写freeze指令
- sync.php: 冻结账号禁止Web登录; smtpSendEmail上移至core.php统一复用
- reset_password.php: 改密成功后解冻(清frozen+写unfreeze)
|
2026-07-09 17:09:35 +08:00 |
|
ypsdf1
|
1e97285459
|
PHP端:购物车发货前material验证 + 退款接收接口
- shop.php buy_cart: 扣款前验证每件商品material为Java可识别值(合法Material或附魔书id+ENCHANTED_BOOK组合)
- sync.php: 新增write_shop_refund action接收Java退款请求(恢复bond_cache+写refund交易)
|
2026-07-09 10:54:59 +08:00 |
|
ypsdf1
|
c1234c6700
|
修复重启重复发货:processing超时回退60s→3600s + pull_pending_transactions不再选中processing状态交易
|
2026-07-08 19:47:35 +08:00 |
|
ypsdf1
|
28c7aa119e
|
修复: green_discount折扣率(折数)语义——前端/后端计算ecoAmt改为×折数/10,管理面板max=10默认值10,校验与文案全改
|
2026-07-08 00:18:47 +08:00 |
|
ypsdf1
|
ac79628076
|
修复: PHP端packmoney从(int)强转改为(float)支持小数(cashier/shop/sync三处)
|
2026-07-07 23:54:20 +08:00 |
|
ypsdf1
|
8286a4c09c
|
新增: 商品目录定时镜像同步接口 set_shop_catalog(支持删分类/加商品) + 修复 getShopConfigSync 未定义函数500错误
|
2026-07-07 19:40:47 +08:00 |
|
ypsdf1
|
f32c7cfe86
|
收银台双模式收款与打包配置全链路实现
- 收银员新增 can_cash 现金收款权限字段(登录/列表/新增/编辑全链路)
- 购物车结算支持 pay_mode=cash/bond 双模式,现金模式跳过余额校验与扣债券
- 收银台前端读取可配置 packmoney 实时报价,修复此前硬编码+2元与实际收费不符
- 管理后台新增打包费(packmoney)与环保减免(green_discount)配置端口
- 同步接口新增 get/set_shop_config,Java端定时器拉取配置
- 购物小票书塞入首个潜影盒,免费潜影盒订正为原色(SHULKER_BOX)
|
2026-07-06 23:48:44 +08:00 |
|
ypsdf1
|
7a283ae4e0
|
商城购物车模式+收银台结算+后台折扣配置:前端购物车FAB/抽屉/结算弹窗,后端buy_cart接口事务批量购买,admin购物车配置卡片,cart_config/save_shop_config接口
|
2026-07-06 16:39:47 +08:00 |
|
youpaishidifu
|
1bc97f6980
|
feat: 领地管理增强 - 毛玻璃改主弹窗 + pending队列 + 同步状态查询 + 玩家前端UI
|
2026-07-01 01:20:15 +08:00 |
|
ypsdf1
|
3dacc80fe1
|
feat: 领地删除走pending队列 + sync清理PHP残留
- land_api: handleDeleteLand改为写web_admin_changes队列
- land_api: 新增delete_land_callback处理Java回调
- sync.php: syncLands增加删除PHP中不存在的领地
- 修复admin面板过户按钮(同步到plugin目录)
|
2026-06-29 20:45:38 +08:00 |
|
ypsdf1
|
3925dea586
|
修复: sync.php新增check_player_registered action,解决Java端拉取注册数据报'未知操作'
|
2026-06-28 23:55:43 +08:00 |
|
ypsdf1
|
5f3bd70987
|
fix: SQLite只读数据库修复+远程权限修复API
- getDB(): 新增自动chmod修复数据库文件/WAL/SHM权限
- getDB(): initTables和migrateDatabase加try-catch容错,防止写入失败导致500
- 新增fixDbPermissions()远程修复API: 可修复目录/数据库/WAL文件权限+写入测试
- sync.php: 注册fix_db_permissions action
|
2026-06-28 10:45:33 +08:00 |
|
ypsdf1
|
5f43fb1407
|
feat: 用户组同步+管理API (sync_user_groups, land_api endpoints)
|
2026-06-27 23:05:27 +08:00 |
|
ypsdf1
|
fc42b777ca
|
修复配置值前导零bug:handleUpdateConfig/syncConfig去除前导0
- handleUpdateConfig: (string)(int)去前导零
- syncConfig: 同样处理Java推送的配置值
|
2026-06-27 20:15:39 +08:00 |
|
ypsdf1
|
b8dd9b7cd0
|
修复sync_lands报错:SQLITE3_DOUBLE改为SQLITE3_FLOAT
|
2026-06-27 14:14:20 +08:00 |
|
ypsdf1
|
967feb9b94
|
修复领地设置不同步:PHP端完整接收所有字段
问题1:handleSyncLands只存13个基础字段,30+权限字段全部丢弃
修复:INSERT扩展到63列,完整接收Java推送的所有deny_*、效果、传送点字段
问题2:web_area_lands表缺少权限列
修复:initLandTables添加46个ALTER TABLE迁移,兼容已有表
问题3:validateWebAccess检查窗口不匹配
修复:web_login_verified检查改用token实际有效期(非硬编码5分钟)
|
2026-06-27 13:37:29 +08:00 |
|
ypsdf1
|
9905f28886
|
新增sync_config配置同步端点
|
2026-06-27 12:27:30 +08:00 |
|
ypsdf1
|
3dfa7df18c
|
修复sync.php列值不匹配导致领地同步失败
|
2026-06-26 22:56:07 +08:00 |
|
ypsdf1
|
8de90708dc
|
修复:syncLands INSERT列值数量不匹配(deny_all_effects重复)+INSERT错误处理
|
2026-06-26 22:11:36 +08:00 |
|
ypsdf1
|
aa45bd5ca2
|
修复领地同步: 补全缺失字段迁移(deny_block_break等30+列)、修复重复deny_all_effects列、添加调试日志
|
2026-06-26 21:25:40 +08:00 |
|
ypsdf1
|
57fbc1ffc1
|
fix: Web自动登录安全+领地同步
1. validateWebAccess的view操作增加web_login_verified检查(5分钟有效)
2. pushPlayerLoginStatus在online=1时同步写入web_login_verified
3. 防止偷token自动登录: 未通过Java验证的token要求密码
|
2026-06-26 19:18:40 +08:00 |
|
ypsdf1
|
9eb0707729
|
问题10修复: CDK兑换不到账+假密码+隐藏密码框
player.php:
- 商城购买:总价≤1000时隐藏密码输入框,动态切换
- CDK兑换:完全移除密码输入框(CDK免验证)
- doBuy:小额交易不强制密码,大额才要求
- doCDKExchange:移除密码字段
shop.php:
- 移除硬性密码检查,交给validateWebAccess处理
cdk.php:
- 远程CDK兑换:改为cdk_redeem+pending(之前completed被Java跳过)
- 远程CDK兑换同时更新bond_cache+sync_requests
|
2026-06-26 10:21:49 +08:00 |
|