Acfun Guard 使用说明 (以下简称 ACG)
官方更新网站: http://lolifun.net
AMXX 开发接口: http://lolifun.net/developing.html
BUG 报告: 发送邮件至 clester993@gmail.com 或 http://blog.lolifun.net/guestbook
请注意比对 MD5 码和扫描结果以确保文件没有被第三方修改
=====================================================
– (黑名单生成器)blacklistmaker.exe MD5: 8ee40b18c78951ad7d509961b36c65cf
– (白名单生成器)whitelistmaker.exe MD5: 5cc63fad47c5015ec6e9de77e23901e6
======================================================
安装: (hlds 4554, client 3266/3647/4554 测试通过)
==========================================================================
服务器:
根据压缩包内的目录结构覆盖至 addons\amxmodx 下
在 Amxmodx 的模块配置文件 (modules.ini) 添加一行, 写入 “acg” (不包括引号)
如果需要开启反作弊功能, 请编译 scripting\acg_anticheat.sma 并安装之
客户端:
安装客户端需要修改游戏主程序(hl.exe 或 cstrike.exe)
方法 1) ★推荐
直接用”玩家端”文件夹里的 cstrike.exe. 这个是已经修改好的文件.
如果这个修改好的 cstrike.exe 不能使用, 那么您只能自个儿动手尝试下面的方法了
方法 2)
运行游戏文件 (hl.exe 或 cstrike.exe) 后, 通过远线程调用 LoadLibrary 载入 acg.dll
方法 3)
修改游戏文件 (hl.exe 或 cstrike.exe) 的输入表, 加入导入信息 “模块名 acg.dll 函数名 Init”
提示: 您可以用 LordPE 等工具修改输入表.
功能:
===========================================================================
1) 根据每台计算机的硬件特征码封禁玩家
2) 截取玩家游戏画面传至 hlds 目录 (\screenshots 文件夹下)
3) 检查客服端的文件改动情况 (whitelistmaker.exe 生成白名单文件)
4) 监测非法的函数调用
5) 血量和后备弹药大于 255, 护甲大于 999 时可以正常显示. 金钱可大于 16000.
6) 屏蔽 “Alias” 命令
7) 中文聊天功能 (命令: say2team、say2all、rconsay、amxsay)
8) SV_ParseVoiceData 漏洞修复
9) 绘制自定义 SPR/TGA 图形
10) 绘制动态雷达 (需要地图的 overview)
11) 水面反射效果
12) …
更多特性请参考 http://lolifun.net/instr.html
Amxx 插件编写:
============================================================================
ACG 的服务端主程序为 acg_amxx.dll, 同时反作弊功能由 acg_anticheat.amxx 控制
该文件源代码开放, 文件位于 scripting\acg_anticheat.sma
您可以参阅 include\acg.inc, 该文件提供了 ACG 的全部功能接口及使用说明
如何与您制作的登陆器整合:
============================================================================
当您的登陆器启动游戏时, 可以将 acg.dll 和修改好的游戏文件同时释放至游戏目录
然后直接运行修改好的游戏文件, 当然别忘记加命令行 “-game cstrike”
在游戏成功启动之后, 你可以直接向游戏控制台发动命令, 实现自动连接到您的服务器等功能
示例代码 (C++):
HWND hWnd = FindWindow(TEXT(“ACG!”),0)
CHAR cmd[] = “connect myserver.com:27015” // 此命令便会在游戏控制台中执行
COPYDATASTRUCT cpd;
pd.dwData = 0;
cpd.cbData = strlen(cmd);
cpd.lpData = cmd;
SendMessage(hWnd,WM_COPYDATA,(DWORD)0x12,(LPARAM)&cpd);
这样一来, 游戏便会自动连接至 myserver.com:27015
注意, 为了确保是在游戏成功载入后连接, 您的登陆器需要在游戏启动后 Sleep 几秒后才执行上述代码
其他:
============================================================================
1) 由于客服端没有加载驱动来检测非法模块, 相比 sXe 等反作弊器, 在增强了稳定性和
兼容性的同时, 反作弊功能自然会受到一些抑制. 希望能得到大家谅解
2) 显示中文聊天框的控制台命令分别为 say2team、say2all、rconsay、amxsay
您可以通过执行 “bind” 命令将其替换原有的聊天命令
3) xp/win7/win8 测试通过, 其他系统未测试.
4) 重要: 客服端和服务端的通讯接口是随机的, 随机端口范围在 acg.cfg 中设置.
所以, 服务器若是在内网, 则必须映射上述端口至外网.
5) 运行 blacklistmaker.exe 后生成的 BlackList.acg 放在 HLDS 根目录下即可.
6) 如果启用了白名单功能 (即 HLDS 目录下有 WhiteList.acg), 客服端检查游戏目录下制定
的所有游戏文件 (可在 acg.cfg 中设置要检测的文件).
如果客服端发现游戏文件的效验值不在白名单内, 则判断玩家非法修改了游戏文件.
请务必注意添加各个版本的原始游戏文件至白名单.