开镜时把枪口漂移补掉,后坐、呼吸、摇摆全模拟鼠标移动补偿掉
名字取自枪口补偿器 它做的正是那个配件做的事:抵消枪口上跳 区别只在于补偿器改的是气流,这个改的是视角
不是外挂!不是外挂!不是外挂!
不是无后座力!不是无后座力!不是无后座力!
它在官服上无法存在 这条是重点
客户端 DLL 在编译期就依赖 BepInEx 与 SPT 的 spt-common 程序集 官服环境里没有这两个
BattlEye 也在注入层就拦掉 BepInEx
准确的说法不是「在官服上被禁用」,是在官服上无法存在
服务端 mod 不在,插件根本不启动
客户端在 BepInEx Awake 的第一行就向 SPT 服务端 POST /compensator/handshake
拿不到回应、或双方协议版本号对不上,直接 return:不绑配置、不建对象 不是「功能失效」,是根本没装上
不经 SPT 启动器直接双击游戏也一样——启动器不在,后端地址为空,握手必然失败 这不是额外写的判断,是同一条代码路径的自然结果
没有检测规避
没有拟人化随机、没有抖动伪装、没有任何反检测代码
不做内存读写,只走 BepInEx 的原生 mod 通道
插件 GUID 明写成 com.compensator,每一行日志都带 [COMP] 前缀
服务端 mod 只有一条路由
Compensator.Server 一共 140 行,全部内容就是那条握手
不改任何游戏数据
它做什么
每帧测量枪口方向相对视线的偏移,把变化量补掉
补的手段是替你拉鼠标——走游戏自己的视角接口,和你手动往下压是同一条路
后坐、呼吸、摇摆造成的漂移全部吃掉,游戏的归零角原样保留
只在开镜时生效,腰射不补
压枪开启
压枪关闭
菜单
一个旋钮,对所有枪同一个值
压枪力度 0 – 100 %,一个旋钮顶三个(补偿强度 / 基线时间常数 / 输出平滑)
补多少由每帧实测的枪口偏移决定,换枪 / 换配件 / 换弹药 / 单发改连发都不用调
封顶 100 %:真机振荡临界实测在强度 1.5,上半段的「压住了」是振荡的假象 封在 1.0 等于把那段直接删掉
100 % 还压不住的时候不要继续加力度 去日志里看 外部Δ、dt、枪口、钳 这四个量,答案在那里
高倍镜开镜不抖
SPT 的高倍镜开镜时会抖一下,这个功能治的就是那一下
2. 画面 → 0 高倍镜开镜不抖 勾上就行,默认是关的 1 物理步长(Hz) 默认已经是实测最好的 240,想省一点可以给 120 – 180
默认关的两条理由:它改的是 Time.fixedDeltaTime 这个全局设置(Fika 联机两端要一致),而「代价为零」那个实测是站定无战斗的安静场景,激战未测
你要是不抖,不勾就行 它与压枪互不依赖,各关各的
安装
需要 SPT 4.0.13 目前暂不支持 4.1
-
BepInEx文件夹丢进 SPT 根目录 -
Compensator.Server丢进 SPT 的user/mods/
两半必须一起装 服务端那半不在,客户端启动就自禁,什么都不会发生
装完先看 BepInEx 日志里有没有 [COMP] 闸门已通 那一行
配置
游戏里按 F12(BepInEx 配置管理器),全中文,这是本项目唯一的 UI:
1. 自动压枪 0 启用(默认开)· 1 压枪力度(%)
2. 画面 0 高倍镜开镜不抖(默认关)· 1 物理步长(Hz)
3. 诊断 0 诊断日志间隔(秒)
压枪默认是开的 装上进局就在补,不想要就去 F12 关掉它
改完立刻生效,不用重进局
隐藏内容需要回复可以看见












沙发
我了个自动压枪
666
对AI生效吗?