I am working on developing an extensible MUD/ORPG game server framework in C#. As part of the package, I would like to include a SOCKS5 proxy client that could be installed on user's machines. This proxy client would sit between the user's standard telnet client (zMUD, GMUD, MUSHclient, or just plain telnet) and look for certain packets. These packets would tell the client to bring up different kinds of multimedia data traditionally not available on telnet client. Since this is a game application, a world map or a list of worn equipment could be display, for example. I'm looking for any information/guidance on how proxy development works, and where I could get started on making this. I currently have a basic C# telnet client, and the server itself has a multi-threaded telnet listener that's all worked out - so the system can be fully tested, I just need to know what I should do to make the middleman (the proxy). Any suggestions greatly appreciated.