Sueta

ShitBot A wonderful QQ WhiteList plugin

1.2.0

ShitBot 是一个面向 Minecraft 服务器的QQ机器人插件, 支持mc绑定白名单, OneBotV11协议,WebSocket正向连接,支持Paper,spigot,bungeecord等

·Plugin
  1. 1.2.0latestShitBot v1.2.0last week
    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
    7 downloads
  2. 1.1.5ShitBot 1.1.54 weeks ago
    What's Changed · 新增高级图片模板与可视化编辑器,支持图层、条件/循环、PAPI、玩家头像及模板发布、回滚。 · 重绘在线状态图、背包图和编辑器界面,优化单服玩家列表、代理子服分组与文字对比度。 · 完善编辑器快捷键、撤销/重做和会话自动续期,支持在游戏内打开、复制编辑器链接。 · 新增独立公共 API 和无 QQ 白名单管理,补全 PlaceholderAPI 变量。 · 修复玩家名大小写造成的权限、背包查询和解绑串号问题,绑定验证码改为代理认证完成后发放。 · 增加调试日志与本地渲染器加载,修复重载时启动通知状态丢失,优化图片渲染缓存。 高级图片模板为可选功能,启用后自动下载对应版本的 ShitBotRenderer;默认图片模式无需额外安装。 Full Changelog: 1.1.0...1.1.5
    19 downloads
  3. 1.1.0ShitBot v1.1.0Sep 5, 2026
    What's Changed ShitBot 1.1.0 是一次较大的跨平台、配置与可维护性更新。本版新增 Nukkit-MOT 支持、服务器启动群通知、可扩展语言文件和现有在线图/背包图的 YAML 主题配置,并继续加强数据库、OneBot、代理—后端通信和自动更新流程。 新平台与部署 · 新增 Nukkit-MOT 平台支持,提供独立的 ShitBotNukkit-1.1.0.jar。 · 保留 Spigot/Paper/Folia、BungeeCord 和 Velocity 支持;Release 继续按平台分别提供安装包。 · 新增可选的服务器启动 QQ 群通知,可配置目标后端和检查间隔。 · 修正跨平台边界、关闭流程和重连竞态,降低重载、断线和服务器关闭期间出现状态错乱的概率。 图片与语言自定义 · 在线状态图和背包图新增 templates/*.yml 主题文件,可自定义布局、字号、圆角和颜色。 · 支持分别为在线图和背包图选择模板;自定义模板缺少字段时回退到内置 default.yml。 · 新增独立的 lang/*.yml 语言文件,内置 zh_CN 和 en_US,管理员可以复制后扩展其他语言。 · 从旧配置升级时,会把旧 config.yml 中的语言文本、通知文本、指令别名和图片标题迁移到 lang/zh_CN.yml;旧配置文件不会被自动删除或重写。 bStats · Spigot、BungeeCord 和 Velocity 接入 bStats 统计。 · 可通过配置关闭统计,统计开关会在重载后生效。 数据库与运行稳定性 · 重构 JDBC 驱动加载,使核心可以复用服务端已有驱动并按需补齐缺失驱动。 · 改进 MySQL 连接池、连接回收、超时和异常恢复。 · 使用服务端提供的 Gson 处理 JSON,减少重复依赖。 · 仅内嵌并隔离必要的 WebSocket 依赖,修复重复打包以及 Velocity SLF4J 类型冲突。 · 修复回退 JDBC 驱动加载异常。 文档与工程维护 · 重写快速上手,并拆分安装、配置、命令、数据库、代理后端、安全、故障排查、更新和开发文档。 · 明确不同平台 JAR、Java 版本、代理/后端部署方式和升级要求。 · PictureBridge 子模块更新到较新版本,并增加自动同步流程。 · 增加问题反馈模板和四个平台 Release 产物检查。 后续计划 · 已在 TODO.md 记录无代码自定义图片模板系统:版本化 YAML 场景、可视化编辑器、插件渲染 API、PAPI 数据源、草稿/发布/回滚和安全限制。 · 上述高级图片模板和编辑器仅为后续规划,不包含在 1.1.0 中;本版提供的是现有在线图与背包图的 YAML 主题自定义。 升级注意事项 · 本版配置结构已经升级。首次启动后请检查新生成或迁移的 lang/、templates/ 和配置项。 · 代理—后端部署应同时升级代理端与全部 Spigot 后端,并继续共用 MySQL。 · Nukkit-MOT 使用独立安装包,不能与其他平台 JAR 混用。 · Release 自动化会为四个平台上传 JAR、SHA-256 校验文件和 RSA 独立签名文件。 · 更新完成后请正常重启服务器或代理,不建议使用插件管理器热加载。 完整变更记录: 1.0.9...1.1.0
    22 downloads
  4. 1.0.9ShitBot v1.0.9Aug 27, 2026
    What's Changed 本次更新主要完善 QQ 快捷命令的控制台日志捕获与隐私过滤,同时强化插件更新、代理—后端通信、OneBot 和数据库连接的安全性。 Warning 记得新加载config 控制台命令日志捕获 · 快捷命令现在直接以只读方式监听服务器的 logs/latest.log: · 执行命令前记录日志位置; · 等待 capture-seconds 指定的时间; · 回传这段时间内所有插件追加的新日志; · 支持捕获 LuckPerms 等插件异步线程产生的输出; · 不再依赖插件名称或命令注册来源判断是否抓取日志。 · 日志读取不会修改、清空或重写服务器原有的 latest.log。 · 自动移除 ANSI 颜色与格式控制符,修复 LuckPerms 编辑器链接等日志中可能出现的乱码。 · 如果命令成功但没有产生新日志,会返回明确提示,而不是发送空消息。 · 单次回传最多保留 100 行、4000 个字符,避免大量日志刷屏。 日志隐私保护 回传给 QQ 的日志副本现在会自动进行隐私过滤: · 丢弃玩家聊天消息; · 丢弃玩家加入、退出、连接和断开日志; · 丢弃玩家执行命令的日志; · 丢弃类似 [玩家: Set own game mode to Creative Mode] 的命令反馈日志; · 将请求绑定玩家及当前在线玩家的名称替换为 <player>; · 将玩家 UUID 替换为 <uuid>; · 将 IPv4 和 IPv6 地址替换为 <ip>; · 脱敏 Bearer Token、Authorization、password、secret、token 和数据库连接地址等敏感内容。 这些过滤只作用于回传内容,不会修改服务器中的原始日志文件。 插件更新安全 · /shitbot update 现在除了 SHA-256 和 JAR 内容检查,还必须验证独立 RSA 签名。 · 更新验证公钥已经内置到 ShitBotCore,并会被打包进 Spigot、BungeeCord 和 Velocity 插件。 · 服主不需要下载或配置公钥。 · Release 缺少 .sig 文件、签名不匹配、JAR 平台不匹配或版本信息异常时,更新器会拒绝替换现有插件。 · GitHub Release 构建流程会为三个平台的 JAR 自动生成: · .sha256 校验文件; · .sig 独立签名文件。 · BungeeCord 向后端分发更新时,会同时传递 JAR、SHA-256 和签名元数据,由各子服独立验证后再执行替换。 代理与后端通信安全 · Console Socket 协议升级到版本 2。 · 每个连接都会使用服务端随机 challenge 参与 HMAC 签名,阻止旧请求在服务器重启后被重放。 · 新增 TLS 和可选双向 TLS 支持: · 支持 PKCS12 key store; · 支持自定义 trust store; · 支持要求客户端证书。 · 非回环地址的明文代理—后端连接现在默认拒绝。 · 只有在 WireGuard、Tailscale 等外部加密隧道中并明确接受风险时,才应开启 allow-insecure-remote-plaintext。 · 新增固定大小的连接池、等待队列、请求截止时间和连接失败熔断,避免大量请求拖垮代理或后端。 · 加强请求 ID、nonce、消息长度和重复请求检查。 OneBot 连接安全与稳定性 · 远程 ws:// OneBot 连接现在默认拒绝,跨主机部署应使用 wss://。 · 如已通过可信加密隧道传输,可显式开启 onebot.allow-insecure-remote-websocket。 · 优化插件关闭时的 WebSocket 处理,不再无限等待 OneBot 关闭连接。 · OneBot 关闭流程增加超时与强制终止兜底,降低服务器关闭卡住的概率。 · 隔离控制台任务和 OneBot 任务,避免日志抓取或网络任务相互阻塞。 数据库与绑定安全 · 远程 MySQL 连接现在默认要求 TLS,推荐使用: sslMode=VERIFY_IDENTITY · 如确实需要远程明文 MySQL,必须显式开启 allow-insecure-remote-mysql。 · 默认关闭 allowPublicKeyRetrieval,降低认证信息暴露风险。 · MySQL 数据库迁移新增 GET_LOCK 数据库级锁,避免代理和多个后端同时启动时并发执行 DDL。 · 数据库迁移锁等待时间受 JDBC 超时限制,不会无限阻塞启动。 · 只有数据库列定义确实不符合目标结构时才执行修复性 ALTER TABLE。 · 加强数据库初始化、事务处理和异常恢复。 · 调整绑定验证码防爆破机制: · 总尝试次数默认提高到 30; · 达到总上限后进入短暂冷却,不再立即销毁验证码; · 新增 binding.total-attempt-cooldown-seconds; · 实际总尝试上限至少为单 QQ 尝试上限的 4 倍,减少恶意用户提前耗尽他人验证码的可能。 PictureBridge · ShitBot 仓库中的 PictureBridge 子模块已更新到最新版本。 · 子模块明确跟踪 PictureBridge 的 main 分支。 · 新增自动同步 workflow:PictureBridge 出现新提交后,ShitBot 会定期更新子模块引用。 · PictureBridge 仍然是独立的纯客户端模组,不会被合并进服务端插件 JAR。 升级注意事项 · Console Socket 协议已经升级,使用代理—后端模式时,请同时升级代理端和所有 Spigot 后端。 · 跨机器使用明文 Console Socket、远程 ws:// OneBot 或未启用 TLS 的远程 MySQL,在本版本中会默认拒绝连接。 · 同机 127.0.0.1 / ::1 通信不受远程明文限制影响。 · 新版本更新器要求 Release 同时包含对应 JAR 的 .sha256 和 .sig 文件。 · 更新完成后仍需手动重启服务器或代理,不建议使用插件热重载。 完整变更记录: 1.0.8...1.0.9
    32 downloads
  5. 1.0.8ShitBot v1.0.8Aug 26, 2026
    What's Changed 自动更新 · 插件加载后异步检查 GitHub Release,网络访问不会阻塞服务器主线程;仅在版本信息变化时更新本地缓存。 · 管理员上线时提示可用的新版本及 Release 链接。 · /shitbot update 支持下载对应平台 JAR、校验 SHA-256 与 JAR 内容、备份现有文件并安全替换,完成后提示手动重启,不执行热重载。 · BungeeCord 更新时会通过已认证的 Console Socket 同步更新配置的 Bukkit 子服,并分别返回更新结果。 · Release 现在同时发布各平台 JAR 和独立的 .jar.sha256 校验文件。 QQ 快捷命令 · lp / luckperms 快捷命令会先核对命令确实归 LuckPerms 注册,再抓取五秒内的控制台日志,因此可以返回异步生成的编辑器链接。 · 代理到子服的日志捕获设置会随已认证请求传递;旧版 commands.yml 中的 lp editor 无需新增字段也能自动识别。 稳定性与安全性 · 强化代理与子服之间的认证、回包来源校验、超时取消和命令输出隔离。 · 限制数据库、背包快照、头像处理和远程命令相关队列及缓存,避免异常流量造成无界资源占用。 · 改进运行时重载和 Console Listener 重载的失败回退,旧运行实例会在新实例初始化成功前继续保留。 代理与 Bukkit 子服部署需要一起更新到 1.0.8,并在文件替换完成后手动重启各端。
    36 downloads
  6. 1.0.7Aug 23, 2026
    27 downloads

Similar projects

Plugin →