Skip to content
/ rsbot Public

An application that creates and manages bots for performance tests on Runescape servers.

Notifications You must be signed in to change notification settings

luna-rs/rsbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Disclaimer: This is NOT a bot for the official Runescape game, this is a bot that Runescape private server developers can connect to their servers and manipulate for testing and debugging purposes.

jBot

An open source API that enables developers to create and manage their own local Runescape bots. It's designed to be easy-to-use and to allow the player to have as much control over the functionality of the bots as possible. All of the code is extensively documented so the user can fully understand what's going on behind the scenes.

jBot currently runs on Java 8, so users will need to be developing using Java 8 in order to use this API.

Table of contents

Bots


The two main classes that the user will be utilizing are JBot and JBotGroup. A JBot instance holds all information related to a bot (io, credentials, bot group, state, etc.) and every JBot belongs to a JBotGroup instance. A JBotGroup instance holds all information related to how messages and exceptions will be handled, and allocates the resources required for bots to be able to login and perform actions. Those specific resources will be elaborated on in later sections.


A new bot and bot group with default settings should be started like so
JBotGroup mainGroup = new JBotGroupBuilder().build();

...

JBot myBot = mainGroup.add("myusername", "mypassword");

Alternatively, one may need to configure a bot and bot group with personalized settings

JBotGroup mainGroup = new JBotGroupBuilder().exceptionHandler(new MyCustomExceptionHandler())
.rsaKey(new JBotRsaKey(...)).build();

...

JBot myBot = mainGroup.add("myusername", "mypassword");

IO


All IO for bots is done using asynchronous NIO. In other words, all IO functions will return instantly instead of blocking until completion. All IO events are handled by the JBotReactor. If for some reason the reactor's thread is interrupted it will throw an IllegalStateException, log out all bots, and then release all resources that it had previously acquired when it was active. This renders the underyling JBotGroup attached to this reactor, useless.


Outgoing messages are controlled by the ```JBotMessageWriter```. If a custom message not already supplied needs to be written then users should extend that class. Outgoing messages are sent like so
JBot myBot = ...;

myBot.write(new Write317TalkMessage("I'm talking!"));
myBot.write(new Write317ButtonMessage(4553));

myBot.write(new WriteMyCustomMessage(arg1, arg2, "my own impl of JBotMessageWriter!"));

Incoming messages are controlled by the ```JBotMessageReader``` ...

Exception Handling


stuff here

Providers


stuff here

Task Management


stuff here

Releases


The current stable version is (x.x.x).

(downloads of all previous .JARs with sources)

About

An application that creates and manages bots for performance tests on Runescape servers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages