the server and library to make your own protocol.