How would I prevent a person from crashing the server, using a "ManualSurfaceJointInstance" or an infinite loop without a wait
You'll want to look at Sandboxing your user code.
Quenty's Nevermore Engine has a great, free to use sandbox right here.
However, you need to understand that Script Builders will always be somewhat vulnerable, and you won't be able to stop absolutely everything.
Sandboxing but as I have said to many other script builder owners you should just take down Script Builders they are becoming even harder to manage with all the new updates giving scripts even more power. Sandboxing even isn't perfect considering there are ways to escape sandboxes...