youpaishidifu
|
f19efa89a8
|
高频出售缓冲机制: 1分钟内单种商品≥10次时暂缓推送60秒
Auto Release / build (push) Successful in 2m39s
|
2026-07-20 13:18:58 +08:00 |
|
youpaishidifu
|
182545de59
|
feat: 密码错误阈值封禁(Bukkit真实封禁+邮件报警) + OAuth登录IP风控 + 配置多退少补
Auto Release / build (push) Successful in 34s
1. RiskControlManager: triggerBan改用Bukkit BanList API真实封禁玩家
- BanList.addBan(name, reason, expiry)阻止重连加入
- onJoin检查isBanned()双重防护
- cleanup()定时清理过期封禁并pardon
- unban()同步解除Bukkit封禁
2. Main.java onJoin: 新增风控封禁检查,封禁期内玩家无法加入
3. ConfigManager: loadSettings()自动补齐缺失配置项(多退少补)
4. 已有功能(上一次commit实现但未推送):
- 密码错误阈值封禁+报警邮件
- 正版OAuth登录IP风控
|
2026-07-19 14:41:04 +08:00 |
|
youpaishidifu
|
c4a5fc9a61
|
fix: Add detailed logging to Create Release step for debugging
Auto Release / build (push) Successful in 27s
|
2026-07-19 01:23:43 +08:00 |
|
youpaishidifu
|
caaf09fce0
|
fix: Gitea release tag now extracted from plugin.yml instead of build-N
Auto Release / build (push) Failing after 27s
|
2026-07-19 01:20:14 +08:00 |
|
youpaishidifu
|
1133f37bf9
|
fix: 改用actions/setup-java@v4从Temurin下载JDK25,彻底绕开服务器JDK探测和sdkman冲突
Auto Release / build (push) Successful in 49s
|
2026-07-19 01:14:27 +08:00 |
|
youpaishidifu
|
0ddc47b5d4
|
fix: 彻底绕开sdkman,直接用/usr/lib/jvm最高版本JDK,JAVA_HOME写入GITHUB_ENV并强制export到PATH
Auto Release / build (push) Failing after 7s
|
2026-07-19 01:10:21 +08:00 |
|
youpaishidifu
|
c0be75474f
|
fix: 改用<release>25替代<source>/<target>,确保JAVA_HOME正确传递到Maven步骤
Auto Release / build (push) Failing after 8s
|
2026-07-19 01:06:54 +08:00 |
|
youpaishidifu
|
daa4a3cb7c
|
fix: 升级Maven compiler-plugin到3.15.0,优化Java检测逻辑
Auto Release / build (push) Failing after 9s
|
2026-07-19 01:01:55 +08:00 |
|
youpaishidifu
|
09873425b9
|
fix: Maven检测优先用系统已安装(command -v mvn),下载源换阿里云镜像
Auto Release / build (push) Failing after 43s
|
2026-07-19 00:56:13 +08:00 |
|
youpaishidifu
|
2b20098f09
|
fix: release token 改用 GITEA_TOKEN||GITHUB_TOKEN 回退,零配置可跑通
Auto Release / build (push) Failing after 2m16s
|
2026-07-19 00:47:18 +08:00 |
|
youpaishidifu
|
e2dd59e89e
|
fix: Gitea工作流改用服务器已装JDK+Maven二进制,绕开dnf拉java-17冲突
Auto Release / build (push) Failing after 2m19s
|
2026-07-19 00:46:09 +08:00 |
|
youpaishidifu
|
d66a792a2e
|
更新 README.md
Auto Release / build (push) Failing after 8s
|
2026-07-19 00:03:51 +08:00 |
|
youpaishidifu
|
87d190a013
|
Gitea工作流改用self-hosted + --no-docker模式
Auto Release / build (push) Has been cancelled
|
2026-07-18 23:37:29 +08:00 |
|
youpaishidifu
|
481e2ea90b
|
简化Gitea工作流:移除外部action依赖,使用原生命令构建和API创建release
Auto Release / build (push) Has been cancelled
|
2026-07-18 23:26:03 +08:00 |
|
youpaishidifu
|
4b19b65a84
|
简化Gitea工作流:单job + ubuntu-latest + JDK 21
Auto Release / build-and-release (push) Failing after 4s
|
2026-07-18 23:01:41 +08:00 |
|
youpaishidifu
|
7f425f2c9f
|
Gitea Actions: 硬编码token用于release创建
Auto Release / build (push) Failing after 8s
Auto Release / release (push) Has been skipped
|
2026-07-18 22:49:55 +08:00 |
|
youpaishidifu
|
4a03608540
|
更新Gitea Actions工作流:添加release job,使用gitea release-action
Auto Release / build (push) Failing after 1m30s
Auto Release / release (push) Has been skipped
|
2026-07-18 22:35:34 +08:00 |
|
youpaishidifu
|
60504ebdf1
|
修复Release工作流:JDK 26 + zulu发行版,Gitea改用self-hosted runner
Auto Release / build (push) Failing after 32s
|
2026-07-18 22:01:09 +08:00 |
|
youpaishidifu
|
79e6e8354b
|
清理JVM崩溃日志并添加gitignore
Auto Release / build (push) Has been cancelled
|
2026-07-18 21:53:45 +08:00 |
|
youpaishidifu
|
b890480a55
|
简化Release工作流:先确保构建通过
Auto Release / build (push) Has been cancelled
|
2026-07-18 21:53:11 +08:00 |
|
youpaishidifu
|
104286a66e
|
修复自动Release工作流:GitHub用标准action,Gitea用专用release-action
Auto Release / build-and-release (push) Has been cancelled
|
2026-07-18 21:49:03 +08:00 |
|
youpaishidifu
|
996fd41d8a
|
添加GitHub/Gitea自动release工作流:每次push到main分支自动构建并发布JAR
Auto Release / build-and-release (push) Has been cancelled
|
2026-07-18 21:32:23 +08:00 |
|
youpaishidifu
|
c6e4e0a520
|
邮箱校验拒绝时显示允许的后缀列表:新增getAllowedSuffixHint()方法,3处校验点全部附带提示
|
2026-07-18 18:42:16 +08:00 |
|
youpaishidifu
|
3f7f7f6c33
|
移除敏感文件deploy_sftp.py
移除敏感文件deploy_sftp.py
|
2026-07-18 18:36:26 +08:00 |
|
youpaishidifu
|
1f4f9e343a
|
修复email复读机+配置文件自动补全不生效:1.给独立/email和/绑定命令添加处理器 2.saveSmtp保留未知key 3.writeLines renameTo失败时fallback到copy+delete
|
2026-07-18 18:28:44 +08:00 |
|
youpaishidifu
|
b96cf8c664
|
修复邮箱黑白名单不生效+email复读机bug:loadMap支持多行值(裸行续行),email命令添加args长度检查,移除重复email处理器死代码
|
2026-07-18 18:11:00 +08:00 |
|
youpaishidifu
|
9d52051023
|
修复SMTP配置加载:移除重复loadMap调用,确保文件不存在时也能正确加载默认值,添加详细日志输出
|
2026-07-18 17:40:38 +08:00 |
|
youpaishidifu
|
d96f16e337
|
修复SMTP配置热更新问题:加载时自动补全缺失配置项,支持UTF-8 BOM,添加email reload命令
|
2026-07-18 17:03:28 +08:00 |
|
youpaishidifu
|
535d32f2bb
|
新增邮箱黑白名单校验功能:SMTP配置文件重命名为邮件配置,分为SMTP信息区和运行模式区,默认不校验,白名单模式仅允许列表后缀,黑名单模式禁止列表后缀
|
2026-07-18 16:40:53 +08:00 |
|
youpaishidifu
|
c79924f67d
|
refactor: 移除/mscode命令,正版验证全部交web后端接管
- 移除/mscode命令(plugin.yml + onCommand + executor注册)
- 移除extractCodeFromInput()方法(仅/mscode使用)
- 移除verifyMinecraftAuthCode()方法(仅/mscode使用)
- Java端仅负责:创建session → 轮询PHP状态 → 自动登录
- 所有授权码输入由PHP粘贴页全权处理(自动提交)
- 解决MC聊天框256字符硬限导致URL截断的根本问题
|
2026-07-17 20:55:31 +08:00 |
|
youpaishidifu
|
f5a3dfbda5
|
fix: AreaGUIManager硬编码URL改为从插件配置读取
- AreaGUIManager删除用户组时通知PHP同步,URL和密钥之前写死为caoyuan.ypshidifu.cn
- 现在改为从webManager.getWebBaseUrl()和getSecretKey()读取,支持其他服主自定义web后端
- extractCodeFromInput增强支持#code=fragment形式(上一轮修复)
- verifyMinecraftAuthCode加debug日志便于排查
- deploy_sftp.py备份后缀改为.jar.old/.old.N(不以.jar结尾,避免MC加载冲突)
- .gitignore添加hs_err_pid*.log
|
2026-07-17 19:40:01 +08:00 |
|
youpaishidifu
|
c568703996
|
fix: 自动正版验证移至verifyPremiumAsync回调中触发
|
2026-07-17 17:16:41 +08:00 |
|
youpaishidifu
|
3251a48b99
|
feat: 玩家加入后延时5秒自动触发正版验证
|
2026-07-17 16:49:46 +08:00 |
|
youpaishidifu
|
f83458fd4b
|
修复正版验证三大问题:1)paste_code_page Content-Type改为text/html修复HTML源码输出 2)/mscode支持粘贴完整URL自动提取code参数 3)HTTP错误处理改进,非200也返回body显示PHP错误信息 4)verify_code改为JSON格式POST
|
2026-07-17 16:13:40 +08:00 |
|
youpaishidifu
|
c3d2f81e9e
|
添加/mscode命令:支持粘贴Microsoft OAuth授权码(公共客户端流程)
|
2026-07-17 14:02:08 +08:00 |
|
youpaishidifu
|
f8b44dd97b
|
修复自动登录安全漏洞:移除verifyPremiumAsync自动登录路径
问题:离线模式服务器中,所有玩家UUID都是离线格式。
旧代码通过Mojang API检查名字是否存在,如果存在就autoLogin。
这意味着盗版客户端只要用正版玩家的名字就能跳过登录。
修复:
- 移除verifyViaPhpBackend和fetchMojangUuid
- 离线UUID玩家一律视为非正版,需手动登录或OAuth验证
- 保留3条安全的自动登录路径:
1. 检查点0: isVerifiedPremiumPlayer (OAuth验证)
2. 检查点1: hasJavaLogin (5分钟内重连)
3. 检查点2: isWebLoginVerified (Web密码验证)
|
2026-07-17 11:06:03 +08:00 |
|
youpaishidifu
|
ab4fe441fe
|
新增Microsoft OAuth正版验证功能
1. PHP端新增minecraft_auth.php,实现完整的Microsoft OAuth流程
- 支持Microsoft账号登录验证
- 获取Minecraft Profile(UUID、用户名)
- 验证状态持久化到SQLite
- 生成可点击的授权URL
2. Java端新增/mslogin和/正版命令
- 调用PHP后端获取授权URL
- 显示可点击链接给玩家
- 轮询PHP检查验证状态
- 验证成功后自动登录
3. 修改VerificationManager,集成PHP后端验证
- 优先通过PHP验证(支持Microsoft OAuth)
- PHP不可用时降级到Mojang API
- 支持已验证正版玩家自动登录
4. 新增verifiedPremiumPlayers内存存储
- 服务器重启前有效
- 支持快速重连无需重复验证
- 下线时保留验证状态
5. 新增plugin.yml命令定义
- /mslogin: 英文版正版验证
- /正版: 中文版正版验证
|
2026-07-17 10:22:31 +08:00 |
|
youpaishidifu
|
317d1fdbcc
|
注释快速补单日志减少噪音
|
2026-07-16 15:38:52 +08:00 |
|
youpaishidifu
|
7ba43d820a
|
修复领地权限拦截:豁免VISITOR(领地授权成员)在非安全权限检查
|
2026-07-16 14:37:56 +08:00 |
|
youpaishidifu
|
a5edbfe314
|
修复: Java doGet超时30秒+poller详细日志
- doGet超时从10秒增加到30秒,确保poller有足够时间
- poller调用添加耗时统计和详细日志
- 修复pullPendingTransactions中的语法错误
- 解决: Java调用poller超时导致补单失败
|
2026-07-15 20:25:01 +08:00 |
|
youpaishidifu
|
e791548e87
|
doTransactionPollCheck添加高频补单触发器(15秒间隔)
- WebManager: doTransactionPollCheck每~5秒触发poller_online.php(限流15秒)
- 解决补单延迟(原PollC~30-60秒才触发)
关闭 #1059
|
2026-07-15 18:01:06 +08:00 |
|
youpaishidifu
|
501aa40677
|
feat: Web在线充值(recharge)分支 — 支付平台0.01元测试到账
- processWebTransaction 新增 type=recharge/pay_recharge 专用分支
- 支付成功后 addBonds 发放债券 + 游戏内即时通知
- 复用现有 ~5s 轮询 + ackTransaction 防重 + confirmed_transactions 双保险
|
2026-07-14 20:55:04 +08:00 |
|
youpaishidifu
|
181c2acb34
|
chore: 关闭背包翻译的INFO日志刷屏
- 移除MaterialTranslator.translate()和translateWithFallback()中的info日志
- 保留warning仅用于翻译源异常降级场景
- 控制台不再被每条物品的翻译缓存/命中日志淹没
- 旧版: Sdf1_login.jar.old.9
|
2026-07-14 19:00:19 +08:00 |
|
youpaishidifu
|
bf0688b291
|
feat: 背包备份物品名走官方翻译+机翻兜底
- translateMaterial() 由硬编码替换为 MaterialTranslator.translate()
- 与领地方块记录系统一致: 优先查 zh_cn.json 官方翻译, 机翻兜底
- 旧版: Sdf1_login.jar.old.8
|
2026-07-14 18:48:15 +08:00 |
|
youpaishidifu
|
765fbd74c1
|
fix: 交易拉取即贴标导致自己跳过处理
根因: ackTransaction()将txId加入confirmedTxIds内存set,
processWebTransaction()检查到set包含该ID就跳过处理。
交易还没处理就被自己标记的内存set跳过了。
修复: ackTransaction()不再写confirmedTxIds,
仅写PHP confirmed_transactions表。
confirmedTxIds仅在confirmTransaction()处理完后才写入。
旧版: Sdf1_login.jar.old.7
|
2026-07-14 17:03:12 +08:00 |
|
youpaishidifu
|
d2180cec1c
|
feat: 告示牌放置/编辑监控记录
1. land_block_log表新增detail列(已有数据库ALTER兼容)
2. DatabaseManager新增recordLandBlockWithDetail方法
3. LandRecordManager新增recordSignEdit方法,记录sign_place/sign_edit动作+内容
4. AreaProtection.onSignChange()延迟1tick记录(等事件处理完)
5. 回声碎片显示告示牌内容: 玩家XXX在HH:MM放置/编辑告示牌 [内容]
|
2026-07-14 16:47:57 +08:00 |
|
youpaishidifu
|
9ccda3f541
|
fix: ack_transaction补tx_type + 告示牌权限豁免授权成员
1. WebManager.ackTransaction()增加txType参数, bodyJson发送tx_id+tx_type
2. AreaProtection.onSignChange(): 白名单内授权成员跳过denySignEdit检查
PermissionLevel无MEMBER枚举, 授权成员=白名单VISITOR, 通过isPlayerWhitelisted判定
|
2026-07-14 15:32:52 +08:00 |
|
youpaishidifu
|
401fa2453a
|
fix(area-gui): 告示牌权限动态名称:允许/禁止编辑告示牌
|
2026-07-14 12:55:40 +08:00 |
|
youpaishidifu
|
6946cfef6d
|
feat(area-gui): CLI/GUI菜单添加禁止编辑告示牌权限条目
|
2026-07-14 12:42:49 +08:00 |
|
youpaishidifu
|
89fa765351
|
fix(web): 拉取交易即刻贴标ack,防止SSL断路器后重复扣费
|
2026-07-14 11:27:46 +08:00 |
|
youpaishidifu
|
a118aac18c
|
feat(land): 添加告示牌编辑独立权限和红石状态记录
|
2026-07-14 10:39:59 +08:00 |
|
youpaishidifu
|
da4299cc2f
|
分离登录备份和自动备份显示:backup/back命令分两组列出,L前缀=登录备份,A前缀=自动备份
|
2026-07-13 18:16:33 +08:00 |
|
youpaishidifu
|
112f992fda
|
修复getInventoryBackups/getInventoryBackupById查错表:inventory_backups→inv_backup_auto,导致自动备份数据查不到
|
2026-07-13 17:57:11 +08:00 |
|
youpaishidifu
|
3674e1e950
|
修复backup子命令权限:仅OP/插件管理员/控制台可执行,支持查询他人备份
|
2026-07-13 17:04:46 +08:00 |
|
youpaishidifu
|
abdd3ad7c7
|
修复滚动备份日志追踪+告示牌编辑权限控制
|
2026-07-13 16:51:35 +08:00 |
|
youpaishidifu
|
a3c8cec664
|
官方翻译纯同步模式:移除异步刷新分支,部署脚本附带上传zh_cn.json缓存
|
2026-07-13 15:56:22 +08:00 |
|
youpaishidifu
|
5a0166e90c
|
修复官方翻译首次部署时空map问题:缓存不存在时改为同步下载,确保init返回前map就绪
|
2026-07-13 15:31:59 +08:00 |
|
youpaishidifu
|
6c6cc94905
|
翻译链路日志:OfficialTranslations.lookUp + MaterialTranslator.translate/translateWithFallback 每步打印日志,跟踪翻译路径
|
2026-07-13 15:18:56 +08:00 |
|
youpaishidifu
|
f5a5b28f61
|
添加官方中文翻译源:从Mojang API下载zh_cn.json作为优先翻译,机翻兜底
|
2026-07-13 15:02:59 +08:00 |
|
youpaishidifu
|
e3b459a00c
|
修复容器记录仅显示打开:补充存入(put)+拿取(take)差量记录,容器类型纳入翻译
|
2026-07-13 14:38:50 +08:00 |
|
youpaishidifu
|
3ef7fbdb7a
|
修复容器记录+翻译集成:记录移到权限检查前,queryAndPrint异步批量翻译输出中英双语
|
2026-07-13 14:12:47 +08:00 |
|
youpaishidifu
|
3795dd90eb
|
修复CLI菜单权限显示:管理员只显示玩家发光,隐藏全部权限配置
|
2026-07-13 13:56:44 +08:00 |
|
youpaishidifu
|
513e4c56ad
|
修复拾取/丢弃权限:per-player独立授权键名映射(allowPickup↔denyPickup)
|
2026-07-13 13:43:16 +08:00 |
|
youpaishidifu
|
8138b97b59
|
领地记录物品名多源翻译:有道+简心+Google三级降级
|
2026-07-13 13:15:01 +08:00 |
|
youpaishidifu
|
697b1069a2
|
PVP四项改进:回声碎片CLI入口/击杀≥10奖励盔甲药水/世界击杀纳入总榜/选装前无敌
|
2026-07-13 12:28:13 +08:00 |
|
youpaishidifu
|
c7cdb60b47
|
修复边框粒子卡死主线程:动态密度控制+粒子总量上限
|
2026-07-13 12:00:27 +08:00 |
|
youpaishidifu
|
7489c60286
|
新增领地方块/容器记录系统(回声碎片)与背包滚动自动备份
- 新增 land_block_log、land_container_log、inv_backup_auto 三张表
- LandRecordManager:领地内方块破坏/放置、容器打开/拿取自动记录;回声碎片工具右键/左键查询坐标历史记录
- AreaGUIManager 主菜单新增回声碎片按钮(位置33)
- InventoryAutoBackup:每15分钟滚动备份在线玩家背包(每人保留3份),跳过PVP竞技场/练习场
- 每日定时清理超过7天的领地记录
- AreaProtection 钩子接入记录;注册 /landrec 命令
|
2026-07-13 10:26:05 +08:00 |
|
youpaishidifu
|
8ce2e727bb
|
领地改名和入场退场消息接入URL过滤逻辑
- 领地改名:输入新名字前先检测URL,包含链接则拒绝且不计入改名次数
- 入场/退场消息:设置消息前先检测URL,包含链接则拒绝且不保存
- 复用ChatFilterManager.extractUrls()统一过滤逻辑
|
2026-07-13 09:43:21 +08:00 |
|
youpaishidifu
|
e7402985d5
|
修复封禁广播Long拆箱NPE + syncBans/syncAdmins改POST避免URL超长
- handleBanCommand中long expireMs→Long expireMs,避免null拆箱异常
- syncBans/syncAdmins从httpGet改为httpPost,防止55条封禁数据URL过长
- sync.php已部署含sync_bans/sync_admins case的版本到线上
|
2026-07-13 00:35:09 +08:00 |
|
youpaishidifu
|
c0ab91edba
|
R23-2: 封禁同步彻底修复 - syncBans独立hash+控制台ban监听+插件ban即时同步PHP
|
2026-07-12 23:45:59 +08:00 |
|
youpaishidifu
|
529b83666c
|
R23: 修复4项问题 - 改名冷却逻辑(仅达上限才提示冷却) + 拦截原版/ban、/ban-ip命令广播封禁警告
|
2026-07-12 23:08:32 +08:00 |
|
youpaishidifu
|
569611c40f
|
新增3个功能:领地改名冷却、封禁名单联控、封禁广播警告
1. 领地改名冷却机制:1小时限5次,自然滚动窗口
- AreaProtection: renameLand/renameCooldownMap/getRenameCooldown/getRemainingRenames
- CLI: /protect cli rename <领地名> 交互式输入
- GUI: Name Tag按钮(slot 33)显示冷却状态
- 改名更新DB+内存+触发PHP同步
2. PHP用户管理显示封禁名单(联控Java BanList)
- WebManager.syncBans(): 收集Bukkit名字/IP封禁→推送到PHP
- PHP: web_player_bans表 + handleSyncBans + list_bans API
- admin.php: 用户行红色+禁图标标注被封禁玩家
3. 封禁事件公屏广播警告
- Main.applyBan(): 封禁后自动广播
- broadcastBanWarning(): 玩家名+IP(如IP封禁)+理由+到期时间
- loadBanWarningMessage(): 从释放警告消息.txt随机读取标语
- 支持永久封禁/限时封禁/IP封禁3种场景
|
2026-07-12 22:08:38 +08:00 |
|
youpaishidifu
|
61e4ec967f
|
修复公告消息取消功能:取消后返回主菜单而非编辑子页
cancel路径showAnnouncementManagement(p, landName, 2/3)会重新设置pending输入状态,导致取消后仍停留在等待输入状态。改为showAnnouncementManagement(p, landName, 1)返回主菜单
|
2026-07-12 21:07:06 +08:00 |
|
youpaishidifu
|
57788016a4
|
修复占位符括号+tag管理员CLI权限视图
1. 变量替换正则新增{}花括号支持,支持领地名和领地两种写法
2. CLI showPlayerPerm:tag管理员(isAdmin)查看管理员成员时看到完整权限编辑视图,不再简化;可切换管理员身份
|
2026-07-12 20:58:21 +08:00 |
|
youpaishidifu
|
ad935cbe09
|
修复4个bug:权限/颜色渲染/换行符/取消功能
1. toggleAdmin:插件管理员可操作非自身领地的管理员身份
2. formatAreaMsg颜色渲染:convertHtmlTags新增activeColor追踪,标签关闭§r后自动恢复颜色码,解决<span style=color>嵌套<b><u>标签时颜色在闭合处截断的问题
3. 变量替换正则改为Pattern.compile+DOTALL,确保跨行匹配
4. handleAnnouncementInput新增取消/0支持,输入取消或0时保持原样
|
2026-07-12 20:32:50 +08:00 |
|
youpaishidifu
|
ae94f8edef
|
插件管理员可协助管理其他领地成员权限
- GUI领地列表:tag管理员可见所有领地,点击索引修正(allManageableLands替代getLandsByOwner)
- openPlayerPerm:tag管理员(isAreaAdmin)看到完整权限编辑视图,不再简化
- CLI showPlayerPerm:设为管理员按钮对tag管理员也可用
- WebManager:新增syncAdmins(),将tag管理员名单同步到PHP的web_plugin_admins表
需要PHP端配合:land_api.php新增canManageLand/isPluginAdmin逻辑
|
2026-07-12 19:45:51 +08:00 |
|
youpaishidifu
|
9af6c0cca0
|
feat: GUI领地公告出入消息配置 + 增强HTML语义解码
1. GUI设置面板新增进入消息(位置19)和离开消息(位置21)编辑入口,点击关闭GUI后聊天栏输入
2. AreaCLIManager新增setPendingAnnouncementInput供GUI调用
3. 新增decodeHtmlEntities: & < > " ' ' 等HTML实体解码
4. 新增processColorTags: 支持<span style='color:#xxx'>和<p style='color:xxx'>颜色标签
5. htmlToMc增强: 支持<strong><em><ins><del><strike>等语义标签
6. 新增convertHtmlColorToMc/convertRgbToMc: HTML颜色名/十六进制/rgb()→MC颜色代码
|
2026-07-12 18:41:48 +08:00 |
|
youpaishidifu
|
49ad056a71
|
fix: 退出领地立即清除效果,不再依赖5秒延时
根因:playerMarkedEffects标记不可靠(hotUpdateRegionEffects会清空、
applyRegionEffects可能跳过添加),导致离开时marked为空→无延时任务→效果残留
修复:
1. 移动退出到野外:直接从oldAc.giveEffects读取效果列表,立即removePotionEffect
2. 传送到野外:同上逻辑
3. 领地→领地跨区域仍保留5秒延时差量清理
|
2026-07-12 18:27:38 +08:00 |
|
youpaishidifu
|
c0bb962a11
|
feat: Token泄露PHP联控作废 + 领地公告变量替换
1. Token安全防线:Java revokeToken异步调用PHP sync.php revoke_weblogin_token端点,从weblogin_tokens表删除
2. PHP新增revoke_weblogin_token action:验证SECRET_KEY后删除weblogin_tokens中的记录
3. 领地公告变量替换:支持(玩家)/(领地)及[]{}【】<>《》等括号格式
4. 默认消息:进入=欢迎(玩家)来到(领地),离开=感谢(玩家)光临(领地)
5. 公告管理菜单显示变量说明和支持的括号格式
|
2026-07-12 17:43:23 +08:00 |
|
youpaishidifu
|
0db237ed04
|
feat: 公屏泄露webtoken自动作废安全防线
1. 玩家在公屏发送有效的48位hex token时,立即作废该token
2. 向玩家发送安全警告,提示不应分享token
3. WebManager新增revokeToken/hasToken方法
|
2026-07-12 17:05:56 +08:00 |
|
youpaishidifu
|
5d994c0dad
|
feat: 领地边框粒子特效 + 强制游戏模式仅管理员可用
1. 进入/离开领地时展示3秒边框粒子(青色渐变DUST_COLOR_TRANSITION + 四角END_ROD高亮)
2. /protect info执行时展示5秒领地边框粒子
3. GUI强制游戏模式开关改为仅服务器管理员可操作(领地主不可操作)
|
2026-07-12 16:45:22 +08:00 |
|
youpaishidifu
|
0ff79aa959
|
实现在移动事件中实时热更新增益效果:新增hotUpdateRegionEffects方法,玩家在领地内移动时每2秒自动对比效果配置,实时增删缺失/多余效果,无需退出重进
|
2026-07-12 14:52:49 +08:00 |
|
youpaishidifu
|
fa4402d426
|
修复增益效果不生效+完善所有药水效果中英文映射:resolveEffectType改用PotionEffectType常量替代不可靠的getByName兜底,支持所有MC版本
|
2026-07-12 13:03:48 +08:00 |
|
youpaishidifu
|
2fb801a59b
|
修复再生效果不生效:resolveEffectType缺少再生/回复中文别名映射
|
2026-07-12 12:19:24 +08:00 |
|
youpaishidifu
|
69868a4c5c
|
修复PHP添加增益效果后游戏内等级错误:applyFieldToAreaConfig的give_effects改用parseEffectsString替代已损坏的parseJsonArray
|
2026-07-12 11:41:26 +08:00 |
|
youpaishidifu
|
4888bb414e
|
修复: syncLandData权限hash漏算permissions导致成员权限变更不触发同步
perms hash 段原仅含 land_id/player_name/role,未包含 permissions 字段内容,
导致游戏内修改成员权限后 hash 不变、不触发 syncPermissions 推送到 PHP。
现把 permissions 内容加入 hash 计算(含 | 分隔符),成员权限变更可正确同步。
|
2026-07-12 10:29:43 +08:00 |
|
youpaishidifu
|
912bd62201
|
R16: 修复回调重试+SSL降级: callbackAddVisitorToPHP失败时尝试HTTP降级
|
2026-07-11 18:10:21 +08:00 |
|
youpaishidifu
|
0bd4d454c3
|
R15: PHP添加成员改为Java验证后入库(参考改领地主流程)
- add_visitor处理先验证玩家是否存在(login.db),存在则入库+回调PHP成功,不存在则回调PHP失败
- 新增callbackAddVisitorToPHP方法回调PHP添加成员结果
|
2026-07-11 15:53:00 +08:00 |
|
youpaishidifu
|
bf32e528f1
|
R14: 修复Java→PHP权限同步缺失(hash不含权限数据导致跳过同步)
- syncLandData hash加入权限数据特征,确保权限变化时触发同步
|
2026-07-11 15:10:51 +08:00 |
|
youpaishidifu
|
5ef86ddfe8
|
R13: 修复addvisitor校验+PHP权限同步完整流程
- /protect addvisitor 命令添加玩家真实性校验(login.db检查)
- addvisitor/handleAddMemberInput 同时写入area_land_permissions表
- perm_change handler 确保玩家加入areaPlayerWhitelist(解决PHP同步不显示问题)
- PHP端handleChangeVisitorRole 新成员改走add_visitor流程(确保Java白名单同步)
|
2026-07-11 14:19:01 +08:00 |
|
youpaishidifu
|
e08a6bc4c7
|
修复领地权限系统4大bug:DB列缺失+成员不同步+管理员继承+login.db校验
1. AreaProtection.updateVisitorPermFromWeb: INSERT语句去掉不存在的land_name/synced_at列,修复"table area_land_permissions has no column named land_name"
2. AreaProtection.removePlayerFromAreaWhitelist: 移除成员时同步删除area_land_permissions记录,确保admin身份一并清除,不再继承
3. AreaProtection.removeLandMember: GUI移除成员也同步删除area_land_permissions
4. AreaProtection.insertLandPermission: 新增公共方法,PHP添加成员时写入权限表
5. AreaProtection.handlePendingAddMemberInput: 添加成员前校验login.db(DatabaseManager.userExists),拒绝不存在的玩家
6. WebManager: 新增add_visitor/remove_visitor变更类型处理,PHP添加/移除成员后Java自动同步白名单+权限表
|
2026-07-11 13:36:26 +08:00 |
|
youpaishidifu
|
5ec61a1d2e
|
修复PHP→Java权限同步断裂:内存缓存不刷新+syncLandData改POST
1. AreaProtection.updateLandFieldFromWeb: 新增applyFieldToAreaConfig()直接更新内存AreaConfig(原reloadAreaConfigFromDb只重载area_config全局表,不碰area_lands领地权限)
2. WebManager.syncLandData: GET改POST(JSON body)解除URL长度限制
3. WebManager.syncLandData: hash补全遗漏字段(9个)确保所有变更能触发同步
|
2026-07-11 12:21:32 +08:00 |
|
youpaishidifu
|
8c1e1a89bd
|
修复PHP↔Java领地同步断裂:GET改POST+补全hash漏检字段
根因:syncLandData用GET发送全部领地JSON到sync.php,超URL长度限制→静默失败→PHP永远收不到Java的权限/效果变更。
1. WebManager.syncLandData: 领地同步从httpGet改为httpPost(JSON body),解除URL长度限制
2. WebManager.syncLandData: hash补全遗漏字段(allow_visitor_teleport/confiscate_items/deny_use_items/punish_commands/peace_whitelist/mode_exempt/enable_announce/announce_template/txt_content),确保这些字段变更能触发同步
3. PHP sync.php syncLands(): 已兼容POST JSON body(getParam从php://input读取)
|
2026-07-11 11:57:22 +08:00 |
|
youpaishidifu
|
bc155526ab
|
止住效果解析刷屏:加强JSON解析、去除残留反斜杠、同一名称只警告一次
1. AreaProtection.resolveEffectType: 解析前去除首尾空白/引号/反斜杠,识别\试炼之兆等残留转义名
2. AreaProtection.splitToList/parseEffectsString: 用正则提取JSON字符串并unescape \ " \/ \b \f \n \r \t 及 \uXXXX
3. 新增UNKNOWN_EFFECT_WARNINGS集合,同一名称只打印一次[防护]无法识别效果,避免控制台持续刷屏
|
2026-07-11 11:11:59 +08:00 |
|
youpaishidifu
|
4ae1589883
|
修复Web通信禁用仍轮询+PVP远程武器与击杀奖励+修复splitToList编译错误
1. WebManager: 5个合并定时器(A/B/C/D/E)新增enabled运行时守卫,Web通信关闭后立即停止请求web配置地址;reloadWebConfig支持运行时启停定时器
2. PVPTestManager: 测试场新增弓/弩二选一(默认弓)默认装备,完成一波击杀发放16牛排补血
3. PVPArenaManager: 正式场新增弓/弩二选一(默认弓)默认装备+GUI切换,每2次杀敌发放16牛排补血
4. AreaProtection: 修复splitToList中[\""未结束字符串字面量导致的编译失败
|
2026-07-11 01:04:32 +08:00 |
|
youpaishidifu
|
9121bb069d
|
修复PHP权限同步游戏:1.updateLandFieldFromWeb白名单补充is_public_building/allow_visitor_teleport;2.updateVisitorPermFromWeb支持PHP显式角色切换(admin↔member↔visitor)
|
2026-07-10 23:16:32 +08:00 |
|
youpaishidifu
|
d306431c55
|
修复两大关键bug:1.saveAreaToDb参数绑定从位置32开始整体偏移一位导致权限保存到错误列(权限回滚根因);2.onDisable取消所有定时任务解决async task未关闭警告
|
2026-07-10 21:32:08 +08:00 |
|
youpaishidifu
|
0354156eec
|
新增载具乘坐拦截:VehicleEnterEvent处理器,层级为L2实体交互→L3骑乘(denyMount),与放置/破坏权限统一
|
2026-07-10 21:01:19 +08:00 |
|
youpaishidifu
|
aa8b7ce47a
|
修复实体破坏防护:新增载具与悬挂物权威破坏事件拦截(VehicleDestroyEvent/HangingBreakEvent),统一 L1破坏总开关→L2实体交互 层级,区域取法统一为实体坐标优先
|
2026-07-10 19:55:56 +08:00 |
|
youpaishidifu
|
483acbdbb6
|
修复领地权限系统:新增实体交互二级权限,并修复领地数据保存因重复列导致落库失败的问题
|
2026-07-10 19:08:18 +08:00 |
|