TK Manager
This is a basic automated team kill/wound manager. It does not use any forgive menus or input from players, it just uses a point system to detect intentional team killers. Players can gain points for team kills and team wounds, and lose points for enemy kills. When the player reaches the limit, it either kicks or bans the player depending on configuration.
The plugin also stores use data in a sqlite database so players can't just reconnect to reset their points and avoid getting banned. It can also optionally store this info across map changes.
Based on a default installation:
4 consecutive TKs = kick
1 TK = +1 pt
3 TW = +1 pt
2 kills = -1 pt
12 pt = ban
Installation
- Copy tkmanager.smx to sourcemod/plugins
- Copy tkmanager.phrases.txt to sourcemod/translations
Console Variables
Code:
// Amount of time to ban if using sm_tk_punishtype 0 (0 = perm)
// -
// Default: "0"
// Minimum: "0.000000"
sm_tk_bantime "0"
// The named database config to use for storing TK points
// -
// Default: "storage-local"
sm_tk_db "storage-local"
// Mode of displaying Team Kills (0 = None, 1 = Show Admins, 2 = Show All)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "2.000000"
sm_tk_displaymode "0"
// Sets whether admins are immune to the TK manager
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tk_immunity "1"
// Number of TK points before kick/ban
// -
// Default: "12"
// Minimum: "0.000000"
sm_tk_maxpoints "12"
// Number of consecutive team kills before kick/ban (0 to disable)
// -
// Default: "4"
// Minimum: "0.000000"
sm_tk_maxtk "4"
// Amount of time to ban if using sm_tk_maxtk_punishtype 0 (0 = perm)
// -
// Default: "30"
// Minimum: "0.000000"
sm_tk_maxtk_bantime "30"
// Action to take after maximum consecutive team kills (0 = ban, 1 = kick)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tk_maxtk_punishtype "1"
// Number of real kills to subtract 1 TK point (0 to disable)
// -
// Default: "2"
// Minimum: "0.000000"
sm_tk_numkills "2"
// Number of team wounds to add 1 TK point (0 to disable team wound detection)
// -
// Default: "3"
// Minimum: "0.000000"
sm_tk_numtw "3"
// Save TK points across map change
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tk_persist "0"
// Action to take when sm_tk_maxpoints is reached (0 = ban, 1 = kick)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tk_punishtype "0"
Known Issues- Team wound detection does not work in Insurgency
Changelog- 1.0 - 10/31/2008
- 1.1 - 11/03/2008
- Changed database connection to use the standard named configuration method
- Fixed version cvar being added to tk_manager.cfg
- 1.2 - 11/28/2008
- 1.3 - 08/30/2009
- Added sm_tk_maxtk_punishtype and sm_tk_maxtk_bantime
- Added sm_tk_db to set which database configuration to use
- Changed immunity to be based on any admin access
- 1.4 - 08/31/2009
- Added check to avoid duplicate bans
- Changed some ConVar descriptions for clarity
- 1.5 - 09/22/2009
- Fixed late database connection
- 1.6 - 06/02/2010
- Converted to threaded queries
- 1.7 - 06/03/2010
- Fixed error on database connection
- 1.8 - 03/22/2011
- Added translation support
- 1.9 - 11/18/2013
- Added detection of NPC kills in NMRiH
- Added MySQL support
- 1.9.1 - 11/25/2013
- Fixed hooking npc_killed on the wrong games
- 1.10 - 11/26/2013
- Fixed race condition with database connection
- Fixed consecutive TK count not being reset when sm_tk_numkills = 0
- Optimized event binding
- 1.11 - 11/23/2016
- Fixed error when disabling team wound detection when the server is hibernating