RealmNet v3.1 - A new high performance native proxy

RealmNet is a new, highly efficient proxy written in native C++. With a performance rivaling that of the hacked clients it was designed efficiency in mind. On top of having its plugins compiled to native code, its approach to reading packets differs from K Relay. Packets are not read at all if there is no plugin that needs them. This also means there is no need to write them to a new buffer for forwarding.
A proxy in 2018?
With clients taking over the rotmg hacking scene, why make a new proxy?
Proxies still have their place as a tool of learning. I personally learned rotmg hacking with Realm Relay and K Relay. I hope to encourage new hackers getting started with rotmg hacking, and for them RealmNet is a good place to start. I wrote RealmNet to learn more C++ and learned to love the language I previously felt was so arcane and troublesome. It was also a good stepping stone to writing my own C++ bot.
I believe that by solving the performance issues and by making using the proxy seamless, it can challenge the clients. Proxies also have the added benefit of being easy to update.

How to use?
Just run the RealmNet executable and connect to the proxy server on your client. The program connects to EUNorth2 by default. You can change the default server by typing "/go <server> save" where server is the abbreviation (e.g. euw) of the desired server. Adding the word "save" to the command makes it remember it even if the program is closed.
To switch servers without saving, type "/go <server>"
Plugins:
Out of the box, the following plugins are included with the proxy:
- Welcome - Displays a welcome message when connected indicating that the proxy is working
- AbilityTimer - Displays a timer when using cloak, helm or seal
- AntiLag - Disables certain particles, generally not useful when using with a hacked client
- ClientUpdate - When connecting on an outdated client, the plugin attempts to soft-update the client (eliminates the need to use JPEXS)
- Resend - Allows scrolling through previously sent messages with the up and down arrow keys. Right arrow to send, left arrow to go back to beginning.
I'm also encouraging others to write plugins for it. The documentation is already up on my GitHub page (SometimesRain). The source of the proxy itself will be there soon too, I just need to figure out how the dependencies are loaded (RealmNet is built on Boost.Asio).
Planned features:
- More plugins (most notably CrazyClient Autonexus)
- Expanding on the XmlData and PlayerData classes
Virus scans:
If nothing else, please read the "How to use?" section.


