跳到主要内容

设置

ReChecker 通过 addons/rechecker/resources.ini(与插件文件同一目录)和一个控制台变量进行配置。

resources.ini 的格式​

每条规则占一行,包含路径、哈希(或关键字)以及命中时执行的命令,另可附加标志:

path to file hash "exec cmd" [FLAGS]
"../opengl32.dll" 3cc7f256 "kick [userid]"

哈希字段​

取值含义
十六进制哈希(例如 3cc7f256)匹配该具体哈希。4 个字节(8 个十六进制字符)即可,无需完整的 MD5。
UNKNOWN匹配同一路径下未被其他规则覆盖的任何哈希。
MISSING当客户端根本没有传输该文件时匹配。

标志​

标志作用
BREAK该规则命中后,不再对此客户端检查后续规则。
IGNORE把这个具体哈希加入白名单——不执行任何命令。

命令中的占位符​

可在 "exec cmd" 字符串中使用:

占位符取值
[name]客户端的昵称。
[ip]客户端的 IP 地址。
[id]客户端的索引。
[userid]客户端的 userid。
[steamid]客户端的 SteamID。
[file_name]被校验文件的路径。
[file_hash]客户端就该文件返回内容的哈希。
[file_md5hash]客户端就该文件返回内容的完整 MD5 哈希。

规则示例​

; Kick on a known bad file hash, stop checking further rules for this client
"../demoplayer.dll" ad6d0e43 "kick [userid] 'WallHack Detected'" BREAK

; Whitelist a known-good hash for the same path
"../demoplayer.dll" 7ef5b581 IGNORE

; Log (but don't kick) any hash of a file you're not tracking yet
"../demoplayer.dll" UNKNOWN "echo ' -> file: ([file_name]), md5hex: ([file_md5hash]) for ([name])'"

; Kick when a file is expected but missing
"../opengl32.dll" MISSING "kick [userid] 'OpenGL32 Missing'" BREAK

resources.ini 支持 UTF-8 BOM,以及以 ; 开头的注释行。建议以项目的 dist/resources.ini 模板为起点——其中已包含若干历史上已知作弊文件的特征——再由你自行扩充。

控制台变量​

CVar默认值说明
rch_log0日志详细程度。0 表示关闭日志;数值越大记录越详细。

日志​

启用 rch_log 后,ReChecker 会把按日分割的日志文件写入 addons/rechecker/logs/。