The monster spawn should be easy to implement.
There must be some code somewhere that is counting down the 90 seconds.
There must be some code that gets triggered to do the respawn at the end of those 90 seconds.
Any player that can see the monster spawn must be known to the code that is doing the respawn, as it updates them as to the monster respawn location.
It is a one-time check at the time of respawn to determine if any of those players are too close to the respawn location.
This is probably what evol is doing.
The respawn code could take several approaches to deal with the collision. One that is always available is to put the monster back into the 90 second respawn timer. Depending on the interaction of the functions and how late in the process the check is done, this may require killing them again (silently).
I have seen some weird ways to handle this, such as teleporting the monster to some known invalid area and letting them die quietly, then letting another cleanup function recover them.