Poor design, documentation, or code structure will probably reduce your grade by making it hard for you to produce a working program and hard for the grader to understand it; egregious failures in these areas will cause your grade to be lowered even if your implementation performs adequately. Putting all of your code in one module counts as an egregious design failure.
It is better to have partial functionality working solidly than lots of code that doesn't actually do anything correctly.
We will test your program in a variety of ways. For example, we may make sure that your server does something reasonable when given an unknown command, or a command with invalid arguments. We may verify that your server correctly handles clients that leave abruptly (without sending a QUIT message). We will test that your server correctly handles concurrent requests from multiple clients.
We may launch your server in a variety of ``invalid'' ways and check to make sure you don't leak memory or other system resources. We may also send ``incorrect'' messages to test the tolerance of your server to not-so-perfect clients. In general, your server should adhere to the robustness principle given in Section 1.2.2 of RFC 1123: ``Be liberal in what you accept, and conservative in what you send.'' Other clients and servers you interact with may have minor flaws in their messages, but you should try to work gracefully with them.