hallowatcher / refactored-client-435

Refactoring the 435 client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RuneScape Java Client #435

A RuneScape game client from October of 2006 - the client has been modified specifically for use with RuneJS, a RuneScape game server emulator written in ES6 and TypeScript. This client is not for OldSchool RuneScape - it actually pre-dates the very first OSRS client by quite some time.

The game client is written in Java, as the original was in 2006. As RuneJS is meant to be a learning experience for game content development, there are no plans to create a JavaScript based RuneJS client at this time.

The purpose of this project being open source is to better understand how the game works under the hood, allowing for a better RuneJS game server. Obfuscation cleanup is always welcome! :)

We've no interest in OSRS client hacking, this client exists solely to log into RuneJS and has been modified accordingly.

Usage

Running the client can be done either with the pre-built client JAR file or by building the Java code and running it manually in an IDE.

Pre-Built Client

Running the pre-built client requires having Java installed: https://www.java.com/en/

Once installed, go into the /prebuilt/ and simply double-click the JAR file to run it. Alternatively, if double clicking the JAR does not work, you can use the command java -jar RuneJS_Client.jar from the /prebuilt/ directory.

The client will use a set of default configurations if no file is provided. The default client configuration matches up to the default RuneJS server configuration for quick and easy initial setup. It's highly advised that you generate your own RSA public and private keys for long term use.

To provide your own configurations, create a file named runejs-client.yaml in your User Home directory with the following content:

net:
  address: 127.0.0.1
  game_port: 43594
cache:
  cacheDir: .runejs_cache
  jaggrabEnabled: false
rsa:
  rsaPub: YOUR_RSA_PUBLIC_KEY
  rsaModulus: YOUR_RSA_PRIVATE_KEY
login:
  useStaticCredentials: false
game:
  roofsEnabled: true
  freeTeleports: false
  debugContextMenu: true

Make sure to modify the given configuration for your specific needs.

Gradle

Gradle provides a wrapper script which downloads the build system to a local cache. This allows you to run the client without the help of an IDE such as IntelliJ. Gradle is also configured to automatically download dependencies.

The following examples use the unix executable ./gradlew, however Windows can replace these with ./gradlew.bat.

Running via Gradle

The application gradle plugin provides the run task, which starts up the Main client class. With this option, arguments can be provided via --args.

./gradlew run --args="1 live live highmem members"

Building a Jar

The jar task can be used to build a jar, which is generated in the build/libs directory.

./gradlew jar
java -jar ./build/libs/435-client-0.1.jar 1 live live highmem members

About

Refactoring the 435 client


Languages

Language:Java 100.0%