ypsdf1
|
6337bc3e75
|
fix: player.php添加自定义玻璃拟态确认对话框showConfirm(),替换原生confirm()
|
2026-07-02 23:48:37 +08:00 |
|
ypsdf1
|
d394bd0ec8
|
fix: PHP购买用户组流程完善 - 1. 修复duration=0永久验证(从<=0改为<0) - 2. 替换原生alert/confirm为自定义toast玻璃拟态UI - 3. 添加bond记录同步(handleSyncBondRecord) - 4. 前端购买弹窗使用玻璃拟态确认对话框 - 5. 修复可用用户组列表SQL缺失列自动迁移
|
2026-07-02 22:41:15 +08:00 |
|
ypsdf1
|
60151dc1d0
|
修复handleListAvailableGroups迁移缺失列+修复领地禁止点燃双方向检查
|
2026-07-02 20:15:12 +08:00 |
|
ypsdf1
|
35eb054e4f
|
清理仓库:移除误提交的Java编译产物
- 移除.idea/目录(IDE配置文件)
- 移除target/目录(Java编译产物)
- 移除Sdf1_login.iml(IDE模块文件)
|
2026-07-02 16:57:22 +08:00 |
|
ypsdf1
|
bcc68aa4e5
|
feat: 实现TimerE用户组续费轮询完整流程 - poll_group_renews action + renew_group_callback + web_group_renew表
|
2026-07-01 20:36:17 +08:00 |
|
youpaishidifu
|
b9ca56ff7f
|
feat: 修复用户组权限检查 - 所有玩家可查看购买用户组 + 修复JavaScript语法错误
|
2026-07-01 11:22:51 +08:00 |
|
youpaishidifu
|
fc6a46597d
|
fix: 修复JavaScript模板字符串中的Unicode字符²语法错误
|
2026-07-01 11:04:19 +08:00 |
|
youpaishidifu
|
1bc97f6980
|
feat: 领地管理增强 - 毛玻璃改主弹窗 + pending队列 + 同步状态查询 + 玩家前端UI
|
2026-07-01 01:20:15 +08:00 |
|
ypsdf1
|
6d68c4a05b
|
feat: 改主弹窗替换为毛玻璃居中弹窗 (glassPrompt)
|
2026-06-29 20:57:03 +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
|
62798f2a90
|
添加改主状态查询API,PHP前端轮询机制
|
2026-06-29 20:06:27 +08:00 |
|
ypsdf1
|
64ed1e6ada
|
修复改主认证: admin.php改用secret认证, 移除不存在的transfer_land_admin函数, secret认证时设置isAdmin=true
|
2026-06-29 19:39:55 +08:00 |
|
ypsdf1
|
5403479a2c
|
修复PHP改主校验流程:Java失败时PHP自动回退+前端不立即刷新
1. PHP handleUpdateLandOwner: 不再直接更新web_area_lands,写入pending队列,返回pending=true
2. PHP handleOwnerChangeCallback失败时:回退owner为旧值,记录日志
3. PHP admin.php adminTransferLand: 收到pending=true时不立即刷新列表,改为5秒后轮询
4. 按钮禁用防重复提交,等待回调后恢复
|
2026-06-29 16:38:31 +08:00 |
|
ypsdf1
|
e9bd63a1e4
|
修复过户面板:移除独立过户按钮改为主改主、adminTransferLand/deleteLand函数修复、改主流程改为pending等待Java验证、添加owner_change_callback回调
|
2026-06-29 15:24:04 +08:00 |
|
ypsdf1
|
866b5abe15
|
refactor: 过户流程重构 - PHP暂存等Java验证
1. handleTransferLand: 不再立即改owner,改为status=pending等Java验证
2. 新增handleTransferCallback: Java验证成功→改owner+cooldown;失败→标记failed
3. handleCancelTransfer: 支持pending状态撤回+cooldown状态回退
4. handleTransferStatus: 增加id字段
5. transfer_callback加入syncFromPhpActions
|
2026-06-29 12:12:10 +08:00 |
|
ypsdf1
|
2237f6c855
|
feat: 领地过户功能 + 管理面板改主修复
1. 领地过户: 添加web_land_transfers冷却表,handleTransferLand/handleCancelTransfer/handleTransferStatus
2. 管理面板改主: 移除异步验证,直接写入web_admin_changes让Java端执行(管理员操作可信任)
3. admin.php: 过户按钮+adminTransferLand JS函数+confirm二次确认
4. 玩家名正则统一为3-16位
|
2026-06-29 11:48:51 +08:00 |
|
ypsdf1
|
3925dea586
|
修复: sync.php新增check_player_registered action,解决Java端拉取注册数据报'未知操作'
|
2026-06-28 23:55:43 +08:00 |
|
ypsdf1
|
02c2e91531
|
fix: admin.php modal重复叠加导致ugNewMember获取失败 + 异步验证pending处理
- admin.php showModal: 新增[data-modal-overlay]清理逻辑防止多次打开modal导致元素复用
- doAddGroupMember: 固定player名正则3-16位, 改善错误提示文案, 处理pending响应
- admin.php modal: 移除旧的querySelectorByStyle选择器改为data属性
|
2026-06-28 17:12:08 +08:00 |
|
ypsdf1
|
c0afb47535
|
feat: PHP玩家验证改为异步模式
- land_api.php: 新增 pending_player_validations 表(待验证队列)
- validatePlayerViaJava(): 改为异步模式(查缓存→写pending→返回null)
- 新增 handleGetPendingValidations: Java拉取待验证列表
- 新增 handleValidationCallback: Java推送验证结果
- handleAddGroupMember/UpdateLandOwner/AddVisitor: 适配异步验证
- 改善错误提示文案
|
2026-06-28 15:59:42 +08:00 |
|
ypsdf1
|
f6265dd994
|
feat: 玩家验证改调Java回调服务器(替代直接读login.db)
- land_api.php: 新增 validatePlayerViaJava() 函数
POST http://GAME_SERVER_HOST:9090/validate_player
- handleAddGroupMember: 替换直接读login.db为Java验证
- handleAddVisitor: 替换playerExists()为Java验证
- handleUpdateLandOwner: 替换playerExists()为Java验证
- config.php: 新增 GAME_SERVER_HOST (默认127.0.0.1)
|
2026-06-28 15:30:09 +08:00 |
|
ypsdf1
|
2342cc2cab
|
fix: 用户组成员添加校验(玩家名格式+login.db存在性检查)
|
2026-06-28 15:16:36 +08:00 |
|
ypsdf1
|
35f15db034
|
feat: 用户组成员变更写入admin_changes通知Java同步
|
2026-06-28 14:27:04 +08:00 |
|
ypsdf1
|
1f97e3b969
|
修复clear_all_bad字段名不一致+handleUpdateLandField整数列类型
|
2026-06-28 12:17:21 +08:00 |
|
ypsdf1
|
72d2032f95
|
fix: PHP admin统计接口catch(Exception)改为catch(\Throwable),修复PHP8兼容性导致概率性unknown
|
2026-06-28 11:47:13 +08:00 |
|
ypsdf1
|
d568a2ce5d
|
feat: PHP效果选择器+管理员角色切换+JSON编码修复
- player.php: 新增glassSelect()毛玻璃选择器弹窗(29种MC药水效果)
- player.php: addClearEffect/addGiveEffect从手动输入改为效果选择器
- player.php: 访客表格角色列改为可点击标签,点击切换管理员/访客
- land_api.php: 新增change_visitor_role API + handleChangeVisitorRole()
- land_api.php: handleListUserGroups添加JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES
|
2026-06-28 10:48:09 +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
|
ca212233a3
|
feat: 用户组PHP→Java变更通知
- handleUpdateUserGroup: 更新后写入web_admin_changes(group_change)
- handleDeleteUserGroup: 删除后写入web_admin_changes(group_change)
- Java端pollAdminChanges收到group_change后自动重载用户组配置
|
2026-06-28 00:16:25 +08:00 |
|
ypsdf1
|
a5a2ef733c
|
feat(admin): 添加用户组管理页面
- 侧边栏新增「👥 用户组」管理入口
- 支持新建/编辑/删除用户组(组ID、显示名、颜色、优先级)
- 支持配置用户组独立领地单价和最大领地数
- 支持编辑用户组默认权限(38项权限复选框)
- 支持管理用户组成员(添加/移除玩家)
- API认证列表补充用户组相关action
|
2026-06-27 23:50:20 +08:00 |
|
ypsdf1
|
5f43fb1407
|
feat: 用户组同步+管理API (sync_user_groups, land_api endpoints)
|
2026-06-27 23:05:27 +08:00 |
|
ypsdf1
|
c0672ad47a
|
feat: 公共建筑is_public_building同步字段
|
2026-06-27 22:44:50 +08:00 |
|
ypsdf1
|
63251c6033
|
fix: ack_admin_changes GET/POST兼容
|
2026-06-27 22:04:01 +08:00 |
|
ypsdf1
|
742578a107
|
修复PHP用户端两个bug:权限配置空白+glassPrompt未定义
1. 移到try-catch之前,修复handleGetMemberPerms调用时变量未定义导致perm_types返回null
2. player.php新增glassPrompt HTML元素(label/input/hint)和JS函数
3. glassAlertResolve支持glassPrompt返回输入框值
|
2026-06-27 21:43:00 +08:00 |
|
ypsdf1
|
c8c8db6220
|
修复IP归属地查询卡死bug:超时控制+前端AbortController
1. doQueryIpLocation增加单IP总超时5秒(防止4个API依次超时卡死)
2. 单API超时从3-5秒降至2-3秒
3. 批次从3个减为2个(最坏10秒,安全于30秒PHP限制)
4. 前端fetch增加AbortController 15秒超时
5. fetchIpApiWithTimeout默认超时改为3秒
|
2026-06-27 20:31:53 +08:00 |
|
ypsdf1
|
fc42b777ca
|
修复配置值前导零bug:handleUpdateConfig/syncConfig去除前导0
- handleUpdateConfig: (string)(int)去前导零
- syncConfig: 同样处理Java推送的配置值
|
2026-06-27 20:15:39 +08:00 |
|
ypsdf1
|
48ad7035ea
|
修复PHP→Java配置同步:handleUpdateConfig写入变更队列
- PHP修改配置后写入 web_admin_changes (config_change)
- Java pollAdminChanges 轮询拉取并应用到本地 area_config
|
2026-06-27 19:58:05 +08:00 |
|
ypsdf1
|
b6db8e56d5
|
权限变更同步:handleUpdateMemberPerm写入web_admin_changes
PHP端玩家修改成员权限后,写入变更队列,Java端pollAdminChanges可拉取同步回本地DB
修复:玩家端修改权限后Java不感知,下次推送时覆盖玩家修改
|
2026-06-27 16:55:22 +08:00 |
|
ypsdf1
|
bbd0049602
|
修复领地系统3个bug:
1. JSON解析崩溃:addConvertEffectsForFrontend将Java自定义格式转JSON数组
- give_effects: 夜视:1:99999|SPEED:2:60 → [[夜视,1,99999],[SPEED,2,60]]
- clear_effects: POISON,WITHER → [POISON,WITHER]
2. admin.php配置key名修复:land_price_per_sqm→create_price_per_sqm, max_lands→max_lands_per_player
3. handleUpdateLandField存储时将JSON数组转回Java格式
|
2026-06-27 14:52:34 +08:00 |
|
ypsdf1
|
b8dd9b7cd0
|
修复sync_lands报错:SQLITE3_DOUBLE改为SQLITE3_FLOAT
|
2026-06-27 14:14:20 +08:00 |
|
ypsdf1
|
5c47dd44fd
|
修复sync_lands报错:补全enable_announce等缺失列
问题:Java推送全部列,PHP表缺少enable_announce/announce_template/txt_content/deny_fluid/clear_all_bad → INSERT报错
修复:initLandTables添加5个ALTER TABLE迁移 + handleSyncLands INSERT补全对应列和bindValue
|
2026-06-27 13:54:51 +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
|
3ad96b1080
|
修复多个问题:库存无限+CDK逻辑简化
问题2修复: 库存无限商品数量限制
- player.php: 库存无限时最大数量从64改为999
- shop.php: 移除硬编码64上限,只检查stock>0时的库存
问题3修复: CDK兑换逻辑简化
- cdk.php: PHP不再更新bond_cache,只记录pending交易
- Java端负责拉取交易并处理加债券
- 返回给前端的balance_after改为当前余额(不预加)
|
2026-06-26 10:59:58 +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 |
|
ypsdf1
|
cd86441a7a
|
v21: PHP端增加Web登录全链路日志+验证状态同步
- check_web_login_confirmations: 返回php_verified字段(查询web_login_verified表供Java判断)
- webLoginRequest: 增加debugLog记录新请求创建
- completeWebLoginRequest: debugLog增加player和wrote_confirmations字段
- checkPendingWebLogins: 增加debugLog记录轮询结果
|
2026-06-25 19:36:05 +08:00 |
|
ypsdf1
|
cd6010bfbb
|
v13: 安全加固 - 禁止PHP自验证密码
安全修复:
- sync.php: verifyWebPassword()函数体改为error(),完全禁止PHP直接验证密码
- 所有密码验证必须走web_login_request → Java插件本地验证 → complete_web_login_request回调
|
2026-06-25 14:42:01 +08:00 |
|
ypsdf1
|
8edc94b848
|
v12: PHP密码验证安全修复 + land_api GET参数支持
安全修复:
- sync.php: 删除verify_web_password端点,禁止PHP自验证密码
- core.php: validateWebAccess大额交易密码验证改为检查web_login_verified(Java验证结果)
- 密码验证强制走web_login_request流程
其他:
- land_api.php: handleAckAdminChanges支持GET参数ids(避免POST Content-Type问题)
|
2026-06-25 14:19:08 +08:00 |
|