This version of the network protocol is really annoying to implement because you have to write decoders for *every* packet format because the packets are not length prefixed