Skip to content

2003scape/mudclient177-deob-teavm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mudclient177-deob-teavm

A minimally edited deob of mudclient177 with changes made to support TeaVM for web browser use.

Building:

Tested with OpenJDK 11.

  $ mvn clean package
  $ cd target/ && unzip mudclient-1.0-SNAPSHOT.war
  $ cd teavm/ && patch < ../../classes.patch # `data=` to `data.set()` and `WebSocket.send(Int8Array)` instead of String
  $ cd ../ && st -p 1337 # or any other webserver; go to index.html

The relevant files to host are ./target/index.html, ./target/cache/ and ./target/teavm (optionally ./target/favicon.ico).

Usage:

http://.../index.html#[members],[ip address],[port],[RSA Exponent],[RSA Modulus],[disable opcode obfuscation]

  • [members]
    • pass any value other than "members" to load a free to play configuration
  • [ip address]
    • an IPv4 address where the RSC177 compatible WebSocket server is hosted
  • [port]
    • network port number (e.g. 43594)
  • [RSA Exponent]
  • [RSA Modulus]
    • These two are used together to encrypt password, unique to each server
  • [disable opcode obfuscation]
    • Pass the value "true" to disable opcode obfuscation

Changes from vanilla:

  1. Many fields are named
  2. Three new command line arguments to help facilitate changing the client's endpoint
  3. Removed AWT, replaced with Canvas and DOM events
  4. Removed java Socket, replaced with Socket shim utilizing teavm WebSocket