View Single Post
Plugin Info:     Modification:          Category:          Approver:   Hawk552 (427)
Crazed
Member
Join Date: Oct 2006
Old 10-21-2006 , 06:04   Client Checker (1.0.1) [Update 02-25-2007] SQL Support
Reply With Quote #1

What does it do?

It can check client rates
It can check client CVARS which can be configured in a config file
It can show a (dis)connect message from clients (possibility to show from which country the player connects)
It can kick players with high ping (Used / Modified the HPK code)

CVARS:
  • cc_connectmsg - Shows who is (dis)connecting
  • cc_showgeoip - Shows connecting player country
  • cc_ratecheck - Check client rates
  • cc_cvarcheck - Check client cvars (using the config file)
  • cc_pingcheck - High ping kick
  • cc_writelog - Write invalid client settings and Admin actions to a log file
  • cc_chkdelay - Delay between checks in seconds
  • cc_maxping - Maximum allowed ping
  • cc_maxpingwarns - Ping check cycles before kick
  • cc_minupdaterate - Minimum allowed cl_updaterate
  • cc_mincmdrate - Minimum allowed cl_cmdrate
  • cc_minrate - Minimum allowed rate
  • cc_messagetype - Show message about invalid settings to:
    • 0 = Nobody
    • 1 = AMX Admins
    • 2 = Checked Player + AMX Admins
    • 3 = All players
  • cc_agreemenu - This will show the agreement menu
  • cc_agreetimeout - How long the client has to accept
  • cc_maxitems - This is to set how many cvars will be checked in one check cycle
  • cc_writecfg - Write changes to the client checker config file
  • cc_maxinvalid - Maximum allowed invalid changes of settings from a client before they will be kicked
  • cc_showinfo - Show info about client checker in client console
  • cc_sqlhost - SQL server hostname(:port)
  • cc_sqluser - SQL username
  • cc_sqlpass - SQL password
  • cc_sqldbname - Database to be used (default: ClientChecker)
  • cc_daystosave - How long the agreement of a client should be saved
CVAR Check Config:

cvar {
max_value - Use this for numeric values only
min_value - Use this for numeric values only

set_value - Value that will replace the invalid value (when using '*' as value it will set to the avg of the min and max value)

equal_to - Value can not be equal to this, if it is change it to the set_value
!equal_to - Value must be equal to this, if not change it to the set_value
contains - Value contains this. Change value to set_value (use comma to use spererate values)
!contains - Value does not contain this. Change value to set_value (use comma to use spererate values)
regex - Use a regex pattern (http://www.troubleshooters.com/codec...rl/perlreg.htm
}

Examples:

gl_polyoffset {
max_value 4
set_value 4
}

max_smokepuffs {
min_value 120
set_value 120
}

name {
contains fuck,shit,cunt
set_value BANNED_NAME
}


SQL:
The sql.txt file contains the database structure. The SQL stuff currently only saves the steamids in the database.


Requirements:
This plugin requires amxmodx 1.7 or later to work!

Change log:
1.0.1:
- Changed the CVAR checker config (it will still read its old config)
- Agree save is now using nvault to store steamid's. And it will remove entries older than 14 days by default (only if the SQL version is not used).
1.0.0:
- Added SQL support
0.0.9:
- Bugfix: Always showing agreement menu even while steamid was in saved list!
- Did some optimization 0.0.8 Optimized:
- Optimized the code
- Added option to show the info in console when client joins the server (cc_showinfo)
0.0.8:
- Bugfix: now using get_players instead of get_playersnum so all messages should be working now.
0.0.7:
- Changed the maximum save value to 512 (this is defined in the source code and can be changed to use a low or higher number)
- Added quick cvar check when a client joins the server.
- Added option to auto kick clients that keep changing there settings to an invalid value. (The number of invalid changes can be set in the config. And will only start after the first check).
- Added option to automaticly write admin changes to the config file.
0.0.6:
- Added option to show a agreement menu before the client checker starts. If the user doesnt agree he/she will be removed from the server.
- Added option to keep a little save file of the users who agreed (up to 64 records)
- Added a limit to maximum cvar checks in one check cycle. This is to prevent flooding with big cvar check lists. The maximum items to check can be set with "cc_maxitems".
0.0.5:
- Small bug fix with geoip when a bot joins the server. Also added some code to check if the country isnt matching error.
0.0.4:
- Fixed the cc_showgeoip cvar (it did not check if it was en/dis-abled)
- Added messages for High ping kick
- Added pcvars to make it faster
0.0.3:
- Fixed bug in Cvar checker
- Code revision (cleaned up some of the mess)
0.0.2: Public version
0.0.1: Private test version

Old versions:
The old versions can be found here:
http://crazed.swamo.com/ClientChecker

If you download this plugin please leave some feedback!

Note: The zip file includes the config files and this page as readme!
Attached Files
File Type: sma Get Plugin or Get Source (ClientChecker.sma - 13601 views - 34.3 KB)
File Type: sma Get Plugin or Get Source (ClientChecker_SQL.sma - 7276 views - 34.3 KB)
File Type: txt sql.txt (487 Bytes, 5431 views)
File Type: zip ClientChecker.zip (66.2 KB, 12167 views)

Last edited by Crazed; 05-17-2007 at 04:44. Reason: Optimized code
Crazed is offline