Adding a bunch of server-side validation

and ripping validation out of the `BuildParams` while I'm at it.