OpenNXT
OpenNXT copied to clipboard
A RS3 RSPS framework targeted at NXT, the goal is to stay up-to-date with RS3
OpenNXT - RS3 919
A RS3 RSPS framework targeted at NXT, the goal is to stay up-to-date with RS3
Discord
We have a Discord server you can join! https://discord.gg/u5p4w3zjjx
Tooling
One of the goals of this project is to have all necessary tools built-in. This includes the client downloader, client and launcher patcher, cache downloaders et cetera.
Tools can be executed through the command line with the following parameters: run-tool <tool-name> [--help]
You can create your tools easily by creating a new class in com.opennxt.tools.impl. Your class must extend from base
class com.opennxt.tools.Tool. Tools are registered automatically using classpath scanning.
Updating
To update OpenNXT to a new version:
- Download the latest clients using
run-tool client-downloader - Download the latest cache using
run-tool cache-downloader - Patch the latest clients using
run-tool client-patcher - Update the
buildfield in./data/config/server.toml
If the version you are updating to is not yet supported by OpenNXT OR you want to contribute to the project's networking-related code and implementations, it is highly recommended you also fulfil these steps:
- In
com.opennxt.net.login.LoginEncoder, replaceRS3_MODULUSwith theold loginkey printed by the patcher. - Create a new directory:
./data/prot/[new version]/, replacing[new version]with the server version. - Open the win64.exe client in Ghidra, and run the Ghidra NXT Auto Refactoring Script. For more information on how to install and use this tool you can visit my Rune-Server thread.
- Run the script and use the data it prints to the console to populate the files in
./data/prot/[version]/*.toml. The tool does not printclientProtNames. Those, you will have to do manually. - Populate the packet fields using files in the
./data/prot/[version]/[(client/server)prot]directories
Setup
To set the project up:
-
Generate your server's RSA keys:
run-tool rsa-key-generator -
Download the latest RS clients:
run-tool client-downloader:warning: Latest clients might not be compatible with this repository. Please ensure this repository version matches the version of your clients.
-
Put the original launcher in:
./data/launcers/win/origina.exe(can be found atC:\Program Files\Jagex\RuneScape Launcher\RuneScape.exe) -
Create a configuration file
./data/config/server.toml. Configure the following fields:hostname = "127.0.0.1" configUrl = "http://127.0.0.1/jav_config.ws?binaryType=2"configUrlis the URL the launcher will get thejav_config.wsfrom.hostnameis the IP your server runs on -
Patch the client and launchers using
run-tool client-patcher -
Download the latest cache using
run-tool cache-downloader -
Wait until this framework progresses further