It was reported to me that a player can cast a gate and disconnect as it's forming which leaves the gate or part of it permanently if they lock it down in their house.
See magic.inc
function DoGateSpellEffect
1. You have a set_critical pair around a sleep statement - an oversight obviously
2. If the player disconnects, the gates are not destroyed.
I made the DoGateSpellEffect function into a progam and changed gate.src and runebook.src use it it via a start_script
This seems to work.
Thanks again for your scripts.