I was thinking about writing an application layer firewall to sit between a game server like (quake 3 is the only protocol I could find documented in any detail) that could do packet inspection and drop packets that didn't fit the spec (range checking the server leaves out), looked suspicious (like a client sending control messages from Zimbabwe when the server is in Texas or weird patterns that could indicate DOS or probing) or to make rules that were not coded into the game (like blocking off certain weapons). To do that I would need a proxy that listens for clients on an IP and forwards traffic to the server, then back to the clients.
^How practical is such an idea in UDP? I know some multiplayer implementations take latency into account when interpolating player movements. How big of a deal will that be? Does anyone know of a well documented protocol spec besides Quake 3? Is there a commonly used, defined protocol for Unity or other engines you can recommend?
I'm interested in furthering skills in networking...seemed like a worthwhile task, just not sure how practical it is. I have seen stuff like this in the automation world Tofino Modbus is an example and would like to translate it to the game world if I can...
Thanks,
John