Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google Log In with Steam Sign In
  • Create Account
Photo

et_ClientBinary

- - - - -

  • Please log in to reply
5 replies to this topic

#1
OFFLINE   Geo

Geo

    Regular Member

  • Members
  • PipPipPip
  • 70 posts
12
A step in the right direction
  • LocationUnited Kingdom

I have a script to record binaries in a seperate log (simpler and easier to use the data for me) but I was wondering whether I can specify between known cheat binaries and unknown client binaries. I was thinking perhaps disallowing players with a cheat binary whilst allowing players with an unknown binary to play (then speccing/checking them). 

 

I know there are the g_ClientBinaries parameters (1) but I assumed this is going to kick all unknown binaries, which I don't want as i'm certain some players use custom ET builds and I don't want to kick these without any valid reason.

 

 

 

Parameters:

1 Don't allow players with unknown client executables.
2 Log unknown executables to the g_cheatLog. Note, if the server does not allow unknown client binaries the log message will be different for message.
4 Report unknown executables to admin chat. Note, if the server does not allow unknown client binaries the players will not be reported to admin chat.

 

 

 

So, is it possible to differentiate between known and unknown binaries? Such as et_ClientBinary( clientNum, checksum, type) where type would be 'known' or 'unknown' for example. Then in my script I can specify actions for players with a cheat binary and ignore those without.

 

 

 

Called when a player connects with an unrecognized client executable. Also called if the player connects with a known cheat binary.

Syntax

et_ClientBinary( clientNum, checksum )
  • clientNum is the slot number of the player
  • checksum is the 32 character MD5 checksum of the client executable (ET.exe)

Edited by Arcane, 11 May 2013 - 06:12 PM.


#2
OFFLINE   Geo

Geo

    Regular Member

  • Members
  • PipPipPip
  • 70 posts
12
A step in the right direction
  • LocationUnited Kingdom

EDIT: found a solution to this problem!



#3
OFFLINE   Dragonji

Dragonji

    Advanced Member

  • Members
  • PipPipPipPip
  • 514 posts
142
On the road to fame
  • LocationPoland
Could you tell us how did you solve the problem? :rolleyes:

Edited by Dragonji, 14 May 2013 - 02:37 PM.


#4
OFFLINE   Petbark

Petbark

    Advanced Member

  • Members
  • PipPipPipPip
  • 185 posts
30
Getting Better

Is this something you would share with us as it could be a useful tool for others to use?



#5
OFFLINE   Geo

Geo

    Regular Member

  • Members
  • PipPipPip
  • 70 posts
12
A step in the right direction
  • LocationUnited Kingdom

Sure i'll share what i am using, it would need further testing but i'll create a workable version later and post it



#6
OFFLINE   Geo

Geo

    Regular Member

  • Members
  • PipPipPip
  • 70 posts
12
A step in the right direction
  • LocationUnited Kingdom

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.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users