All Projects → 2003scape → rsc-client

2003scape / rsc-client

Licence: AGPL-3.0 license
🎮 runescape classic web client

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to rsc-client

rscplus
RuneScape Classic client mod & preservation platform
Stars: ✭ 29 (-35.56%)
Mutual labels:  runescape, mmorpg, rsc, runescape-client
midgarts
🏞️ Multi-platform Ragnarök Online MMORPG client
Stars: ✭ 61 (+35.56%)
Mutual labels:  mmorpg, mmorpg-client
2006Scape
A 2006 Runescape Emulation Server
Stars: ✭ 84 (+86.67%)
Mutual labels:  runescape, rsps
Game
⚔️ An online JavaScript 2D Medieval RPG.
Stars: ✭ 388 (+762.22%)
Mutual labels:  mmorpg, javascript-game
Openmu
This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".
Stars: ✭ 243 (+440%)
Mutual labels:  games, mmorpg
Crystalshire
Legacy VB6 open-source ORPG
Stars: ✭ 24 (-46.67%)
Mutual labels:  games, mmorpg
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+1355.56%)
Mutual labels:  games, mmorpg
Awesome Jsgames
A curated list of awesome JavaScript Games 🎮
Stars: ✭ 127 (+182.22%)
Mutual labels:  games, javascript-game
Mirror
#1 Open Source Unity Networking Library
Stars: ✭ 2,905 (+6355.56%)
Mutual labels:  games, mmorpg
hacker-feud
💥 A single page web game made with Svelte.
Stars: ✭ 61 (+35.56%)
Mutual labels:  games, javascript-game
digbot
DigBot is a custom made Discord bot for the DIG gaming community
Stars: ✭ 13 (-71.11%)
Mutual labels:  games
shiromino
A fast-paced puzzle game with roots in the arcade.
Stars: ✭ 28 (-37.78%)
Mutual labels:  games
Manhunt-fix-Windows-10
Manhunt fix for Windows 10 Updated for Windows 10 latest versions
Stars: ✭ 24 (-46.67%)
Mutual labels:  games
encounter
Remaking the classic C64 game in WebGL.
Stars: ✭ 45 (+0%)
Mutual labels:  remake
games
Awesome Games
Stars: ✭ 22 (-51.11%)
Mutual labels:  games
phaser-3-vsc-typescript-nodejs
Template for a new Phaser 3 project with Visual Studio Code, TypeScript, and Node.js.
Stars: ✭ 18 (-60%)
Mutual labels:  javascript-game
eug
Modding tools for Paradox games including Europa Universalis IV and Crusader Kings II
Stars: ✭ 36 (-20%)
Mutual labels:  games
binarium
Binarium cryptocurrency is the first one protected from ASICs
Stars: ✭ 14 (-68.89%)
Mutual labels:  games
openttd
openttd docker container
Stars: ✭ 44 (-2.22%)
Mutual labels:  games
black-hole-square
A puzzle game for js13k 2021
Stars: ✭ 42 (-6.67%)
Mutual labels:  javascript-game

rsc-client

a port of the runescape classic client (mudclient revision 204) from java to javascript.

this client is designed to work with rsc-server and RSCGo.

install

$ npm install @2003scape/rsc-client

usage

after making modifications to ./src/, run $ npm install to install developer dependencies, 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 at http://localhost:1337. you may put optional arguments into the hash of the URL:

http://localhost:1337/index.html#members,127.0.0.1,43595

alternatively, you can manually invoke mudclient on your own canvas:

const mudclient = require('@2003scape/rsc-client');

const mc = new mudclient(document.getElementById('mudclient-canvas'));
mc.members = false;
mc.threadSleep = 10;

(async () => {
    await mc.startApplication(512, 346, 'Runescape by Andrew Gower');
})();

if you don't want to host a separate websockets server, you can pass a Web Worker instance of rsc-server into the .server property instead.

see https://github.com/2003scape/rsc-server#browser-usage

options

features from earlier mudclients and/or inspired by modern third-party clients with 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 north
mc.options.resetCompass = true;

// show roofs unless inside buildings
mc.options.showRoofs = false;

// use arrow keys (and mouse wheel if enabled) to zoom in and out
mc.options.zoomCamera = true;

// show the remaining experience until next level in skills tab
mc.options.remainingExperience = false;

// show your total experience in the skills tab
mc.options.totalExperience = false;

// censor chat and private messages
mc.options.wordFilter = true;

// support account registration, password changes and recovery within the
// client using jagex's older UIs
mc.options.accountManagement = true;

// display an "Fps: X" counter at the bottom right of the screen
mc.options.fpsCounter = false;

// retry logins when the server disconnects
mc.options.retryLoginOnDisconnect = true;

// experimental mobile support
mc.options.mobile = false;

assets

make sure that wherever you host it, it's able to access ./data204/ via XHR for its cache files.

faq

  • what is the purpose of | 0? why not use Math.floor()?

    number | 0 is an asm.js declaration for declaring a number as a 32-bit integer. the original java client used integer overflow techniques often, and this is the most performant method to declare them and accomplish the correct behaviour (javascript's Number is an IEEE 754; a java double).

license

Copyright 2021 2003Scape Team

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free 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 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].