It took me quite a while to figure out how to effectively protect a spawn like this from any type of attack:
Since this might be usefull to know, here is how I did it:
The standard entity that should be placed in every spawn to prevent spawn killing from a player who has manged to somehow get into a spawn. This trigger is a "must-have" especially on servers with friendly fire.
In order to block bullets aimed inside the spawn I made a brush-based entity called func_physbox. This entity has a flag called "Prevent bullet penetration" which I ticked. One also has to make sure that the entity does not take any damage, is not being pushed, and so on by ticking the appropriate flags/options. There is also a texture called "Block Bullets" which should (or could) be applied to this entity.
This entity now blocks all bullets, i.e. those from sharpshooters, skirmishers and captains.
Since the func_physbox does not block kegs/arrows/javelins/axes/parrots I made a trigger_push to simply push those projectiles away.
Now comes the tricky part about this trigger. In order for it to push away just everything except for players, one should tick the flags "Everything", "Pushables", "Physicy objects", "NPCs", "Physics debris" and, most importantly "Only clients in vehicles".
Ticking the flag "Everything" makes the trigger also push away players which would be quite inconvenient due to the fact that in order to push away kegs (and all fully charged projectiles) the push speed has to be set quite high. Now ticking the flag "Only clients in vehicles" makes the trigger push everything except for players (and bullets btw) since there are no vehicles in pvk.
Since this entity has quite similar settings/flags to the trigger_push it should be also possible to use it for the same purpose and just making those projectiles disappear. But I personnaly like the idea of kegs being thrown back at those who try killing afk spawned players as well as all the other projectiles being just blown back in the direction they came from. It's also fun to see how it blows away the parrot which keeps on trying to get into the spawn
I hope this might help anyone who encounters the same problems I had with the nature of my open spawns.
Do not use the trigger_remove!
It does not call an entity's OnKilled
output, meaning that if it makes a parrot disappear, this parrot will probably never respawn because it would not be reported as dead. Also, this entity could make chests and trinkets disappear.