Skip to content
forked from acorbin3/P3achB0t

Educational attempt to create a Oldschool Runescape client

Notifications You must be signed in to change notification settings

sezonis/P3achB0t

 
 

Repository files navigation

P3achB0t

Educational attempt to create a Oldschool Runescape client

This project is to learn:

  1. More about how the Oldschool runescape client operates
  2. Learning about reflection
  3. Learn more about injection
  4. Runtime analysis of values to identify fields/classes
  5. Learn control flow analysis to trim unused fields and classes when deobfuscating the code

Discord

If you would like to join the community or have questions feel free to join this discord

https://discord.gg/kcepXFP

Requirements

Make sure you have Java 11

How to setup & build the project

Its recommended that you use InteliJ IDEA for the development environment. Currently we are using Java 11

Importing Steps

  1. Clone the repo from the commandline, GitHub desktop GUI or even within InteliJ
  2. Open up the newly cloned repo in InteliJ
  3. Reimport the maven project by pressing this button in the Maven panel on the right hand side

At this point you should have all the external Libraries loaded in the project panel

Building & running from Maven

  1. Back over to the Maven panel you need to run the compile Lifecycle. You should get [INFO] BUILD SUCCESS
  2. Then run the exec:exec plugin to launch the application

Building & running using native Kotlin template using InteliJ(recommended)

  1. Go to com.p3achb0t.Main or src/com/p3achb0t/main.kt
  2. Click on the green play button. This should compile and launch the app as well.

Script loading

Currently the scripts live in the follow location: src/com/p3achb0t/scripts The TutorialIsland.kt script should have an extensive working version on a script.

  1. Create main file - To create your own clone an existing script in this directory or create a new file. Just make sure you extend your class from an AbstractScript.
  2. Add it to the menu - In the following file you can add a new menuItem for your script: src/com/p3achb0t/client/ui/components/GameMenu.kt
  3. Starting - Rebuild and run the application. After these steps you should see your script in the Debug menu. Select it and then in the Client dropdown press Start

Fast Debugging

If you use the Kotlin template building method you can recompile files and "Hot swap" the class files while the client is working. All you need to do is be sure you are in debug mode and you can do that by pressing the Bug button as long as you have the correct build configurations selected

Within the file if you are editing it you can right click and select "Compile and reload file"

OR

On the Project View on the left hand side you can right click a file and select "Compile

Caveat - Depending on what you change within the file or files its possible you cant just recompile. For example, if you change a class signature or add a new class then you need to do a recompile and relaunch.

About

Educational attempt to create a Oldschool Runescape client

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 86.5%
  • Java 13.5%