I wrote a simple script which logs both unknown/known binaries to a seperate log (I prefer seperating the data) and refuses connection to players using a specific cheat binary. This is currently done by specifying the binary in the script itself as I have only detected this one known binary on the server. If more are found, then these can be added to the script or alternatively a .cfg file for the binaries could be used. Note: script is unfinished here, only posting code incase it looks like it could be of any use to other people
function et_ClientBinary( clientNum, checksum)
local binary = checksum
local name = et.gentity_get(clientNum, "pers.netname")
local guid = et.gentity_get(clientNum, "sess.guid")
local timestamp = os.date("%Y-%m-%d %H:%M:%S")
local logLine = timestamp.. "Player: "..name.." silEnT GUID: "..guid.." Binary: "..binary.."\n"
et.G_LogPrint(logLine)
fd, len = et.trap_FS_FOpenFile("checksums.log", et.FS_APPEND)
et.trap_FS_Write(logLine, string.len(logLine), fd)
et.trap_FS_FCloseFile(fd)
if binary == "30d13c5e1339f3c80ad89ab4525564ab" then
et.trap_DropClient ( clientNum, "\^7You have been automatically banned for using a cheat program\n")
else return end
return 0
end
end
I also disabled g_ClientBinaries parameter 2 as the point was to seperate the binaries into a dedicated file instead of adding to an existing one.