{"id":25940701,"url":"https://github.com/2003scape/rsc-client","last_synced_at":"2025-03-04T05:18:34.555Z","repository":{"id":36184315,"uuid":"213695713","full_name":"2003scape/rsc-client","owner":"2003scape","description":"🎮 runescape classic web client","archived":false,"fork":false,"pushed_at":"2023-07-18T23:21:46.000Z","size":5290,"stargazers_count":56,"open_issues_count":5,"forks_count":23,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-12T06:12:01.694Z","etag":null,"topics":["games","jagex","java-game","javascript-game","mmorpg","mmorpg-client","remake","rsc","rsps","runescape","runescape-client"],"latest_commit_sha":null,"homepage":"https://2003scape.github.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2003scape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-08T16:30:01.000Z","updated_at":"2024-12-11T05:25:45.000Z","dependencies_parsed_at":"2024-12-31T01:00:58.295Z","dependency_job_id":"c577abbe-4d61-4e71-9e4f-bc39835f555a","html_url":"https://github.com/2003scape/rsc-client","commit_stats":{"total_commits":51,"total_committers":2,"mean_commits":25.5,"dds":"0.039215686274509776","last_synced_commit":"3608f109a836b9b055ad9f7563f23ae55c815b09"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2003scape","download_url":"https://codeload.github.com/2003scape/rsc-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240250361,"owners_count":19771780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["games","jagex","java-game","javascript-game","mmorpg","mmorpg-client","remake","rsc","rsps","runescape","runescape-client"],"created_at":"2025-03-04T05:18:34.026Z","updated_at":"2025-03-04T05:18:34.546Z","avatar_url":"https://github.com/2003scape.png","language":"JavaScript","readme":"# rsc-client\na port of the\n[runescape classic](https://classic.runescape.wiki/w/RuneScape_Classic) client\n([*mudclient revision 204*](https://github.com/2003scape/mudclient204))\nfrom java to javascript.\n\nthis client is designed to work with\n[rsc-server](https://github.com/2003scape/rsc-server) and\n[RSCGo](https://github.com/spkaeros/RSCGo).\n\n![](./screenshot.png?raw=true)\n\n## install\n\n    $ npm install @2003scape/rsc-client\n\n## usage\nafter making modifications to `./src/`, run `$ npm install` to install developer\ndependencies, then `$ npm run build-dev` to create a new bundle in `./dist/`.\n\nthe `./dist/` directory contains everything you need to use the client.\nrun `$ npm start` to start a simple HTTP server at http://localhost:1337.\nyou may put optional arguments into the hash of the URL:\n\n    http://localhost:1337/index.html#members,127.0.0.1,43595\n\nalternatively, you can manually invoke `mudclient` on your own canvas:\n\n```javascript\nconst mudclient = require('@2003scape/rsc-client');\n\nconst mc = new mudclient(document.getElementById('mudclient-canvas'));\nmc.members = false;\nmc.threadSleep = 10;\n\n(async () =\u003e {\n    await mc.startApplication(512, 346, 'Runescape by Andrew Gower');\n})();\n```\n\nif you don't want to host a separate websockets server, you can\npass a [Web Worker](https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker)\ninstance of rsc-server into the `.server` property instead.\n\nsee https://github.com/2003scape/rsc-server#browser-usage\n\n## options\nfeatures from earlier mudclients and/or inspired by modern third-party clients\nwith their default values:\n\n```javascript\n// hold down middle click and move the mouse to rotate the camera (only when\n// camera is type manual)\nmc.options.middleClickCamera = true;\n\n// scroll panel lists and chatbox with the mouse wheel (and camera if zoom\n// enabled)\nmc.options.mouseWheel = true;\n\n// click the compas to face north\nmc.options.resetCompass = true;\n\n// show roofs unless inside buildings\nmc.options.showRoofs = false;\n\n// use arrow keys (and mouse wheel if enabled) to zoom in and out\nmc.options.zoomCamera = true;\n\n// show the remaining experience until next level in skills tab\nmc.options.remainingExperience = false;\n\n// show your total experience in the skills tab\nmc.options.totalExperience = false;\n\n// censor chat and private messages\nmc.options.wordFilter = true;\n\n// support account registration, password changes and recovery within the\n// client using jagex's older UIs\nmc.options.accountManagement = true;\n\n// display an \"Fps: X\" counter at the bottom right of the screen\nmc.options.fpsCounter = false;\n\n// retry logins when the server disconnects\nmc.options.retryLoginOnDisconnect = true;\n\n// experimental mobile support\nmc.options.mobile = false;\n```\n\n## assets\nmake sure that wherever you host it, it's able to access\n`./data204/` via\n[XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)\nfor its cache files.\n\n## faq\n* what is the purpose of `| 0`? why not use `Math.floor()`?\n\n  `number | 0` is an\n  [asm.js](https://github.com/zbjornson/human-asmjs#11-type-declaration)\n  declaration for declaring a number as a 32-bit integer. the original\n  java client used integer overflow techniques often, and this is the most\n  performant method to declare them and accomplish the correct\n  behaviour (javascript's\n  [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n  is an [IEEE 754](https://en.wikipedia.org/wiki/IEEE_754); a\n  [java double](https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html)).\n\n## license\nCopyright 2021  2003Scape Team\n\nThis program is free software: you can redistribute it and/or modify it under\nthe terms of the GNU Affero General Public License as published by the\nFree Software Foundation, either version 3 of the License, or (at your option)\nany later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License along\nwith this program. If not, see http://www.gnu.org/licenses/.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2003scape%2Frsc-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2003scape%2Frsc-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2003scape%2Frsc-client/lists"}