This is something im releasing because it is in fact useful. However version 0.10 was a very simple application that seemed to do what it was supposed to fine within DM entirely and was clean and efficient. The problem? Twofold.
1.) Byond has a really crappy limitation to Export() when trying to do a ping, that is, there is no parameter for a timeout. So if the server has indeed crashed but the process is still in existance which is typical for windows (Dreamdaemon has crashed click here to see why etc etc). The code would indefinately lock up if this happened because it would wait on a ping that had no timeout, you would think a ping request would have a timeout but I assumed and that kicked me in the ass.
2.) Windows is annoying, when DreamDaemon has crashed it will still sit there broken, hogging up the port and being lame. This annoying fact means that even after circumventing the export issue using some spawn trickery, the game would be rehosted only to FAIL to open on the port.
So this is my solution, a server manager that requires some minor installation to work if you dont have taskkill.exe in your Windows/System32 (i had it, i have XPpro, i hear XPhome doesnt have it so i felt compelled to make a simple bat file.) Then i use the shell command to run a second bat file which taskkill's both dreamdaemon and the process for those pesky crash popup notifications. This current version works, there are some limitations.
If your hosting more than one environment, then as soon as one crashes it will take them both down, im still looking for a way to within Shell() on windows specify to a specific process using a specific port.
You need to run the environment in dreamseeker but you also need to host it (ON INVISIBLE!! and be sure to disallow new connections!!) in order to set it to Trusted. If its not then blah youll get a popup that asks for access to the bat file which ends the daemon process.
So what im saying is, heres the new version. Im including the source file so that there are no security concerns. I hope the few steps (which are in a readme file in this package so dont worry just download away). Im not asking that you use it, your not doing me a favor by using it. However i do feel this is a needed tool so im sharing.