Reverse engineering the protocol is not the same as reverse engineering the entire server, though. That would be very hard in most cases, especially when you don't have access to the server binary.