There's no way to answer this question unless you say what the server is supposed to do. Why do you need "low-level control"? How do you plan to deploy the server when you're done? Who will maintain it?