Skip to content

Releases: baozha2023/bz-games

v3.4.2

Choose a tag to compare

@baozha2023 baozha2023 released this 26 Aug 06:20

终止旧版自动更新并提供安全数据迁移桥接

  • 将 v3.4.2 定位为最后一个可由旧版 NSIS 自动更新机制安装的版本

  • 删除 UpdateService、更新 IPC、preload 更新接口、更新状态类型、更新弹窗及启动检查逻辑

  • 移除 electron-updater 运行时依赖和对应测试,清理废弃更新设置字段

  • 保留 electron-builder NSIS 构建、latest.yml、blockmap 和旧版更新前快照恢复能力

  • 将设置页“检查更新”替换为始终可访问的“更新说明”

  • 首次启动 v3.4.2 自动展示迁移公告,仅在主动关闭或成功导出后记录确认版本

  • 公告明确说明后续版本需从官网重新下载,并提示先导出、成功导入后再手动卸载旧客户端

  • 明确导出不会删除、移动或修改 config.json、games 和 db 源数据

  • 导出成功后隐藏进度条,保留完成提示及备份文件路径

  • 新增独立 MigrationExportService 和 MigrationActivityGuard

  • 新增 migration:export、migration:cancel、migration:get-status、migration:acknowledge-notice 和 migration:event 接口

  • 使用共享类型统一迁移状态、错误码、进度事件和公告版本

  • 限制同一时间只能存在一个迁移导出请求

  • 活动游戏、市场下载/安装或手动游戏导入存在时拒绝导出

  • 导出期间阻止新的游戏启动、市场安装和游戏导入任务

  • 只导出程序目录下的 config.json、games/ 和 db/,不复制外部游戏库

  • 定义 .bzgames v1 格式,使用无压缩 7z 容器降低大型游戏迁移开销

  • 固定归档根目录为 migration-manifest.json、config.json、games/ 和 db/

  • games/ 缺失时生成空目录,保持迁移格式契约稳定

  • config.json、db/ 或 db/bz_games.db 缺失及类型异常时拒绝导出

  • 拒绝符号链接、目录联接、重解析路径和特殊文件

  • 通过 realpath 阻止外部目录联接回程序目录的目标路径绕过

  • 禁止将备份保存到程序根目录及其子目录

  • 拒绝覆盖目录、符号链接等非普通目标文件

  • 分别检查目标盘和临时盘空间,同卷时按归档及 SQLite 快照合计空间校验

  • 新增 SQLite 排队维护窗口,导出前关闭数据库 worker 并包含最新 WAL 数据

  • 在成功、取消和异常路径中统一恢复 SQLite 服务

  • 先复制 config.json 和完整 db/ 到临时一致性快照,再读取程序目录 games/

  • 先生成同目录 .partial 文件,通过 7za CRC 整包测试后再原子替换正式文件

  • 替换失败时保留已有有效备份

  • 取消时等待 7za 子进程完全退出后清理临时文件,避免文件句柄和清理竞态

  • 失败和取消只删除临时快照及未完成文件,绝不删除源数据或已有有效备份

  • 收紧迁移 IPC 错误输出,不向渲染进程暴露内部异常及源文件绝对路径

  • 新增固定、可重复生成的 .bzgames v1 测试样本及 SHA-256 校验

  • 验证归档 CRC、根目录白名单、清单字段、文件数量、字节数量和 SQLite 完整性

  • 增加空游戏目录、中文路径、链接拒绝、目标路径安全、空间不足、重复导出、任务互斥、取消清理及原子覆盖测试

v3.4.1

Choose a tag to compare

@baozha2023 baozha2023 released this 26 Aug 02:33

完善论坛引用体系、反馈分页与平台运维闭环

  • 建立统一论坛引用协议,支持 /game、/version、/market、/post、/page 五类斜杠指令,并统一纯文本解析、序列化、编辑器文档模型和正文展示模型
  • 重构论坛编辑器的候选选择、光标恢复、引用替换与无损序列化,增加帖子选择器、页面注册表、指令状态机及完整组件测试
  • 新增帖子引用批量解析接口,限制单批数量并区分正常、已删除和不存在状态;引用解析独立于 Elasticsearch
  • 统一论坛作者身份展示,在帖子列表、详情、评论及管理端同时展示昵称和经过校验的 GitHub 登录名
  • 完善论坛作者删除、管理员软删除和超级管理员恢复流程,保持评论计数、删除审计及 Elasticsearch outbox 的事务一致性
  • 收紧论坛图片管线,校验真实 MIME、扩展名、大小、尺寸、像素与下载响应,并按 SHA-256 拒绝同批及跨批重复图片
  • 将建言献策历史改为固定 10 条的键集游标分页和无限滚动,使用 user_id、created_at、id 复合索引支持稳定查询
  • 翻页失败时保留游标与 hasMore 状态,避免瞬时网络错误被误判为已经到底;旧版本地历史只在首屏加载前清理
  • 完善设置页论坛页面指令,确保云设置、建言献策、清理缓存和迁移游戏库深链首次进入即可执行
  • 扩充 Portal RBAC 能力边界,加入论坛查看、管理、恢复、托管容量和系统监控能力,并保持菜单、路由、按钮和服务端鉴权一致
  • 新增玩家欢迎页、直接留言、论坛管理、服务器系统监控、在线状态及昵称展示
  • 论坛管理详情支持全部评论的游标分页、请求竞态隔离、能力门禁和删除后的权威状态刷新
  • 收紧游戏托管 Manifest 入口字段:Web 入口仅使用 windowedFullscreen,Native 入口仅使用 args/env
  • 限制游戏图标和封面只能上传到唯一版本,托管容量仅向对应超级管理员能力开放,并补充资源下载及剪贴板降级
  • 统一桌面版本原子发布器和发布锁;GitHub Actions 保留同版本幂等语义,管理 API 将同版本不同文件映射为 409 冲突
  • 将官方中继单房间客户端上限从 8 调整为 10,并增加边界测试
  • 移除文言文语言包和对应 README,保留简体中文、繁体中文、英语、日语和德语
  • 增加论坛引用、编辑器、图片去重、Manifest、反馈游标、房间容量、发布流程和 Relay 端到端测试

v3.4.0

Choose a tag to compare

@baozha2023 baozha2023 released this 23 Aug 12:18

上线论坛社区闭环并收紧平台能力边界

  • 新增论坛客户端完整功能:

    • 论坛轻量信息流、搜索、游标分页与无限滚动
    • 帖子详情、图片展示、点赞、评论和作者删除
    • 富文本编辑器、游戏市场提及候选与安全序列化
    • 主进程管理图片选择、预览、释放和 multipart 上传
    • 新增完整论坛 IPC、preload API 与共享类型定义
  • 完善 Relay 论坛服务:

    • MySQL 新增帖子、评论、点赞、图片索引、搜索 outbox 数据模型
    • MongoDB GridFS 仅保存论坛图片对象
    • 支持帖子/评论软删除、作者权限校验、管理员删除和超级管理员恢复
    • 帖子删除时级联处理有效评论及评论计数
    • 点赞通过复合唯一键和事务计数更新保证幂等
    • 新增发帖和评论独立限流,并支持持久化、多实例共享和并发 reservation
  • 新增论坛搜索能力:

    • Elasticsearch 可选接入
    • 使用 search_after 游标和异步 outbox 同步
    • Elasticsearch 不可用时隐藏搜索,不影响最新帖子流、发帖和评论
    • 搜索仅索引服务端敏感词过滤后的标题和正文
  • 完善内容安全:

    • 客户端主进程与服务端双重校验图片 MIME、扩展名、文件大小、尺寸和像素数
    • 服务端限制 multipart 请求、字段、文件数量和单文件大小
    • 收紧敏感词词库为高置信分类,避免过度误伤正常内容
    • 请求凭据注入改为严格 URL origin/path 边界校验,防止相似域名 Token 泄漏

v.3.3.1

Choose a tag to compare

@baozha2023 baozha2023 released this 22 Aug 16:56

收紧更新快照与完善个性化资源

  • 修复默认游戏库目录不存在时更新失败的问题
  • 更新快照仅在游戏库根目录缺失时创建空目录
  • 避免复制过程中出现文件异常时误生成空快照
  • 增加更新快照缺失游戏库目录的回归测试
  • 收紧 electron-builder 资源打包范围
  • 优化头像框内容边距与资源体积
  • 移除未使用的头像框 rarity 字段
  • 新增星港跃迁、霓虹街机、BZ-Games 一周年游戏卡牌
  • 补充游戏卡牌资源完整性测试

v3.3.0

Choose a tag to compare

@baozha2023 baozha2023 released this 22 Aug 11:15

完善游戏体验与平台基础能力

游戏运行状态统一

  • 新增跨平台 ProcessTreeService,支持 Windows、macOS、Linux 进程树查询
  • 统一原生游戏与 Web 游戏的运行状态管理
  • 原生游戏跟踪入口进程、子进程及进程树
  • Web 游戏跟踪 BrowserWindow 和渲染进程
  • 增加窗口关闭、渲染进程崩溃、进程树结束等状态处理
  • 停止游戏时支持结束完整进程树
  • 新增 GAME_GET_RUNNING_IDS 运行状态快照接口
  • 页面刷新后可恢复游戏运行状态
  • 保留现有启动、结束、房间重连和 5 秒结束缓冲逻辑

游戏卡片个性化

  • 新增游戏卡片商品系统和解锁条件模型
  • 新增三款游戏卡片主题:
    • Jade Glow
    • Spring Kite
    • Spring Fortune 2027
  • 支持使用 BZ 币、连续签到和累计游戏时长等条件解锁卡片
  • 支持查看卡片解锁进度
  • 支持装备和取消装备游戏卡片主题
  • 新增正方形和宽版卡片素材
  • 新增 GameCardBase、GameCardFrame、GameIconCard 等卡片组件
  • 游戏库、游戏卡片、个性化页面统一支持卡片主题展示
  • 支持卡片主题预览和卡片素材按需加载
  • 新增卡片商品 IPC、预加载接口及渲染层类型定义
  • 增加游戏卡片商品和素材完整性测试

个性化与头像框

  • 完善头像、头像框和游戏卡片个性化管理
  • 支持头像框素材加载、预览、装备和取消装备
  • 增加头像框内容内缩配置,改善不同素材的视觉适配
  • 补充个性化页面多语言文案和状态展示
  • 统一本地商城、个人资料和游戏卡片的个性化数据结构

更新提示

  • 抽取通用 UpdatePrompt 更新提示组件
  • 支持启动时检查更新和手动检查更新
  • 支持忽略指定版本
  • 支持设置中跳过启动时更新检查
  • 优化更新提示状态管理及多语言文案

云同步、在线状态与用户资料

  • 增加用户昵称同步与资料接口
  • 增加用户在线状态和最后在线时间记录
  • CloudSyncService 增加定时心跳机制
  • 增加在线状态开关和同步异常处理
  • 增加服务端在线用户统计
  • 完善本地与云端用户资料同步
  • 增加云端平台快照的原子化同步处理
  • 兼容旧版本用户数据,自动补齐新增字段

游戏数据与启动体验

  • 完善游戏启动、导入、版本和本地存储逻辑
  • 优化游戏启动反馈和导入流程
  • 扩展游戏游玩记录的日期和累计时长处理
  • 完善 Web 游戏窗口启动和关闭管理
  • 优化游戏删除、卸载和运行中限制
  • 保留现有游戏库、详情页、房间、托盘菜单的运行状态行为

中继服务与数据模型

  • 增加用户昵称、在线状态和最后在线时间字段
  • 新增用户资料服务和在线状态服务
  • 增加用户资料、在线状态相关 API
  • 完善 MySQL 数据模型、服务端测试和接口文档
  • 增加云端数据模型、部署说明和数据结构文档

v3.2.3

Choose a tag to compare

@baozha2023 baozha2023 released this 21 Aug 07:28

异步导入、Web 窗口启动与反馈历史服务化

  • 新增主进程统一管理的异步游戏导入任务系统

    • 支持最多两个任务并行执行
    • 支持扫描、复制进度、取消、重试和中断恢复
    • 使用 staging 目录和原子重命名,避免不完整安装
    • 增加任务持久化及应用重启后的状态恢复
    • 增加符号链接防护、路径边界校验和取消控制
    • 新增导入任务遮罩、进度展示和占位卡片
  • 新增 Web 游戏 windowedFullscreen 配置

    • 仅 serve、url、.html、.htm 入口支持
    • 启动时以 1280×720 创建隐藏窗口
    • 配置为 true 时启动前自动最大化
    • 用户仍可还原窗口并恢复 1280×720
    • 保持标题栏、边框和可调整大小能力
  • 重构反馈历史记录

    • 新增 GET /api/v1/feedback 服务端历史查询接口
    • 历史记录按当前登录账号查询并校验数据归属
    • 客户端不再持久化反馈历史
    • 打开历史记录时自动清理旧版 config.json 中的 feedbackHistory
    • 增加历史列表加载骨架
    • 移除匿名用户 IP 限流逻辑
    • 保留登录用户反馈冷却机制
  • 完善市场和 Manifest 数据链路

    • 共享 Schema、Relay 服务、市场安装和客户端启动逻辑统一校验
    • 保持 Native args/env 原样传递
    • 保持 Web 与 Native 字段边界
    • 增加相关接口和兼容性测试
  • 完善客户端体验和安全性

    • 增加导入状态、默认素材、社交占位页等界面能力
    • 游戏目录扫描跳过符号链接
    • 导入重试增加并发状态复核
    • 保持游戏生命周期、卸载清理和云同步逻辑不变
  • 完善发布服务

    • 发布文件采用原子切换
    • 统一发布文件属主、属组和权限
    • 保持下载校验、限速和版本发布流程

v3.2.2

Choose a tag to compare

@baozha2023 baozha2023 released this 20 Aug 09:42

收紧在线权限并完善客户端体验与运维能力

  • 建言献策改为仅登录用户可用,完善玩家反馈管理与三端接口契约
  • 新增管理端欢迎页、系统监控、托管容量权限和超级管理员降版发布
  • 优化更新快照、开发环境 GitHub OAuth 回跳和下载悬浮球稳定性
  • 增加游戏安装来源追踪,兼容旧客户端数据库自动升级
  • 合并游戏统计与成就为游戏生涯,优化搜索、响应式网格和 BZ 币入口
  • 修复快照恢复顺序与安装失败保护,收紧冗余兼容逻辑
  • 更新项目规范、路线图、部署文档及依赖安全锁定

v3.2.1

Choose a tag to compare

@baozha2023 baozha2023 released this 11 Aug 05:40

重构管理端 RBAC,完善平台发布、市场与个性化体验

  • 新增超级管理员角色和服务端集中式 capability 授权
  • 严格分离管理端 Cookie Session 与桌面端 Bearer Session
  • 支持超级管理员调整用户角色,收紧四角色管理权限
  • 新增桌面客户端版本上传、原子发布与公开断点下载
  • 重构游戏市场目录请求、来源切换、缓存与校验流程
  • 完善创作者投稿审核和游戏托管管理界面
  • 新增头像框与昵称特效并强化异常数据归一化
  • 同步更新 API、数据模型、部署与安全配置文档
  • 补充 RBAC、版本发布、市场、头像框和存储测试

v3.2.0

Choose a tag to compare

@baozha2023 baozha2023 released this 09 Aug 05:13

上线创作者中心与官方游戏托管,完善市场资源与重装数据恢复

  • 引入数据库 RBAC,统一创作者、管理员权限与用户管理
  • 新增游戏投稿、版本维护、审核发布及托管资源服务
  • 打通桌面市场逻辑地址、Relay 鉴权下载和图片加载
  • 保留卸载重装后的游玩记录、成就与统计派生数据
  • 完善接口文档、部署配置、安全边界和自动化测试
  • 升级 Electron、Vite 及相关依赖

v3.1.3

Choose a tag to compare

@baozha2023 baozha2023 released this 02 Aug 03:37

收紧联机切房与云端会话,完善反馈闭环

  • 修复开房状态加入他人房间的 own_room 判断和安全关闭流程
  • 修复反馈记录会因为保存设置而消失的bug
  • 云端登录改为事件驱动的被动失效处理,统一会话错误协议
  • 重构建言献策历史详情,新增管理员回复及安全图片处理
  • 统一客户端、服务端和管理端反馈与云同步接口
  • 统一反馈和聊天图片预览体验