Raised This Month: $12 Target: $400
 3% 

Block Wallhack v8 [CS & CZ]


Post New Thread Reply   
 
Thread Tools Display Modes
Plugin Info:     Modification:   Counter-Strike        Category:   General Purpose        Approver:   Arkshine (91)
ot_207
Veteran Member
Join Date: Jan 2008
Location: Romania The Love Country
Old 08-18-2009 , 21:28   Block Wallhack v8 [CS & CZ]
Reply With Quote #1


{Logo taken from flash-deck.com}


Description:
This plugin blocks wallhacks (transparent walls) and soundhacks (squares, esps) including radar hacks by differently transmitting and filtering entity data.
It is advised to read everything about the plugin before asking questions! I will try to cover everything that you need to know here!
Also follow the instructions they are posted here for a reason!!!

If you ask a question that is already answered here your post will be ignored!





Features:
  • Player non visibility transfer block
    If the player does not see one of the points in the visibility plane of a player the player will not be transmitted therefore becoming invisible for transparent wall cheats.
  • Smooth engine
    The plugin adds prediction to player movement, it will make players not pop (appear out of nowhere).
  • FOV Check
    The plugins checks if the players are in front of us or not, if not the players will not be transmitted, it helps when we talk about CPU efficiency and also for cheats that show the player in 3rd person view.
  • Transparent entity detection and storage base
    It checks if we can see through an entity and it will modify it's properties so that the traces will not be influenced by it! The players will not notice anything!
  • Grenade and weapon transfer block
    The plugin will block entities like grenades and weapons when they are not seen.
  • ESP block
    The plugin will block soundhack and ESP by transmitting the sounds through different channels.
  • Footsteps generator
    The plugin will generate footsteps, if you want this remember to set mp_footsteps to 0!
  • Soundhack key
    The plugin will rename the sounds (the original sounds will not be deleted!) only if you want to this is optional! This helps when there are cheats that show the name of the sound on the screen, so that cheaters will not be able to understand what they mean.
  • Support for dynamic cameras
    The plugin will detect when a player uses a camera and will not affect the visibility.
  • New updated notifier
    The plugin will notify admins when an update is available!

Known bugs (cannot be fixed):
  • Player popping
    There is a risk that player pops out of nowhere, but the chance is small.
  • Player lag late appearance
    If the players have lag the plugin will make it even more difficult for them to play.
  • High ping sometimes [Problem seen on CSDM servers]
    Disable target check! If you are experiencing this problem!
  • Sounds sound different
    It is because of the different transmission. Don't worry about it!

Requirements:
  • Steam
  • AmxModX v1.80
  • EngineX
  • Orpheu




Installation:
  1. Download orpheu_base.zip from here, and unzip the archive in the "<target>/amxmodx" folder
  2. Unzip the file "cstrike" in the "<target>/cstrike" folder
  3. Add the plugin to plugins.ini.
  4. Enjoy!

Cvars:
  • // // TRW Block // //
  • trw_enable 1 // 1 (default/recommended) - plugin is turned on, 0 - off
  • trw_ignore_team 1 // 1 (default) if the plugin ignores teammates, 0 will check teammates and block them if not seen
  • trw_block_ents 0 // 3 block "grenade/armoury/weapon" entities with more checks, 2 block all entities but do more calculations on "grenade" entities, 1 block all entities that are not seen (no extra calculations), 0 (default) let the engine decide
  • trw_fov_check 1 // 1 (default/recommended) - do not transmit entities that are behind the player, 0 transmit everything
  • trw_target_check 1 // 1 (default) - if user shoots and hits someone that person will not be transmited, 0 disable tis check
  • trw_smooth_check 2 // 2 (default/recommended) - it will make the players not pop using vector calculations, 1 it will make players not pop using origin prediction, 0 disabled smooth check
  • trw_textureallow 1 // 1 (default/recommended) - will make the plugin ignore transparent entities, 0 disable this check
  • // // SND Block // //
  • snb_enable 1 // 1 (default/recommended) enable ESP sound blocking, 0 - disabled plugin
  • snb_footsteps 1 // 1 (default/recommended) make the plugin generate footsteps set mp_footsteps to 0!!!, 0 disabled
  • snb_shotover 1 // 1 (default/recommended) override shots, 0 disabled

Config files information:
  • wb_sndkey.cfg
    Location: <target>/cstrike/addons/amxmodx/data/
    This file only appears only if you want to use the soundhack key! The key can be imported from another file and can be managed with the server command wb_createsoundkey. If you have updated the plugin there is a chance that it will not be compatible with the last block wallhack version (depending on updates).
    If you get in the console some of these messages:
    [Block Wallhack] Soundhack key version load failure (Version read failure). Using default sounds!
    [Block Wallhack] Soundhack key version load failure (Number of sounds does not correspond). Using default sounds!
    That means you need to delete these files and folders manually in order to create a new soundkey:
    "addons/amxmodx/data/wb_sndkey.cfg"
    "sound/wallblocker/"
Soundhack key mamagement command:
amx_sndkeycfg <command> <target> -> creates the soundhack key!
This override commands will only work only if the present soundkey is loaded, if it is not loaded you will get an override error.

Here are the usage examples:
amx_sndkeycfg help - this will show you how to use the command
amx_sndkeycfg delete - this will delete the present soundkey (only if it was loaded)
amx_sndkeycfg create - this will delete the present soundkey (only if it was loaded) and create a new one
amx_sndkeycfg import <target> - this will import a soundkey from a file (will not override the present soundkey)
amx_sndkeycfg overimport <target> - this will import a soundkey from a file and delete the present one (only if it was loaded)

How to install the the same soundkey on multiple servers:
In the first server you type the command amx_sndkeycfg create in console to create a soundkey.
After you have done this go to the folder <target>/cstrike/addons/amxmodx/data and copy the file wb_sndkey.cfg.
After that paste that file in the same folder for other servers, the plugin should get the soundhack key automatically.

Movies: [Watch in high quality]
Wallblocker vs Normal Wallhack
Wallblocker vs ESP(AddToFullPack)
Wallblocker vs Soundhack Demo mp_footsteps 0 or with soundhack block!
Wallblocker vs Soundhack Demo mp_footsteps 1

Changelog:
PHP Code:
8.0 fixed crash bugfixed high cpu usage bugadded also support for ent sounds and reloadsoundExtended the functionality of trw_block_entsfixed go thru wall bugspawning players beeing transmitedadded update notifier system
7.0 Remade the cvars because they weren't so user friendly, made the plugin use spawnStaticSound, now this can fully block ESP and SoundHack
- 6.3 - soundhackkey not compatible with older soundkeys, added more sounds to block the soundhacks, extended the block to entities that would give info about the player, fixed crashing due to get_orig_retval function.
- 6.2 - added engine visibility filters, even less lag, the plugins cannot be seen on game-monitor anymore (for surprize)
- 6.1 - fixed the ping bug, the plugins are even more efficient!
- 6.0 - separated the features in separate plugins, 100% cpu usage problem improvement, fixed texture problem that crashes the server, more stable and faster, removed the orpheu module, no more shot override (unable to fix the bugs!), footsteps are done in another way, removed the distortion wave because of the sound problems
- 5.6 - Fixed the amxx crash bug when soundkey has been used
- 5.5 - Changed the way the command of creating soundkey works, added log to files, added more cvars for configuration, and miscelanous things
- 5.4 - Anti-Soundhack shot, pick-up and spawn, fixed spec bug
- 5.3 - Separated the channels from the shot mechanism (now we have the sound of the shot, the bullet particles and the weapon animation separated!)
- 5.2 - Fixed double jump/land sound, made the soundkey use less resources if the sounds that are used are default, removed PVS cvar (useless), new cvar wallblocker_footsteps
- 5.1 - PreHook fix, EmitAmbientSound function used, update key (more random and better when dealing with problems!)
- 5.0 - Added anti-soundhack based with key, made the ents follow the players much closer
- 4.8 - Less crash risk, new method of detecting transparent ents and making them transperent will not destroy ladded functionality anymore!!!
- 4.5 - texture check now isn'
t made that often (less crash risk!), added texture check autodisable cfgadded a new method to ignore entities that are transparent (100efficient), reupdated the weapon headpoint
4.2 added bitsum remember systemsmooth check is made now by FRAME_CONSTANT (1/48), changed alive/dead recognision system (less resource use!)
4.1 fixed plugin_init problem!
4.0 all bugs fixedadded texture check everything tweaked and tuned!
3.0 removed Engine module (another method), improved smooth engineremoved fixed flashing bugtarget check now works both ways (if you are seen the player will be shown!)
2.5 removed HamSandWich module (useless), improved smooth checkcorpse remove bug fixedoptimized the code a little bit.
2.4 bug fix release (weapon index out of bounds fixreconnect bug fix (with CSDM), made the ent check not so sensitive (not so many blind-spots)
2.2 bug fix release (index out of bounds weapon confusion bug)
2.1 removed a bugged feature (block_dead cvar), added smooth cvar
2.0 more customizableless cpu usage (50TESTED!), weapons grenades check addedbug fixes
1.5 removed some checksoptimized it a bitadded weapon head-point check
1.0 initial release 
Credits:
- joropito - for compiling engineX on linux
- hlstriker - for finding the way to detect semi-transparent textures!
- h010c - for tests and benchmarks, anti-soundhack tests and code samples
- joaquimandrade - for pointing out the plugin flaws, and for the Orpheu module
- Connor - some stocks
- Arkshine - for finding precise weapon head points, and for some sig files, spawnStaticSound
- Mnx Community - for letting me test this plugin on linux!
- turshija - for some small suggestions.
- .Owyn. - bug reports
- ShlumPF* - for small improvements (initial v1.0)
- eD & Niculae - for some tests

Plugin camera compatability!
Add this function after you have used attach_view() or EngFunc_SetView functions
PHP Code:
stock wb_setview(idattachent)
{
    if (!
cvar_exists("wallblocker_version") && !cvar_exists("trwb_version"))
        return 
0
 
    callfunc_begin
("fw_setview"cvar_exists("wallblocker_version") ? "block_wallhack.amxx" "trblock.amxx")
    
callfunc_push_int(id)
    
callfunc_push_int(attachent)
    
callfunc_end()
 
    return 
1

Attached Files
File Type: zip cstrike.zip (772.0 KB, 47008 views)
__________________
My approved plug-ins | Good for newbies! | Problems?

Back, will come around when I have time.

Last edited by ot_207; 02-25-2012 at 08:22. Reason: New version released
ot_207 is offline
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 08-18-2009 , 21:33   Re: Block Wallhack
Reply With Quote #2

It seems you are only checking the 8 corners of the player's hitbox.
What about in complicated maps that the 4 corners may not be visible, but other parts are?
An example would be if a terrorist is standing on the vent ladder in cs_assault where his head is above the top and the feet are below the bottom, so all you can see is the stomach area.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
ot_207
Veteran Member
Join Date: Jan 2008
Location: Romania The Love Country
Old 08-18-2009 , 21:36   Re: Block Wallhack
Reply With Quote #3

Quote:
Originally Posted by Exolent[jNr] View Post
It seems you are only checking the 8 corners of the player's hitbox.
What about in complicated maps that the 4 corners may not be visible, but other parts are?
An example would be if a terrorist is standing on the vent ladder in cs_assault where his head is above the top and the feet are below the bottom, so all you can see is the stomach area.
Not only 8 it checks the user origin, and the points between the 8 border points and origin so in total 17 points.
__________________
My approved plug-ins | Good for newbies! | Problems?

Back, will come around when I have time.
ot_207 is offline
SchlumPF*
Veteran Member
Join Date: Mar 2007
Old 08-19-2009 , 01:07   Re: Block Wallhack
Reply With Quote #4

found two things you really should optimize :/
anyway, as long as you do not detect whether a player can see another one more accurately this plugin is worthless + did you check whether this plugin really blocks wallhacks? i doubt that it will block all hacks since there should be more than just 1 way of creating a wallhack

PHP Code:
// fail, pev_flags can only change during player think which makes caching this one in prethink much better that this...
// NEVER USE ADDTOFULLPACK WITHOUT CACHING AS MUCH DATA AS POSSIBLE!!!
if ( pev(entpev_flags) & FL_DUCKING )

// --------------------------

// fail again, creating a new var over and over again in your plugin? you should modify
// stocks you use since most only use variables initialized by "new", in this case you should use
// a static variable
new Float:fraction
__________________
SchlumPF* is offline
Send a message via ICQ to SchlumPF*
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 08-19-2009 , 01:08   Re: Block Wallhack
Reply With Quote #5

You could use ExecuteHam(Ham_FVecVisible, this, const Float: origin[3]), then you wouldn't have to retrieve player eyes position.

Code:
BOOL CBaseEntity :: FVisible ( const Vector &vecOrigin )
{
	TraceResult tr;
	Vector		vecLookerOrigin;
	
	vecLookerOrigin = EyePosition();//look through the caller's 'eyes'

	UTIL_TraceLine(vecLookerOrigin, vecOrigin, ignore_monsters, ignore_glass, ENT(pev)/*pentIgnore*/, &tr);
	
	if (tr.flFraction != 1.0)
	{
		return FALSE;// Line of sight is not established
	}
	else
	{
		return TRUE;// line of sight is valid.
	}
}
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 08-19-2009 , 01:21   Re: Block Wallhack
Reply With Quote #6

I had this idea also (and I think that it has also implemented in HLGuard) and the true is: it is almost impossible to make it right without a huge amount of calculations and probably that will make it laggy with many users. One particular point where calculations are missing is in checking if the player carried weapon is visible (what is out of the player's bounding box). That will easily damage the game. And, as Exolent said particular, entities or map, designs can make it behave bad.

Edit: I have an simple idea to you. Instead of shipping it as an anti-wallhack solution, you could make it usable when you perform an action. Example: you suspect that a player is cheating, enable it on him, and check if his performance hugely differs.

One thing about the code: In traceline you should "IGNORE_GLASS".
__________________

Last edited by joaquimandrade; 08-19-2009 at 01:26.
joaquimandrade is offline
ot_207
Veteran Member
Join Date: Jan 2008
Location: Romania The Love Country
Old 08-19-2009 , 02:58   Re: Block Wallhack
Reply With Quote #7

Quote:
Originally Posted by SchlumPF* View Post
found two things you really should optimize :/
anyway, as long as you do not detect whether a player can see another one more accurately this plugin is worthless + did you check whether this plugin really blocks wallhacks? i doubt that it will block all hacks since there should be more than just 1 way of creating a wallhack

PHP Code:
// fail, pev_flags can only change during player think which makes caching this one in prethink much better that this...
// NEVER USE ADDTOFULLPACK WITHOUT CACHING AS MUCH DATA AS POSSIBLE!!!
if ( pev(entpev_flags) & FL_DUCKING )

// --------------------------

// fail again, creating a new var over and over again in your plugin? you should modify
// stocks you use since most only use variables initialized by "new", in this case you should use
// a static variable
new Float:fraction
I tested it on a wallhack and it works. Even if user crouches. Will optimize these parts. I did it fast because I was tired.

Quote:
Originally Posted by ConnorMcLeod View Post
You could use ExecuteHam(Ham_FVecVisible, this, const Float: origin[3]), then you wouldn't have to retrieve player eyes position.

Code:
BOOL CBaseEntity :: FVisible ( const Vector &vecOrigin )
{
	TraceResult tr;
	Vector		vecLookerOrigin;
	
	vecLookerOrigin = EyePosition();//look through the caller's 'eyes'

	UTIL_TraceLine(vecLookerOrigin, vecOrigin, ignore_monsters, ignore_glass, ENT(pev)/*pentIgnore*/, &tr);
	
	if (tr.flFraction != 1.0)
	{
		return FALSE;// Line of sight is not established
	}
	else
	{
		return TRUE;// line of sight is valid.
	}
}
Ok, will do!

Quote:
Originally Posted by joaquimandrade View Post
I had this idea also (and I think that it has also implemented in HLGuard) and the true is: it is almost impossible to make it right without a huge amount of calculations and probably that will make it laggy with many users. One particular point where calculations are missing is in checking if the player carried weapon is visible (what is out of the player's bounding box). That will easily damage the game. And, as Exolent said particular, entities or map, designs can make it behave bad.

Edit: I have an simple idea to you. Instead of shipping it as an anti-wallhack solution, you could make it usable when you perform an action. Example: you suspect that a player is cheating, enable it on him, and check if his performance hugely differs.

One thing about the code: In traceline you should "IGNORE_GLASS".
Will see about that.

Edit: joaquimandrade thought about what you said and I won't do it unfortunately, that way it will stress up the admins too much, by leaving it the way it is it's light, and it does its job.
Made all the updates and made a small demonstration movie.
http://www.youtube.com/watch?v=jR6Nq4sj7BA
__________________
My approved plug-ins | Good for newbies! | Problems?

Back, will come around when I have time.

Last edited by ot_207; 08-19-2009 at 04:29.
ot_207 is offline
Javivi
AlliedModders Donor
Join Date: Dec 2008
Old 08-19-2009 , 05:38   Re: Block Wallhack
Reply With Quote #8

Nice plugin
Javivi is offline
ot_207
Veteran Member
Join Date: Jan 2008
Location: Romania The Love Country
Old 08-19-2009 , 06:37   Re: Block Wallhack
Reply With Quote #9

Quote:
Originally Posted by Javivi View Post
Nice plugin
Thanks! It would be good if you can test with other wallhacks.
__________________
My approved plug-ins | Good for newbies! | Problems?

Back, will come around when I have time.
ot_207 is offline
Jack86
Veteran Member
Join Date: Dec 2008
Location: Belgrade, Serbia
Old 08-19-2009 , 06:44   Re: Block Wallhack
Reply With Quote #10

How about those wallhacks that dont display models, but a small square where is player, and those that make all walls transparent, also how often are those problems stated in 1st post, once a round, once a map ?
__________________

Jack86 is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:46.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode