FAPB 是一个独立命名的 CS 1.6 Metamod Bot,核心来自 YAPB 2.55b。 枪法、瞄准系统、战术行为和经验系统完整保留;只重命名插件、命令、Cvar、 配置/航点路径和菜单文字,因此 FAPB 拥有完全独立的命令空间和菜单。
- 原汁原味的枪法:YAPB 2.55b 的 aim spring / damper / deviation 参数原样保留。
- 原汁原味的行为:战术、经验、武器选择、航点系统、聊天逻辑未改动。
- 独立命令:
fapb(兼容短命令fb)。 - 独立 Cvar:全部为
fb_*,不会与 YAPB 的yb_*冲突。 - 独立菜单:
fapb menu、fapb cmenu、fapb wp menu,菜单文字与标题均为 FAPB。 - 独立配置/航点:
addons/fapb/config/、addons/fapb/wptdefault/。 - 原生队伍管理数字菜单:
fapb menu→1,由 fapb.dll 直接弹出, 经典 1-0 数字界面;可选 T/CT 添加 Bot、随机踢出、全部踢出、指定 Bot 列表。 支持bind v "fapb menu",完全不需要 AMXX。 - 可与 YAPB / SYPB 共存安装:不覆盖对方文件,命令/Cvar 命名空间隔离。
运行层面同一时间只能启用一套 Bot 核心(FAPB、YAPB、SYPB 任选其一)。 原因见下方兼容性章节。
从 Releases 下载 FAPB_1.6.zip,解压后把 fapb 文件夹放到:
<游戏根目录>\cstrike\addons\fapb
编辑 <游戏根目录>\cstrike\addons\metamod\plugins.ini:
; 使用 FAPB 时注释掉 YAPB,避免两套 Bot 核心同时运行
; win32 addons/yapb/dlls/yapb.dll
win32 addons/fapb/dlls/fapb.dll确认 cstrike/liblist.gam 中:
gamedll "addons\metamod\dlls\metamod.dll"
启动游戏/服务器后,控制台执行:
meta list
fapb version
本仓库的 addon/ 不含完整航点数据(94 张地图的 .pwf 及配套文件,共 455 个,约 170 MB)。克隆后:
- 把
addon/复制为cstrike/addons/fapb/; - 从 Release 包或已有 YAPB 安装中复制
wptdefault/到cstrike/addons/fapb/wptdefault/; - 按上面的
plugins.ini配置加载。
也可以直接运行 addon/install_fapb.ps1(需要 PowerShell,脚本会备份 plugins.ini)。
fapb menu 打开 FAPB 主菜单(数字菜单,推荐)
fapb_menu 同上(fapb.cfg 中的别名)
fapb cmenu 打开 FAPB 控制菜单
fapb wp menu 航点主菜单
fapb help 显示全部命令
常用命令:
| 命令 | 作用 |
|---|---|
fapb add [skill] [team] [model] |
添加一个 Bot |
fapb addbot ... |
同上(兼容旧写法) |
fapb add_t / fapb add_ct |
添加 T / CT Bot |
fapb fill |
用 Bot 填满服务器 |
fapb kick / fapb kickall |
踢一个 / 全部 Bot |
fapb killbots |
杀死全部 Bot |
fapb list |
列出当前 Bot |
fapb weaponmode |
设置 Bot 武器模式 |
fapb version / fapb about |
版本 / 关于 |
fapb wp on / fapb wp off |
显示 / 隐藏航点 |
fapb path create |
创建路径 |
完整命令和 Cvar 列表见 docs/COMMANDS.md。
默认菜单口令在 fapb.cfg:
fb_password_key "_fbpw"
fb_password "thebot"
聊天框输入 _fbpw thebot 获取菜单权限,或直接用 rcon 执行 fapb menu。
fapb menu 由 fapb.dll 本身弹出经典 1-0 数字主菜单,不需要 AMXX。
主菜单第 1 项已经改为“队伍管理”:
FAPB 主菜单
1. 队伍管理 ← 进入队伍管理
2. 特性
3. 填充服务器
4. 结束本局
0. 退出
进入“队伍管理”后:
FAPB 队伍管理
1. 快速添加 Bot(随机队伍)
2. 添加 Bot(选择 T/CT) → 1 恐怖分子 / 2 反恐精英 / 5 自动
3. 随机踢出 1 个 Bot
4. 踢出全部 Bot
5. 踢出指定 Bot(列表)
0. 退出
绑定按键(客户端控制台执行一次):
bind v "fapb menu"
然后按 V → 1 进入队伍管理。fapb.cfg 中也已经写入同样的
bind "v" "fapb menu"。
菜单本身仍受 FAPB 口令保护:
fb_password_key "_fbpw"
fb_password "thebot"
聊天框输入 _fbpw thebot,或用 rcon 执行 fapb menu。
这是 fapb.dll 自带的原生菜单(只改了中文标签/快捷键),不是新写的 T/CT 仪表盘。新增独立 T/CT 子菜单需要重新编译 YAPB 源码。
| 项目 | FAPB | YAPB |
|---|---|---|
| 主命令 | fapb / fb |
yapb / yb |
| Cvar | fb_* |
yb_* |
| 菜单 | fapb menu / fapb cmenu |
yapb menu / yapb cmenu |
| 配置 | addons/fapb/config/ |
addons/yapb/config/ |
| 航点 | addons/fapb/wptdefault/ |
addons/yapb/wptdefault/ |
FAPB 读取 YAPB / PODBot 的 .pwf 航点格式,因此可以复用已有航点文件。
安装 FAPB 不会修改 YAPB 或 SYPB 的文件。
YAPB、SYPB、FAPB 都属于“Bot 核心”,都会接管 Bot 管理、引擎回调、
say / menuselect 等事件。同一时间只能启用一套 Bot 核心:
- 用 FAPB:注释
yapb.dll/sypb.dll,只留fapb.dll; - 用 YAPB:注释
fapb.dll,恢复yapb.dll; - 用 SYPB:注释
fapb.dll/yapb.dll,只留 SYPB。
同时加载两套 Bot 核心会出现重复 Bot、抢 Hook、菜单错乱甚至崩溃。 这不是 FAPB 特有现象,YAPB 与 SYPB 混用也一样。
如果游戏目录里的“YAPB 对战/训练模式”启动器会重写
plugins.ini, 启动后请检查是否又把yapb.dll启用了。
如果 hl.exe 崩溃且 Windows 事件日志显示模块为 fapb.dll,
错误偏移为 0x18173、异常代码 0xc0000005,通常不是菜单本身,
而是同时加载了多套 Bot 核心:
- YAPB / SYPB / PODBot / EBot / CSBot Enabler
- AMXX 的
amxmodx_mm.dll与amxmodx_bl_mm.dll同时加载
这会让 FAPB 的 Hook 链初始化不完整,运行时指针保持 NULL,按菜单时崩溃。 请只保留:
win32 addons/amxmodx/dlls/amxmodx_mm.dll
win32 addons/fapb/dlls/fapb.dllFAPB 1.6 的 install_fapb.ps1 会自动注释其他 Bot 核心和重复的
amxmodx_bl_mm.dll。详细说明见
docs/TROUBLESHOOTING.md。
环境:HLDS 1.1.2.5 (build 3262) + Metamod 1.19 + AMXX 1.8.1
meta list
[ 3] FAPB RUN - fapb.dll v2.55b ini Start Never
fapb version
Name: FAPB
Version: 2.55b (Build: 1966)
Builded by: YaPB Dev Team
[FAPB] Connecting FAPB... (Skill 95~100)
fapb menu 与 fapb help 均已在 HLDS 控制台验证。
addon/ 可直接安装的 FAPB 插件(不含 wptdefault)
dlls/fapb.dll 已重命名/重建的 32 位 Metamod 插件
config/ FAPB 配置(fb_* Cvar)
install_fapb.ps1 安装脚本
README_FAPB.txt 详细中文说明
BUILD_INFO.txt 版本与哈希
tools/ 二进制级构建工具与原始 YAPB 样本
artifacts/ 原始 yapb.dll、两份内存 dump、原始配置
make_dumpme.py 让 UPX 解包后跳过 DllMain
dump32.ps1 32 位 PowerShell 内存 dump
build_fapb.py 恢复重定位表、重命名、重建 PE
make_configs.py 生成 FAPB 配置
docs/COMMANDS.md 命令 / Cvar 参考
完整航点包在 Release 的 FAPB_1.6.zip 中。
yapb.zip 中只有 UPX 压缩后的 yapb.dll,没有源码。为了做到“保留原枪法、
瞄准和行为”,本项目采用二进制级 FAPB 化:
- 修改 UPX stub,让解包完成后跳过 DllMain;
- 分别在首选基址
0x10000000和阻塞该基址的情况下 dump 内存镜像; - 对比两份镜像,恢复 UPX 破坏掉的全部重定位地址;
- 只替换插件/命令/Cvar/路径字符串,重建 PE 和
.reloc; - 从原始 YAPB 配置生成
fb_*配置。
AI 代码、瞄准参数、行为逻辑均未修改。构建脚本见 tools/README.md。
原生队伍菜单使用 fapb.dll 内置的 fapb menu,只改了中文标签和
fapb.cfg 中的 V 键绑定,不需要 AMXX。
复现构建:
# 需要 Windows + Python 3 + 32 位 PowerShell
python tools/make_dumpme.py
%WINDIR%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -File tools\dump32.ps1 `
-Dll tools/artifacts/yapb_dumpme.dll -Out tools/artifacts/yapb_b1.bin -Block 0
%WINDIR%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -File tools\dump32.ps1 `
-Dll tools/artifacts/yapb_dumpme.dll -Out tools/artifacts/yapb_b2.bin -Block 1
python tools/build_fapb.py
python tools/make_configs.pybuild_fapb.py 输出的 DLL SHA256 应为:
606e7a6ab8793553847bcbf2d5665d29edea0b3529eaca537d7e76de7b6e3553
- 核心:YAPB 2.55b,作者 YaPB Dev Team,基于 PODBot 代码。 上游:https://github.com/yapb/yapb(Unlicense)。
- FAPB 只是非官方重命名/重打包版本,与 YAPB 官方无关。
- 本仓库中的脚本、文档和 FAPB 构建产物采用 Unlicense(公共领域)。 原始 YAPB 代码/二进制同样遵循其上游 Unlicense。
- 详细归属与变更说明见 NOTICE.md。
FAPB 按“现状”提供,不提供任何担保;使用前请备份
plugins.ini和服务器配置。