Facepunch stack overflow fix

I saw your post on Facepunch about the stack overflow and whipped this up before I saw you close the thread. I haven't debugged it at all but it should prevent the function from being called by itself and sort out all the requirements before hand.