youpaishidifu
|
b6863c45c7
|
修复: 自动登录逻辑重构+轮询间隔增大降低DB锁
|
2026-06-25 18:03:45 +08:00 |
|
youpaishidifu
|
2867c7614a
|
优化数据库锁检测:修复注册轮询锁库逻辑,为CDK轮询和领地同步添加锁库检测,调整交易/库存轮询间隔为8±5秒
|
2026-06-25 17:33:43 +08:00 |
|
youpaishidifu
|
23337695b4
|
v15: 修复PHP假密码绕过 + 快速重连安全检查
安全修复(严重):
- WebManager.pollWebLoginRequests(): 不再在handleWebPasswordVerify成功后写入verifiedWebLogins
- 之前逻辑:PHP推送密码给Java → Java验证成功 → 自动写入verifiedWebLogins → onJoin自动登录
- 漏洞:PHP端如果输入假密码/错误密码,Java不会验证(Java验证只基于login.db),verifiedWebLogins不会被设置
- 但pollWebLoginConfirmations()检查isWebLoginVerified()失败后,玩家快速重连仍被canAutoLogin放行
- Main.onJoin(): 快速重连检查(canAutoLogin)之前增加isWebLoginVerified()检查
- 玩家在Web端通过Java验证登录过 → verifiedWebLogins有记录 → 5分钟内重连放行
- 玩家无Java验证记录 → 拒绝快速重连(即使用IP快速重连也不行)
- 解决:PHP假密码/错误密码 → Java不会设置verifiedWebLogins → 快速重连被拒
|
2026-06-25 16:24:15 +08:00 |
|
youpaishidifu
|
15f473abc8
|
v14: Java快速重连三层检查(纯内存)+ 回退DB持久化
快速重连修复(按流程图严格实现):
- 检查点1: 检查loggedIn集合中是否有Java手动登录记录 → 有则继续正常流程
- 检查点2: 检查verifiedWebLogins内存中是否有PHP验证记录 → 有则自动登录
- 检查点3: 上述2路都失败 → 强制重新验证密码
- autoGenerateWebLoginToken和syncUserOnJoin移到检查点1/2之间执行
回退DB持久化:
- DatabaseManager.java删除web_verified_at列定义
- WebManager.java isWebLoginVerified()回退为纯内存检查
- WebManager.java clearWebLoginVerified()回退为纯内存清除
- pollWebLoginRequests()验证成功后不再写入login.db
部署:
- JAR: 733300 bytes → SFTP ✅
|
2026-06-25 15:15:07 +08:00 |
|
youpaishidifu
|
d47997294d
|
v13: 安全加固 - PHP禁止自验证密码 + Java本地验证记录持久化
安全修复(严重隐患):
- PHP端: verifyWebPassword()函数体改为error(),禁止PHP直接验证密码
- Java端: pollWebLoginConfirmations()增加本地验证记录检查,PHP推送的登录确认必须有Java本地验证记录才允许自动登录
- Java端: 验证成功后写入login.db的web_verified_at字段(重启不丢失)
- Java端: isWebLoginVerified()增加login.db回查(内存没有时从DB恢复)
- Java端: clearWebLoginVerified()同时清除DB记录
- Java端: pollWebLoginConfirmations消费后立即清除验证记录(防重放)
|
2026-06-25 14:41:25 +08:00 |
|
youpaishidifu
|
6d569fed23
|
v12: PHP密码验证安全修复 + 任务间延迟6-14秒随机
安全修复:
- sync.php: 删除verify_web_password端点,禁止PHP自验证密码
- core.php: validateWebAccess大额交易密码验证改为检查web_login_verified(Java验证结果)
- 密码验证强制走web_login_request流程(Java端handleWebPasswordVerify)
锁库优化:
- 任务间随机延迟从10-12秒改为6-14秒(8秒变异范围)
- 增大随机性,避免周期性锁争用
|
2026-06-25 14:13:31 +08:00 |
|
youpaishidifu
|
6e24546a6c
|
v11: SSL断路器防重复触发 + HTTP降级延长冷却 + 启动同步锁库修复
SSL断路器:
- 新增triggerCircuitBreaker()安全方法,并发请求不再重复触发
- HTTP降级也失败时立即延长冷却(CDN完全不可达场景)
- 基础冷却30秒→60秒(CF恢复通常1-5分钟)
- GET/POST/HTTP降级失败统一走triggerCircuitBreaker
启动锁库:
- 新增initialSyncComplete标志,注册/CDK/库存轮询器等待全量同步完成
- 避免启动阶段多个轮询器与全量同步并发请求PHP导致SQLite锁
|
2026-06-25 13:42:34 +08:00 |
|
youpaishidifu
|
eb0b39d8b9
|
v10: SSL断路器指数退避 + 超时统一10秒 + 延迟增到10-12秒
- SSL断路器冷却从固定30秒改为指数退避: 30s→60s→120s→240s→300s(上限)
- 新增sslCircuitOpenCount跟踪连续断路次数,成功时重置
- 请求超时统一10秒(connectTimeout和request timeout一致)
- 任务间随机延迟从8-10秒增到10-12秒,进一步减少锁库
- HTTP降级成功也重置退避计数
|
2026-06-25 13:27:05 +08:00 |
|
youpaishidifu
|
10e148be5f
|
v9: 修复pollAdminChanges 404 + 延迟增到8-10秒
- 修复 ack_admin_changes double URL bug(httpPost重复拼接webBaseUrl)
- 改用GET方式发送ack,避免POST Content-Type不匹配
- land_api.php 支持GET参数ids
- 所有任务间随机延迟从6-8秒增到8-10秒
- 目标:锁库降到0-1次/分钟
|
2026-06-25 13:05:41 +08:00 |
|
youpaishidifu
|
9599a66cc5
|
增强: 随机间隔从±8秒扩大到±10秒;任务间随机延迟从4-6秒增加到6-8秒;减少PHP端SQLite锁冲突
|
2026-06-25 12:46:45 +08:00 |
|
youpaishidifu
|
c05c6d9512
|
修复: SSL降级触发条件优化-任何连接异常都计数;任务间随机延迟从2-4秒增加到4-6秒;增加SSL计数器在POST最终失败时
|
2026-06-25 12:21:25 +08:00 |
|
youpaishidifu
|
2a976710e9
|
增强: 随机间隔扩大到±8秒;所有同步任务间改为随机2-4秒延迟;拆分同步添加0-2秒随机延迟避免并发锁库
|
2026-06-25 12:07:48 +08:00 |
|
youpaishidifu
|
c2a8385895
|
优化: 首次全量同步和周期同步任务间错开1500ms,避免PHP端SQLite数据库锁
|
2026-06-25 11:53:58 +08:00 |
|
youpaishidifu
|
3c71664284
|
修复: 404问题-在线玩家同步GET返回404时触发分批POST拆分(每人一批); 库存轮询增加DB锁错误检测; 随机间隔扩大到±5秒
|
2026-06-25 01:44:46 +08:00 |
|
youpaishidifu
|
c9e2f71361
|
增强: 随机间隔扩大到±5秒减少DB锁冲突;库存轮询增加数据库锁错误检测
|
2026-06-25 01:19:47 +08:00 |
|
youpaishidifu
|
3c085e086d
|
优化: 全量同步任务间错开800ms执行,避免瞬间堆叠导致DB队列等待过久和HTTP 404
|
2026-06-25 00:49:31 +08:00 |
|
youpaishidifu
|
28a120fea0
|
修复: 补充rebuildHttpClient方法和initPlainHttpClient方法,实现SSL降级到HTTP功能;添加randomIntervalSeconds随机间隔定时器,避免并发SQL锁死
|
2026-06-25 00:19:46 +08:00 |
|
youpaishidifu
|
dee6ab8eed
|
feat: SSL连续失败3次自动降级到HTTP + 编译部署
|
2026-06-24 23:06:03 +08:00 |
|
youpaishidifu
|
5273220716
|
修复:poll_admin_changes返回JSON包含Unicode转义序列导致解析404
|
2026-06-24 21:28:42 +08:00 |
|
youpaishidifu
|
e416372a41
|
修复:GUI效果管理回调子页面保持、PVP双端检查、传送安全位置、游戏模式管理员豁免
|
2026-06-24 20:33:35 +08:00 |
|
youpaishidifu
|
bbf23aad31
|
fix: 领地系统多项修复 - 管理员TAG验证/和平模式/袭击模式命名/效果管理GUI/添加成员功能
|
2026-06-24 18:32:25 +08:00 |
|
youpaishidifu
|
7ae4f46f75
|
fix: 修复CLI效果管理点击返回回到首页问题,去除返回按钮中的clickEvent导致
|
2026-06-24 15:38:17 +08:00 |
|
youpaishidifu
|
4a74a0a77f
|
feat: 新增效果管理功能 — CLI/GUI可视化操作 1.CLI效果管理菜单: 全清负面/禁止所有效果/单清列表/增益列表 2.CLI快捷指令: effectsclearall effectsdenyall effectsclearadd effectsclearremove effectsaddadd effectsaddremove 3.GUI效果管理: 管理领地菜单新增效果管理入口, 3个子菜单(GUI可视化操作)
|
2026-06-24 14:27:02 +08:00 |
|
youpaishidifu
|
9944fd5f16
|
Fix area protection: perm renames, DB save fix, perm_change sync, teleport command
|
2026-06-24 13:07:11 +08:00 |
|
youpaishidifu
|
3662466434
|
chore: 从main分支移除web文件夹(PHP代码归php分支管辖)
|
2026-06-24 11:17:18 +08:00 |
|
youpaishidifu
|
302268d0da
|
fix: 领地系统4个bug修复
1. CLI用户权限管理: 添加shortKeyToDenyField映射修复键名不匹配
2. 移除用户: 修复大小写敏感导致的移除失败
3. 权限组反转: 修复togglePerm反馈消息语义(deny=true→已禁止)
4. GUI工具: BLAZE_ROD替代STICK
|
2026-06-24 11:08:55 +08:00 |
|