Add a server.

Probably not yet ready to go, but this needs to be tested elsewhere.