Skip to main content

One post tagged with "c++"

View All Tags

· 3 min read
doga

Inubot v2

Glossary

  • NXT: The new C++ client that Jagex offers. In the Jagex Launcher, it is labelled as the "Official client", also used for Steam and the Mobile version of the game
  • Java Client: The "old" game client used by most third party clients, including bots and RuneLite

NXT Client

If you aren't already aware, Jagex have been leaning towards replacing their game client entirely, with the NXT client they've developed, written in C++. Essentially this means complete removal of the Java game client. Anything that's built around the Java client, will cease to function - this includes third party clients such as bots and RuneLite.

Currently, Inubot is a hybrid client which uses the Java client but overrides the packet handling processes of the game, replacing it with our own that emulates the C++ client. This works fine for now, but won't when the Java client is removed. We are already working on a solution to this, as some of you may have already heard, Inubot v2 has been in development. In the past week, we've started to support the new C++ client that Jagex offers, making swift and considerable progress to the point that we're already able to run bots on it!

Naturally this will come with other benefits. First and foremost, Jagex have been banning a lot more in recent months. It's possible that the new client will be safer, since it's a completely different approach to interacting with the game. Next up is that the NXT client already has some plugins (and more to come), so if you ever need to do small manual tasks in game, it won't feel as tedious as it does on the vanilla Java client.

progress

Developer Concerns

Now as a scripter, you may be thinking "do I have to rewrite my scripts?". The short answer to that is no. Expanding on that, our plans involve retaining the exact same codebase for all modules of our client, except the internals that are responsible for pulling data from the game. In the current Java client, these internals are represented by the jag package in our client, which offers RS interfaces such as RSPlayer, which function by injecting themselves into the game. With the NXT client, we read from the game memory directly. Our API is built on top of this, simply using them to pull raw values from the game, transforming them into a higher level API. It's rare for scripters to use the low level internals directly, so you won't have to worry about making many, if any changes to your scripts.

Store changes

With a v2 of our client coming, we thought to ourselves that the store could do with some love too. We will be overhauling the store, switching to a token/credits based system as we offered in RSPeer. Scripters will be given more control over their products, being able to easily offer trials of their scripts, as well as selling weekly and possibly daily options for those that don't want a full month.

RS3

We initially planned to release rs3 last month, but since we're writing v2 for osrs this gives us the opportunity to knock out 2 birds with 1 stone, allowing us to reuse the core for rs3. We are hoping for this to follow up not too long after all of the above.