- Notifications
You must be signed in to change notification settings - Fork23
🎮 runescape classic web client
License
2003scape/rsc-client
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
a port of therunescape classic client(mudclient revision 204)from java to javascript.
this client is designed to work withrsc-server andRSCGo.
$ npm install @2003scape/rsc-clientafter making modifications to./src/, run$ npm install to install developerdependencies, then$ npm run build-dev to create a new bundle in./dist/.
the./dist/ directory contains everything you need to use the client.run$ npm start to start a simple HTTP server athttp://localhost:1337.you may put optional arguments into the hash of the URL:
http://localhost:1337/index.html#members,127.0.0.1,43595alternatively, you can manually invokemudclient on your own canvas:
constmudclient=require('@2003scape/rsc-client');constmc=newmudclient(document.getElementById('mudclient-canvas'));mc.members=false;mc.threadSleep=10;(async()=>{awaitmc.startApplication(512,346,'Runescape by Andrew Gower');})();
if you don't want to host a separate websockets server, you canpass aWeb Workerinstance of rsc-server into the.server property instead.
seehttps://github.com/2003scape/rsc-server#browser-usage
features from earlier mudclients and/or inspired by modern third-party clientswith their default values:
// hold down middle click and move the mouse to rotate the camera (only when// camera is type manual)mc.options.middleClickCamera=true;// scroll panel lists and chatbox with the mouse wheel (and camera if zoom// enabled)mc.options.mouseWheel=true;// click the compas to face northmc.options.resetCompass=true;// show roofs unless inside buildingsmc.options.showRoofs=false;// use arrow keys (and mouse wheel if enabled) to zoom in and outmc.options.zoomCamera=true;// show the remaining experience until next level in skills tabmc.options.remainingExperience=false;// show your total experience in the skills tabmc.options.totalExperience=false;// censor chat and private messagesmc.options.wordFilter=true;// support account registration, password changes and recovery within the// client using jagex's older UIsmc.options.accountManagement=true;// display an "Fps: X" counter at the bottom right of the screenmc.options.fpsCounter=false;// retry logins when the server disconnectsmc.options.retryLoginOnDisconnect=true;// experimental mobile supportmc.options.mobile=false;
make sure that wherever you host it, it's able to access./data204/ viaXHRfor its cache files.
what is the purpose of
| 0? why not useMath.floor()?number | 0is anasm.jsdeclaration for declaring a number as a 32-bit integer. the originaljava client used integer overflow techniques often, and this is the mostperformant method to declare them and accomplish the correctbehaviour (javascript'sNumberis anIEEE 754; ajava double).
Copyright 2021 2003Scape Team
This program is free software: you can redistribute it and/or modify it underthe terms of the GNU Affero General Public License as published by theFree Software Foundation, either version 3 of the License, or (at your option)any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License alongwith this program. If not, seehttp://www.gnu.org/licenses/.
About
🎮 runescape classic web client
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.
