lots of client/server communication done, but I don't think I'm going to be able to make this work without relying on open ports on each client's network