{"_id":"@2003scape/rsc-server","_rev":"3-d44eb5c74f40c5f24b705588e4e5fecf","name":"@2003scape/rsc-server","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@2003scape/rsc-server","version":"1.0.0","description":"runescape classic game server emulator","main":"src/server.js","scripts":{"start":"./src/bin.js | garnish"},"repository":{"type":"git","url":"git+https://github.com/2003scape/rsc-server.git"},"keywords":["runescape","rsc","game","server","mmorpg","emulator"],"author":{"name":"2003Scape Team"},"license":"AGPL-3.0+","bugs":{"url":"https://github.com/2003scape/rsc-server/issues"},"homepage":"https://github.com/2003scape/rsc-server#readme","dependencies":{"@2003scape/rsc-captcha":"^1.0.0","@2003scape/rsc-data":"^1.0.1","@2003scape/rsc-landscape":"^2.0.0","@2003scape/rsc-path-finder":"^1.0.0","@2003scape/rsc-socket":"^1.0.0","bulk-require":"^1.0.1","flat":"^5.0.2","js-quadtree":"^3.3.3","json-socket":"^0.3.0","rand-token":"^1.0.1","ws":"^7.3.1","yargs":"^16.0.3"},"devDependencies":{"garnish":"^5.2.0"},"gitHead":"9486360f501305831f9914872dc5f9bed9c60200","_id":"@2003scape/rsc-server@1.0.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","_npmUser":{"name":"misterhat","email":"misterhat144@gmail.com"},"maintainers":[{"name":"misterhat","email":"misterhat144@gmail.com"}],"dist":{"integrity":"sha512-WUiHCGDdUXf0Y5PrGGy/i57AuueT+PeCb4gbi4SqiH5Swstrx58aJ9wibwtG1+95pwaP7+KzmyZ8Mko8oaSQpg==","shasum":"a431410fa342ba63e9043137a2e2b3e9dd66ebb6","tarball":"https://registry.npmjs.org/@2003scape/rsc-server/-/rsc-server-1.0.0.tgz","fileCount":109,"unpackedSize":153330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkfXJCRA9TVsSAnZWagAAi+MQAIYDlM70GDcM2tkzrsfE\nkg7fTNOsXXsWY9pfU6nU1x4MBeJo8rpyFTtU2zIVg7n+eiNDfupyBGaroGFv\n7VmnbXJLBSV4ix9mzj5nkNxm/4gUPFTqobfBnKTuymLAG0dyRfOdMPghAnm3\nZBhu4rLbrejo1BABYdNJGnv2FDmbUBwPSMo8m7B2PSlWz7LMatWewfKM25Zl\nzjzLp6NiSz81r8OdnFa81+KyJANYzq99Bo6cskAHBroVm2Go4NEIGzIfK27d\nCmcUOGsXdc6DDVfKwpGhc5e56hLKPtce1iraKRZLir5D0ULYduAR31jwnY52\ngXnG8rTUn4GS2MSBxWsKX4JUgzmD40Tdt5fEqj/QXQsX3bGT8/2rRJfXRGGw\nNwEw31jPtnPnZ2+U33oLYiblgRsKb283JWD32Pr6u2Xs2Bm3YDJnrvT1eMVz\nZm7QOgVqLeXVk8XGyOjFOK9yB+jpV1eA8zVudqZyS0Jx2GeIaoBSHqu/sxgf\nh+nEf6Nr8o/OMfsEYJ4NeXNTnFkL5EpVeFKSMuuwI87ClASxAwFQc6fQm9vk\npQ7QOy3foJ4HAjK/+0Ss87UuWcJ00XAZlwKHB1tbqoocFOP8+nb7sepej6K4\ng6WD29GNtyWe1ROVwSTQeZVgLg2gLr7bKhR5XgqpyeOql3vALSaWYKtGHexS\nPrh+\r\n=PyDz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgXLY6FlsAP4lbnBTiGLIhMMfSX8Pk3Y75K5LXjxYuHAIgY08JFDIS/6488eVvYOXU/Ds0rNEJcWGJrX6tIYXwUiE="}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rsc-server_1.0.0_1603401161035_0.3540650900356479"},"_hasShrinkwrap":false},"1.0.1":{"name":"@2003scape/rsc-server","version":"1.0.1","description":"runescape classic game server emulator","main":"src/server.js","scripts":{"start":"./src/bin.js | garnish"},"repository":{"type":"git","url":"git+https://github.com/2003scape/rsc-server.git"},"keywords":["runescape","rsc","game","server","mmorpg","emulator"],"author":{"name":"2003Scape Team"},"license":"AGPL-3.0+","bugs":{"url":"https://github.com/2003scape/rsc-server/issues"},"homepage":"https://github.com/2003scape/rsc-server#readme","dependencies":{"@2003scape/rsc-captcha":"^1.0.0","@2003scape/rsc-data":"^1.0.1","@2003scape/rsc-landscape":"^2.0.0","@2003scape/rsc-path-finder":"^1.0.0","@2003scape/rsc-socket":"^1.0.0","bole":"^4.0.0","bulk-require":"^1.0.1","flat":"^5.0.2","js-quadtree":"^3.3.3","json-socket":"^0.3.0","rand-token":"^1.0.1","ws":"^7.3.1","yargs":"^16.0.3"},"devDependencies":{"garnish":"^5.2.0"},"gitHead":"e0570e024028cf7983a52ad50711012fef725c99","_id":"@2003scape/rsc-server@1.0.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","_npmUser":{"name":"misterhat","email":"misterhat144@gmail.com"},"maintainers":[{"name":"misterhat","email":"misterhat144@gmail.com"}],"dist":{"integrity":"sha512-HM4X2RxwNhmjRdMYhjB2IllhzeT3cq1h9nyr894OKjtMiIRHjdHuQ8Y+5JwbjuaID+DGVnZENsWhva3DtFT5iw==","shasum":"d4e2079ee2f3c444c6f656a6553d1f7bceaf3e23","tarball":"https://registry.npmjs.org/@2003scape/rsc-server/-/rsc-server-1.0.1.tgz","fileCount":109,"unpackedSize":153352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkf+TCRA9TVsSAnZWagAAOb0P/jnRGvwjNo96agQmi0OM\n8fcOR+p45hWFQp8EPjrqagV0LAEr39STfoEVnoIQ7gF/9ovIDFKfFitu5PB4\n5ahFPJ4rmLri1+mYKTSN2+a61rkeK0pcGBbk8TaTl5dT+4iUTPcA5lKBXqSM\n56tu2Pugi2xErPk42FxPCVTh8wBv7EaCIBAlYboQSV2t49DmKrOCOaxKBAwy\nPjXHCmK+TYfqYgSCiqWJZg6Q3stPx9gtMpJOQ5+KEJcRQonRWUvcFH+cJhqI\nMLA9MmhT/Gn34YT7W+7ub3L//X/coRgmn0MpFUoIy1S/47aJw6BNXCfNmX/s\nZVZ9IcO3RqKFf5xVT9r2giYn5wabgdZBLFvxEkGmQK6//UyeJ0KWEZxPa/am\ngfvgzDoPLTCg8oY6B0CYwimhExbyEJKTo8EyRluOdpvbdy7PgrMq3fPuEI7n\nryN99W/wIr3rkbU8wPANb5heHsImfPM8QNIcetQ7iuwCIZD2BqyWQadJ0lSr\nSTngu5EKR36/zbUtDsqugnV1BUWXkOblyKpkRhC6jkwbX63TC3S9Q3cIm84h\nsGv4Ay/qrp/IGSLPtH9hv5yavGxTx7WWcTz8LORyVURlHoQRxQyyyQ5a0ojO\nxC8LCH1Zi6+zekjIge/X/F1aLL/tkxXlkIdWwE+ppH/uFu2jEPPn1e4z5NxE\nqMWt\r\n=P8zv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfHplQ/FAm2cFL4N3GC9/9GLxoMcG7SLY9BGBuZnd1LQIhANgtLQoAjYLItGfnpkV/dvD9LSQ9v2mSGHz/4DgXjnWr"}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rsc-server_1.0.1_1603403666827_0.14466999727889474"},"_hasShrinkwrap":false},"1.1.0":{"name":"@2003scape/rsc-server","version":"1.1.0","description":"runescape classic mmorpg game server emulator","main":"src/server.js","scripts":{"start":"./src/bin.js | garnish","build-browser-dev":"browserify -t brfs src/browser-index.js > dist/browser.bundle.js","build-browser":"npm run build-browser-dev && uglifyjs dist/browser.bundle.js > dist/browser.bundle.min.js"},"repository":{"type":"git","url":"git+https://github.com/2003scape/rsc-server.git"},"keywords":["runescape","rsc","game","server","mmorpg","emulator"],"author":{"name":"2003Scape Team"},"license":"AGPL-3.0+","bugs":{"url":"https://github.com/2003scape/rsc-server/issues"},"homepage":"https://github.com/2003scape/rsc-server#readme","dependencies":{"@2003scape/rsc-captcha":"^1.1.0","@2003scape/rsc-data":"^1.0.18","@2003scape/rsc-landscape":"^2.0.1","@2003scape/rsc-path-finder":"^1.1.1","@2003scape/rsc-socket":"^1.0.7","bole":"^4.0.0","flat":"^5.0.2","garnish":"^5.2.0","js-quadtree":"^3.3.6","json-socket":"^0.3.0","knuth-shuffle-seeded":"^1.0.6","rand-token":"^1.0.1","random":"^3.0.6","recursive-readdir":"^2.2.2","ws":"^7.5.2","yargs":"^17.0.1"},"devDependencies":{"brfs":"^2.0.2","browserify":"^17.0.0","idb-keyval":"^5.0.6","typedarray-to-buffer":"^4.0.0","uglify-js":"^3.13.10"},"gitHead":"eb4501c568a5409caffae89767ae5c4361ab7ab0","_id":"@2003scape/rsc-server@1.1.0","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-cu8fPUbZCfPqn7x3xEuouIMQ/Ip4N8Evlq4vay5TZe5EZVJlRn+W2F04w4YzQMhUv2JhdqAj3dAvgARvDgZmgQ==","shasum":"c849f2d4fc3e3e5b7d2fd4ad2fad9d2b847fce95","tarball":"https://registry.npmjs.org/@2003scape/rsc-server/-/rsc-server-1.1.0.tgz","fileCount":293,"unpackedSize":12331436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5JoNCRA9TVsSAnZWagAAWgoP/0ijxDFFMp5kaabFf8H1\nUBZ4HxBRb8pQtVHCFx+5k8lhyUrta4xPCPEaVfe1giVRv5KmJxfNElTvDUJz\nAGBYJlTJbAijtoJ1FDZmTu/+CBzCdO8j1UKw3hcfTcRkx2KL2keumZucFxyh\n/Y08kzcvvataB/EchYDMVDMk6FaObiFCIrhDFAFicDLCwXOIGSuPzDuEwTxd\ndJp0wyXNaOf5kF5lKLmILEgN7G7vLHBCflUnxuWgfck+xQuaXuSdze4ePqBA\nI7D7nD2c2cKztgRwKzgNDzjLCXdojkP5zUgiXA+NHMLNRbvHpDeSC2cMKZfp\nSXUiwlma0LspUFLBtdpjNaTJgWjOLVAei1/lADdB7MyX8uAr15LpH3zVd7k6\nyfhBKvsjZzHU7hkbDQ3cqgRR9tvlUpR343se6UPs8aGgctz8bZacUcEwJf0Y\nvWci8RIv7DH9PC2uZmZdwerJPMuS5hYYBYTZN9DFB7EUeD4YeDlf0Ea2d6ah\nX0LQexiTXLy+KWqqaZgvvNY6zC5izUF4r9aW0pd+JCphMmRWqZAIubVCfORW\n8tC3KSDkATZaTE2oeZEeRCYOqdL6DoahY2O/XzhOZ8+f2FLQ769a4GbWlw6Z\nlTztTi91uoe64lwnAps3uPk6rF6kKdtHrFhJXedpBnAY+vhaYJS7Udp2DZ8Z\nW7qX\r\n=d+Ay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6fPARfenS4XtpJRCzs3V742O/J65Qaia19ShQ3lojvwIhAPkjIZ4scKBrW3Z+gSRcY8nz2oaalaGFbMCdsKTlgOMb"}]},"_npmUser":{"name":"misterhat","email":"misterhat144@gmail.com"},"directories":{},"maintainers":[{"name":"misterhat","email":"misterhat144@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rsc-server_1.1.0_1625594380823_0.967244864901663"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-22T21:12:40.821Z","1.0.0":"2020-10-22T21:12:41.228Z","modified":"2022-04-04T10:34:58.125Z","1.0.1":"2020-10-22T21:54:26.985Z","1.1.0":"2021-07-06T17:59:41.081Z"},"maintainers":[{"name":"misterhat","email":"misterhat144@gmail.com"}],"description":"runescape classic mmorpg game server emulator","homepage":"https://github.com/2003scape/rsc-server#readme","keywords":["runescape","rsc","game","server","mmorpg","emulator"],"repository":{"type":"git","url":"git+https://github.com/2003scape/rsc-server.git"},"author":{"name":"2003Scape Team"},"bugs":{"url":"https://github.com/2003scape/rsc-server/issues"},"license":"AGPL-3.0+","readme":"# rsc-server\n[runescape classic](https://classic.runescape.wiki/w/RuneScape_Classic)\nprivate server mmorpg emulator. designed to work with the web-based\n[rsc-client](https://github.com/2003scape/rsc-client) or the java-based\n[mudclient204](https://github.com/2003scape/mudclient204).\n\nfeatures:\n * supports TCP and WebSockets via Node.js with SQLite persistence and multiple\n worlds (with [rsc-data-server](https://github.com/2003scape/rsc-data-server)),\n and single-page with optional\n multiplayer on the browser via WebWorkers and WebRTC\n * [plugin-based content addition](https://github.com/2003scape/rsc-server/tree/master/src/plugins).\n add files with certain function signatures (\n `function onTalkToNpc(player, npc) {}`,\n `function onUseWithInventory(player, item, target) {}`, etc.) to implement\n quests, skills, item interactions, and other game content\n * [simple, JSON-based data formats for spawns, skills, probabilities, etc.](https://github.com/2003scape/rsc-data)\n * NPC combat (melee and ranged) with accurate\n [roll-based RNG drops](https://github.com/2003scape/rsc-data/blob/master/rolls/drops.json)\n are implemented\n * [all of the free-to-play quests implemented](https://github.com/2003scape/rsc-server/tree/master/src/plugins/quests/free)\n * [accurate sleep captcha](https://github.com/2003scape/rsc-captcha)\n * [compatible with period-accurate website replica](https://github.com/2003scape/rsc-www)\n\n## install\n\n* download and install [Node.js](https://nodejs.org/en/) (which comes with\n[npm](https://docs.npmjs.com/about-npm))\n\n* for the latest stable release, run:\n\n      # npm install -g @2003scape/rsc-data-server @2003scape/rsc-server\n\n* to check out the latest unstable features, install\n[git](https://git-scm.com/downloads) and run:\n\n      $ git clone https://github.com/2003scape/rsc-data-server\n      $ cd rsc-data-server && npm install && cd ../\n      $ git clone https://github.com/2003scape/rsc-server\n      $ cd rsc-server && npm install\n\n* if you are having npm build issues, you may require additional packages.\nvisit the [node-canvas](https://github.com/Automattic/node-canvas#compiling)\ngithub for more information\n\n* install\n[rsc-client](https://github.com/2003scape/rsc-client#install) or\n[mudclient204](https://github.com/2003scape/mudclient204#build-and-run) to login\n\n## cli usage\nrsc-server connects to\n[rsc-data-server](https://github.com/2003scape/rsc-data-server) for database\nsaving/loading and managing friends lists across worlds. it supports TCP with\nTLS or IPC [domain sockets](https://en.wikipedia.org/wiki/Unix_domain_socket).\n\n* if installed with npm, use (`-c <config-file>` is optional for both,\nthey will look for *config.json* in their own directory first):\n\n      $ rsc-data-server -c /etc/rsc-data-server/config.json &\n      $ rsc-server -c /etc/rsc-server/config.json\n\n* if cloned from git:\n\n      $ cd rsc-data-server && npm start &\n      $ cd ../rsc-server && npm start\n\n## browser usage\ncreate a new `Worker` instance using\n`./dist/server.bundle.js` or `./dist/server.bundle.min.js`. if making any\nchanges to the source, use `$ npm run build-browser` to re-build these files.\nyou can then pass the worker instance into\n[mudclient's](https://github.com/2003scape/rsc-client) `.server` property.\n\n```javascript\nconst serverWorker = new Worker('./server.bundle.min.js');\n\nserverWorker.postMessage({\n    type: 'start',\n    config: {\n        worldID: 1,\n        version: 204,\n        members: false,\n        experienceRate: 1,\n        fatigue: true,\n        rememberCombatStyle: false\n    }\n});\n\n// mc.server = serverWorker;\n```\n\n## commands\n\n|Command|Description|\n|-|-|\n|::addexp \\<skill\\> \\<experience\\>|Add experience to a skill name.|\n|::appearance|Toggle the character creation screen.|\n|::bank|Open the bank interface.|\n|::bubble \\<id\\>|Create a player action bubble with an item ID.|\n|::clearinventory|Clear your inventory items.|\n|::coords|Display your current coordinates.|\n|::dmg \\<amount\\>|Remove a certain amount of current hitpoints.|\n|::fatigue|Set your fatigue to 100%.|\n|::give \\<username\\> \\<id\\> \\<amount = 1\\>|Spawn an item in someone else's (online) inventory with optional amount.|\n|::goto \\<username\\>|Teleport to a username (online).|\n|::gotoentity \\<type\\> \\<id\\>|Teleport to the first entity (npcs, gameObjects, groundItems) of a certain ID.|\n|::item \\<id\\> \\<amount = 1\\>|Spawn an item in your inventory with optional amount.|\n|::kick \\<username\\>|Forcefully log out a username (online).|\n|::npc \\<id\\>|Spawn an NPC in your current position.|\n|::setqp \\<amount\\>|Set your quest points to a certain amount.|\n|::shop \\<name\\>|Open a shop by name (see [rsc-data/shops.json](https://github.com/2003scape/rsc-data/blob/master/shops.json))|\n|::sound \\<name\\>|Play a sound file (members client only, see [rsc-sounds/sounds1.json](https://github.com/2003scape/rsc-sounds/blob/master/sounds1.json)).|\n|::step \\<deltaX\\> \\<deltaY\\>|Step in a certain direction (delta can be -1, 0 or 1).\n|::teleport \\<x\\> \\<y\\> \\| \\<region\\>|Teleport to an x, y coordinate or region name (see [rsc-data/regions.json](https://github.com/2003scape/rsc-data/blob/master/regions.json)).|\n\n## config\nwhen using `$ rsc-server`, pass in `-c <config-file>` (or edit `config.json`\nin the *rsc-server* directory if cloned from git), or change the object\npassed into the `{ type: 'start' }` Worker message to modify the following\nsettings:\n\n```javascript\n{\n    // UNIX socket file used if connecting to rsc-data-server on the same\n    // machine\n    \"dataServerFile\": \"/tmp/rsc-data-server.sock\",\n\n    // optional IP/port if connecting to rsc-data-server on another network\n    \"dataServerTCP\": \"localhost:9001\" || null,\n\n    // password used to authenticate with rsc-data-server\n    \"dataServerPassword\": \"test\",\n\n    // version to check clients on login\n    \"version\": 204,\n\n    // the unique world index to communicate to rsc-data-server\n    \"worldID\": 1,\n\n    // port to listen to for non-websocket regular TCP clients\n    // (for mudclient204)\n    \"tcpPort\": 43594,\n\n    // port to listen to https://developer.mozilla.org/en-US/docs/Web/API/WebSocket connections\n    // (for rsc-client)\n    \"websocketPort\": 43595,\n\n    // country flag to use on the website\n    \"country\": \"CAN\",\n\n    // disable members features and non-members logins & registration for this\n    // world\n    \"members\": false,\n\n    // boost or lower the experience rate\n    \"experienceRate\": 1,\n\n    // enable or disable fatigue gaining\n    \"fatigue\": true,\n\n    // add from/to bank options for certing NPCs (not supported in real RSC)\n    \"bankCertificates\": false,\n\n    // store player combat style in database (not supported in real RSC)\n    \"rememberCombatStyle\": false\n}\n```\n\n## see also\n* [RSCGo](https://github.com/spkaeros/RSCGo) by @spkaeros\n    * runescape classic server written in go\n* [RuneJS](https://github.com/runejs)\n    * runescape 2 server written in javascript\n* [RuneScape Classic Wiki](https://classic.runescape.wiki/)\n    * best source of accurate runescape classic data\n\n## license\nCopyright (C) 2021  2003Scape Team\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as\npublished by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see http://www.gnu.org/licenses/.\n","readmeFilename":"README.md"}