One way brush?

How can I create a brush that a player can walk through one way but will collide with it if they try to go through the other?

Sort of like a one way shield.

make it a func brush, then put a trigger on each side. One makes it solid, the other makes it not.

make a filter_activator_name, with the filtername “X”

Make a trigger_push and make the filtername [whatever you called your filter]
make the trigger_push point so that it pushes players away at a large force. Position the push inside the brush.

Make a trigger_multiple that resets every 0.1 seconds. position it just infront of the push.

in outputs of trigger_multiple:

onstarttouch, !activator, [name of trigger_push], AddOutput, targetname X

I stress that you make an additional trigger_multiple in spawn, or later in the map where it sets 'targetname ’ otherwise it can mess stuff up.

A 1 unit wide trigger_push should work.