Skip to content

ShitBot v1.2.0

Latest

Choose a tag to compare

@hutuyee hutuyee released this 17 Oct 09:34
cd37de1

What's Changed

Fixed Bug

  • 修复缺失配置、语言文本和图片主题默认值只在内存中生效的问题:启动或重载时会补齐缺失键、null 值及空文件,并写回磁盘,保留已有配置、自定义键和注释。
  • 修复空配置与旧版语言迁移的执行顺序,避免补全默认配置后遗漏旧语言文本。
  • 修复内置高级图片模板不完整时无法恢复的问题:自动补全缺失的草稿、素材目录和默认字段;发布指针丢失时可从有效的历史版本恢复,已有图层与历史快照会保留。
  • 修复 OneBot 调试日志、连接地址和异常信息可能泄露 Access Token 的问题;收紧回环地址识别,并在 WebSocket 解码阶段限制超大入站消息。
  • 修复远程 MySQL TLS 参数检查可能被重复参数、大小写或参数优先级绕过的问题,按实际连接参数严格判断是否启用 TLS。
  • 加强远程模板图片下载:固定已验证的公网连接地址、逐次检查重定向并保留域名证书校验,防止 DNS 重绑定绕过地址限制;同时限制下载队列、缓存、图片解码和网络读取耗时。
  • 修复模板 YAML 循环引用、过深或过量展开造成的资源消耗问题,并加强素材上传及源码读取的符号链接与临时文件保护。

Feat

  • 新增内置玩家个人资料图:QQ 群发送 个人资料 / 个人信息,可查询自己绑定角色的皮肤、在线状态、权限组、点券和累计在线时长;可选 PlaceholderAPI 字段不可用时自动隐藏。关联 #2。
  • 新增可编辑的 player-profile 与 inventory 高级图片模板及数据提供器,支持个人信息卡片、装备、副手、主背包、快捷栏、物品数量和耐久展示;自定义个人信息、自定义背包 群命令入口可在 commands.yml 中启用,默认关闭。
  • 扩展公共图片 API:开放在线状态、个人资料和背包图片渲染,提供 PNG 字节、流式读取、按需 Base64 / data URI,以及有界队列的异步本地文件保存;原生个人资料与背包图片接口无需开启高级模板。
  • 新增自动配置备份:版本变化、自动补全或迁移配置,以及新版本更新器替换 JAR 前,保存原始配置到 config-backups/;代理联动更新的后端各自备份,备份失败时停止对应写入或替换。
  • 补齐英文 README 和使用手册,完善个人资料、外置模板、图片 API、配置恢复及安全边界说明。
  • 完善发布流程,增加 Java 8 / 17 / 21 与 Linux / Windows CI 矩阵、测试报告汇总、发布文件内容与 Java 字节码目标检查。

升级说明: 无需删除或重新生成完整配置,首次启动会备份现有配置并补齐新增字段。数据库自动升级至 schema 7,新增 shitbot_player_stats 保存在线时长;数据库、image-templates/ 和自定义图片资源仍需自行备份。代理与后端建议同步升级至 1.2.0,并正常重启。Java 最低要求保持不变:Spigot / BungeeCord 为 8,Nukkit-MOT 为 17,Velocity 为 21。高级模板使用同版本 ShitBotRenderer,启用后按需下载;个人资料皮肤地址可通过 profile.skin-url-template 配置。

Full Changelog: 1.1.5...1.2.0