由于EA在游戏中加入EAAC,导致无法使用原有的方式对服务器进行管理,也就意味着原有程序无法使用,而新的管理方式基本是通过API进行操作。在此背景下,考虑到原有屎山的代码,CAT团队在讨论后,决定对程序进行重构。
重构后的变化
1. 服务端采用了分布式的设计,所有的功能可以不集中于单个服务器中,也可以将相同功能部署在多个服务器中
2. 多服务器的数据交互,采用了中间件,即每个服务器都能本地部署数据库,通过中间件来保证各数据库之间的同步
3.结合以上两点,实现了服务器崩溃后的快速恢复,具有很强的容灾能力
4.客户端可在多平台上执行,不再仅限于桌面端
游戏加入EAAC之后的影响
经过测试,游戏画面已无法通过一般的手段进行获取,键鼠的模拟操作也无法直接操作。原有通过DLL注入的方式也已失效,虽然可以通过驱动进行加载,但由于EAAC一直在更新,也就意味着对应的注入文件也需要经常更新。考虑到这是一个完全免费的项目,团队无法对此进行长期维护,我们放弃了驱动加载的方式,采用类DMA的形式获取数据,也可以实现类似功能。
功能上的变化
功能上基本与老程序保持一致,但在使用上要求更高。原有DLL功能需要将游戏开在虚拟机内,并在主机上单独运行一个新的程序。因此,根据服主的实际情况会分为三类状态
1.仅运行客户端程序:通过API对服务器进行管理,获取的数据均通过API,因此获取的数据有限,无法实现复杂的功能
2.客户端程序+游戏:包含1中的功能外,增加了服务器喊话、自动进服、24小时开服功能
3.客户端程序+虚拟机内游戏+虚拟机外程序:包含1、2中的功能外,增加了武器禁用(包括一些修改武器的检测)、得分板等功能
更新日志
0.5.7.20250211
1.稳定版推送,已知bug修复
0.5.6.20250210
1.修复无群组服务器会使用缓存群组信息的bug
0.5.5.20250209
1.新增了游戏内消息轮播功能
2.新增了踢出卡排队玩家功能
3.新增了游戏内玩家列表的显示
4.UI调整
0.5.4.20250208
1.QQBOT新增了lt指令,可在游戏中发言(开服账号须在游戏中)
2.修复程序在断开服务器之后无法重连的bug
0.5.3.20250207
1.新增了群组管理界面,可以看到本地名单的状态
2.新增了针对双伤服数据监测阈值功能
3.微调了lb 0的排版
0.5.2.20250206
1.cx功能下新增救人数,对异常武器数据进行重新排版
2.增加自动重连
3.修复已知的bug
0.5.1.20250131
1.修复武器数据API出错时重复请求的bug
0.5.0.20250126
1.新增部分脚本代码,仅作为测试用
2.新增lb=0指令,可以查询在线的机器人服务器列表
3.UI调整
4.调整了API部分的逻辑
0.4.4.20250120
1.该版本已转入至稳定版
2.程序多开步骤:下载解压0.2.4版本文件→勾选设置内虚拟机选项→重启程序→按正常流程完成验证→更新程序至最新版本→将“catclient.exe”重命名成其它任意名称→社区商店下载更新catupdate插件
0.4.3.20250119
1.社区新增插件下载功能,若有多开程序需求的,商店内下载更新catupdate
2.优化暖服期间会因为等级原因导致被踢出房间的问题
3.优化程序多开的逻辑
0.4.2.20250118
1.QQBOT新增识别符号功能,用于多服务器区分管理
2.QQBOT新增lb 1指令,可查询房间内玩家大致情况
3.修复QQBOT进群引导语设置读取的bug
4.新增了程序多开逻辑,可在“设置”“主程序设置”中查看
0.4.1.20250118
1.QQBOT新增sethladmin指令,高级管理员设置,具体见help
2.QQBOT新增jt指令,可以截取远程电脑桌面、获取程序日志
3.QQBOT新增了玩家进群的引导语
4.设置中新增服务器规则模块,现已支持等级限制(适用于1-200),服务器规则仅适用于完整版
5.现已支持指定区域建服
0.4.0.20250118
1.QQBOT新增sethladmin指令,高级管理员设置,具体见help
2.QQBOT新增jt指令,可以截取远程电脑桌面、获取程序日志
3.QQBOT新增了玩家进群的引导语
4.设置中新增服务器规则模块,现已支持等级限制(适用于1-200),服务器规则仅适用于完整版
5.现已支持指定区域建服
0.3.8.20250117
1.本系列的最终版本,可根据自身情况转入到切换到稳定版本使用
2.优化hmd指令,若房间内存在对应玩家会直接执行屏蔽
0.3.7.20250117
1.QQBOT新增start close指令,可以开启或关闭服务器,具体见help3(第一次使用时需要重新设置服务器名称)
2.增加对解包武器的检测
3.增加了重连服务器的逻辑
4.修复qun指令逻辑错误的bug
0.3.6.20250115
1.现本地白名单已可以使用
2.QQBOT新增token,可更新服务器Token,具体见help3
0.3.5.20250115
1.所有已知bug修复
2.QQBOT新增指令version
0.3.4.20250115
1.现已支持服务器内玩家武器数据检查
2.主界面UI调整
0.3.3.20250114
1.修复因缺少插件导致部分功能失效的bug
2. 新增部分日志内容
0.3.2.20250114
1.本地名单现已生效
0.3.1.20250114
1.新增了群组本地名单功能,具体见help,该版本中的本地名单并不会生效,仅作为测试
2.修复一个SQLite组件错误的bug,更新后重新下载组件即可完成修复
0.3.0.20250110
1.新增社区功能,当前仅为一些基础组件用于测试
0.2.4.20250107
1.新增了对虚拟机克隆系统的验证,若有使用虚拟机克隆系统导致无法通过验证,可勾选该功能
2.QQBOT新增kick指令,玩家踢出
0.2.3.20250106
1.QQBOT增加了setadmin指令
2.增加了sban指令
3.原有ban指令只能针对房间内玩家使用,且ban指令增加了模糊匹配
0.2.2.20250105
1.修复部分指令没有权限限制的bug
2.修复unban指令无法使用的bug
0.2.1.20250105
1.ban指令现可以添加原因了
2.增加了unban指令
0.2.0.20250105
1.QQBOT新增服务器屏蔽玩家指令(ban)
0.1.5.20250103
1.对程序运行数量进行了限制,避免出现不可预测的bug
0.1.4.20250102
1.QQBOT已可以对其它群进行加群审核,审核逻辑和主群一致,若其它群不需要加群审核,只需要取消QQBOT的管理员即可
2.修复了BFBAN API报错后,加群审核判定逻辑出错的BUG
3.玩家信息查询后的异常数据已正式接入使用
4.QQBOT的qun指令新增直接输入内容进行拒绝
5.修复加群审核时使用错误的ID会报网络错误的BUG
0.1.3.20241231
1.完善了加群审核的所有逻辑,增加了QQ号绑定验证确认
2.增加了qun指令,可以快速同意或拒绝加群,具体可见help
0.1.2.20241230
1.QQBOT新增加群审核功能,该功能处于测试阶段,部分判断逻辑偏向保守,后续会根据测试情况进行调整,测试期间仅允许主群使用
0.1.1.20241225
1.UI调整
2.cx功能增加了最新的武器异常判定
3.增加get=0查询服务器信息指令
0.1.0.20241224
1.增加服务器信息获取功能
0.0.9.20241217
1.BFBAN状态描述调整
2.playercheck中增加了解包武器的击杀总数
0.0.8.20241216
1.版本策略已区分为稳定版和抢先体验版
2.增加更新策略
0.0.7.20241214
1.QQ机器人增加超级管理员和回复冷却功能
2.超级管理员增加setgroup功能,可以开启关闭其他群的查询功能
3.增加help=0指令,可以查询可使用的指令
0.0.6.20241212
1.修复QQ机器人图片文件字体会因显示缩放变化而变化
2.修复cx中机器人数据库状态结果错误的bug
3.可在set.ini文件中qqbot节下手动添加othergroup赋值对应群号即可对其他群提供功能
0.0.5.20241212
1.QQ机器人cx功能已可查询成就信息
2.QQ机器人增加了pb功能,可查询对应玩家屏蔽信息
3.增加了自动连接服务器和自动启用QQ机器人的功能
0.0.4.20241212
1.修复QQ机器人无法运行的bug
0.0.3.20241211
1.QQ机器人基础功能上线,测试期间可用指令cx
2.已知bug修复
0.0.2.20241210
1.将控制台指令改为可视化操作
2.增加心跳包
3.修复playerinfo中的bug