We added some server functions (outside a room), and implemented some
more of the client and server