I don't know if this is common knowledge, but when goofing around making a gimmicky demo map I was looking for ways to restrict what players can do and stumbled upon a relatively easy method to block bullets/rockets/stickies/grenades but allow players to pass through the brush.
Essentially you use a func_physbox_multiplayer brush with these settings:
Keyvalues:
- Material: (Anything)
- Strength: 0
- Disable Shadows: Yes
- Disable Receiving Shadows: Yes
- Render Mode: Don't Render
Unflag everthing, then tick:
- Start Asleep
- Debris
- Motion Disabled
- Only Break on Trigger
- Don't Take Physics Damage
- Don't Allow Bullet Penetration
- Prevent Motion Enable on Player Bump
I then texture the brush with nodraw (probably making the shadow settings superfluous) and overlay it with a illusionary/func_brush(nonsolid) to give a visual indication of the brush. Stickies/nades bounce off and rockets will explode on the brush (add another nogrenade brush if you want to disallow this), and generally its better to keep the brush thin as, if you shoot inside the brush it just eats the projectiles.
Overall its pretty handy for preventing telesyncs, syncs, prefires, airpogo or whathaveyou if you really want to stop 'cheats' on certain jumps.
This may or may not be the same method that was used on abuq, but figure it can't hurt to post here if anyone wondered.