Quote:
shouldn't it ignore the srcds.exe error and reload the service upon the error?
|
Ah, that one. I know exactly what you are talking about where a pop up message box appears stating that the program just bombed out. There's a [OK] box for you to click on.
What you are experiencing is normally considered to be bad programming practice and you should complain to Valve (or whoever is programming their stuff these days) to revert to an error logging facility instead of pop up messages that require user action to correct.
In this case of the pop up message, it happens when the software manages to trap the error before the program bombs out. It's funny (to me anyway) because we're actually better off without any error trapping. Although normally error trapping is considered as good programming practice, the problem is that pop up errors that suspend the entire application are terrible for a service application.
Think about it, a 24/7 service should NEVER require a user action to restart after an error, it's just plain silly.
Now perhaps there's an obscure setting that you can put into one of the srcds.exe config files which will disable the pop up messages, if so then that would solve the problem. You'll have to ask on the steam forums or elsewhere to try and get an answer.
I do plan on adding a further "crash" check to the server loader which attempts to detect the case when a program freezes, but remains as a loaded process. The problem is that when the pop uo message appears, the process remains loaded, and the service loader has no idea that the process has crashed. There is a way to check if the process is "responding", and if I can get it to work then if the program fails to respond for a user configurable period of time, then the loader will try and kill the process, then restart it.
The question remains if after a pop up message will the program continue to "respond" or not?
The other trouble I'll have is in testing such a feature out, since I do not have a way to reliably freeze applications or generate pop up errors.