Tired of cheaters ruining your server? This plugin turns the tables by making their lives miserable with clever server-side tricks. It's inspired by the golden days of my community-driven Counter-Strike:Source server, where admin justice came with a side of entertainment. Whenever a cheater was spotted (wallhacking, spinbots, suspiciously perfect headshots), a little chaos was unleashed on their side only. They'd eventually rage quit or confess, and everyone else had a laugh.
Special thanks to ScriptKid from whom I got the idea years ago initially. You did something really funny and back then that made me laugh so hard. Now, I've brought this concept into CS2!
Best part? It works out of the box with zero configuration needed. But if you want to fine-tune the chaos, all settings are fully customizable.
- Announce Position — Cheater announces his position in the chat
- Crouch Jump — Pushed back when crouching mid-air to make crouch-jumps harder
- Damage Control - Cheater is dealing less damage than normal
- Door Gate — Doors lock shut automatically and are not easy to open
- Grenade Backfire — Grenades damage the cheater
- Heavy Knife — Short time slower movement when equipping knife
- Impossible Bomb Plant — Bomb plants fail silently
- Invisible Enemies — Do not transfer enemy player data to the cheater (where there is no data, there is no ability for a wallhack)
- Player Glow — Everybody gets a wallhack to see the cheater
- Random Sounds — Plays random weapon and grenade sounds every now and then
- Visible On Radar — Always visible on minimap
- Download and extract the latest release from the GitHub releases page.
- Move the "CheaterTroll" folder to the
/addons/counterstrikesharp/plugins/directory of your gameserver. - Restart the server.
Simply overwrite all plugin files and they will be reloaded automatically or just use the Update Manager itself for an easy automatic or manual update by using the um update CheaterTroll command.
Permission: @cheatertroll/admin
The cheater command is an interactive menu system to enable cheater punishments for individual players. You can run it from either the server console or client console:
- Type
cheater(without arguments) to list all players on the server, for actions simply prepend the command with the player index / value to change (e.g.,cheater 1) - Choose a player by typing the menu number next to their name
- Toggle features on/off using the numbers shown in the submenu
- Configure settings like distance limits or modes for each enabled feature
- Return to previous menu by selecting
cheater 0(Back)
Example command line:
> cheater
[Client] === Overview ===
[Client] 1. X kalle (765611XXXXXXXXXXX, 0.26 min online)
[Client] 0. Exit
>
> cheater 1
[Client] === Overview -> kalle (765611XXXXXXXXXXX) ===
[Client] 1. Enable Cheater
[Client] 0. Back
>
> cheater 1
[Client] ✓ Cheater enabled
[Client] === Overview -> kalle (765611XXXXXXXXXXX) ===
[Client] 1. Disable Cheater
[Client] 2. ✓ DoorGate
[Client] 3. ✓ DamageControl
[Client] 4. X PlayerGlow
[Client] 5. X GrenadeSelfDamage
[Client] 6. ✓ ImpossibleBombPlant
[Client] 7. X InvisibleEnemies
[Client] 8. X RandomPlayerSounds
[Client] 9. X VisibleOnRadar
[Client] 0. Back
>
> cheater 4
[Client] === Overview -> kalle (765611XXXXXXXXXXX) -> PlayerGlow ===
[Client] 1. Enable
[Client] 0. Back
>
> cheater 1
[Client] ✓ PlayerGlow enabled
[Client] === Overview -> kalle (765611XXXXXXXXXXX) -> PlayerGlow ===
[Client] 1. Disable
[Client] 0. Back
>
> cheater 0
[Client] === Overview -> kalle (765611XXXXXXXXXXX) ===
[Client] 1. Disable Cheater
[Client] 2. ✓ DoorGate
[Client] 3. ✓ DamageControl
[Client] 4. ✓ PlayerGlow
[Client] 5. X GrenadeSelfDamage
[Client] 6. ✓ ImpossibleBombPlant
[Client] 7. X InvisibleEnemies
[Client] 8. X RandomPlayerSounds
[Client] 9. X VisibleOnRadar
[Client] 0. Back
>
> cheater 0
[Client] === Overview ===
[Client] 1. ✓ kalle (765611XXXXXXXXXXX, 0.77 min online)
[Client] 0. ExitThis plugin automatically creates a readable JSON configuration file. This configuration file can be found in /addons/counterstrikesharp/configs/plugins/CheaterTroll/CheaterTroll.json.
{
"enabled": true,
"debug": false,
"global_config": {
"always_door_closed": {
"enabled": true,
"enabled_for_new_cheater": true,
"sound": "Saysound.Knock",
"speed": 60,
"delay": 0.1
},
"announce_position": {
"enabled": true,
"enabled_for_new_cheater": true
},
"crouch_jump": {
"enabled": true,
"enabled_for_new_cheater": true
},
"damage_control": {
"enabled": true,
"enabled_for_new_cheater": true
},
"glow": {
"enabled": true,
"enabled_for_new_cheater": false,
"color": "#ff00a2"
},
"grenade_self_damage": {
"enabled": true,
"enabled_for_new_cheater": false,
"flashbang_duration": 5
},
"heavy_knife": {
"enabled": true,
"enabled_for_new_cheater": true
},
"impossible_bomb_plant": {
"enabled": true,
"enabled_for_new_cheater": true
},
"invisible_enemies": {
"enabled": true,
"enabled_for_new_cheater": false,
"mode": "Full"
},
"random_player_sounds": {
"enabled": true,
"enabled_for_new_cheater": false,
"sounds": [
{
"name": "Weapon_Knife.Deploy",
"amount": 1,
"interval": 1
},
{
"name": "Weapon_Knife.Slash",
"amount": 1,
"interval": 1
},
{
"name": "BaseSmokeEffect.Sound",
"amount": 1,
"interval": 1
},
{
"name": "HEGrenade.PullPin_Grenade",
"amount": 1,
"interval": 1
},
{
"name": "Weapon_Taser.Single",
"amount": 1,
"interval": 1
}
],
"wait_time": 5,
"min_time": 5,
"max_time": 30
},
"visible_on_radar": {
"enabled": true,
"enabled_for_new_cheater": false
}
},
"cheater": {},
"ConfigVersion": 1
}The global config section contains all available options for each module. Each option has its own subsection containing various parameters such as enabling/disabling specific features, setting thresholds, etc.
Whether or not this modules is enabled or disabled globally.
Whether or not a newly marked cheater should have this feature enabled by default. This should be set to false unless you want to make it obvious to a new cheater that he is being punished. Per default everything to obvious is disabled.
Clone the project:
git clone https://github.com/Kandru/cs2-cheater-troll.gitGo to the project directory
cd cs2-cheater-trollInstall dependencies
dotnet restoreBuild debug files (to use on a development game server)
dotnet buildBuild release files (to use on a production game server)
dotnet publish