Code Monkey home page Code Monkey logo

realmnet's Introduction

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.

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.

Getting started

Requirements:

  • CMake 3.11 or higher
  • Boost

Precompiled binaries for Boost on Visual Studio can be found here. The MSVC version number has to match yours perfectly (14.1 for Visual Studio 2017). Only the 32-bit version will work with RealmNet.


  1. Clone or download the repository.
  2. Open cmake-gui and set the path to the source code to point to the RealmNet directory
  3. Set your build path (if unsure, copy the row above and add "/build")
  4. Press Configure and make sure your version of Visual Studio is selected. The generator name should not end in Win64.
  5. After the configuration succeeds, press Generate and open the project with Open Project.
  6. Change from Debug to Release and build the project.

If you get an error on step 4 and it says Unable to find the requested Boost libraries in red on the build log, you edit your environment variables:

  1. Open your Control Panel and search for environment.
  2. Select Edit the system environment varibles -> Environment Variables...
  3. Create a new user variable Boost_ROOT and set the value to your boost installation folder path (e.g. D:\boost\boost_1_67_0)
  4. Create Boost_LIBRARYDIR and set the value to your boost lib folder path (e.g. D:\boost\boost_1_67_0\lib32-msvc-14.1)
  5. Restart make-gui and press Configure again

To get started with developing plugins, you should check out the Plugin Documentation.

realmnet's People

Contributors

sometimesrain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

realmnet's Issues

Development

Hey, would you like to come back to this project sometime? I have some ideas how to make it more complex and way more advanced just let me know and maybe we will work on something together.

packets.bin not found

Built project with VS2017.

Ran homedir/build/release/RealmXml.exe (didn't download a packets.bin)

Ran RealmNet.exe says "packets.bin not found."

It does attach all the plugins and loads strings/effects/projectiles/tiles/items/chars/servers.

But cant be connected to.

Any advice or fixes?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.