|
7 | 7 |
|
8 | 8 | RuneJS is a RuneScape game server written entirely using TypeScript and JavaScript. The aim of this project is to create a game server that is both fun and easy to use, while also providing simple content development systems.
|
9 | 9 |
|
10 |
| -Currently the server is set up for the 435 revision of the game, which was a game update made on October 31st, 2006. There are not any plans to convert it to other versions at this time. |
| 10 | +Currently, the server runs on the 435 revision of the game, which was a game update made on October 31st, 2006. There are not any plans to convert it to other versions at this time. |
| 11 | + |
| 12 | +**The project is completely open-source and open to all pull requests and/or issues. Many plugins have been added by contributor pull requests and we're always happy to have more!** |
11 | 13 |
|
12 | 14 | ## Features
|
13 | 15 |
|
14 | 16 | - RSA and ISAAC ciphering support.
|
15 | 17 | - Login & input/output packet handling.
|
16 | 18 | - Player saving/loading via JSON files.
|
| 19 | +- Player credential validation and password hashing. |
17 | 20 | - Multiplayer support.
|
18 |
| -- Map region/chunk handling. |
19 |
| -- Item inventory implementation. |
| 21 | +- Map-chunk based positioning. |
| 22 | +- Item support: |
20 | 23 | - Item definition parsing via the game cache.
|
21 | 24 | - Additional item data loading via YAML configuration.
|
22 |
| - - Inventory item swapping. |
23 |
| -- Player equipment with item bonuses & weight. |
24 |
| -- NPC spawning and updating. |
| 25 | + - Inventory items, equipment items, item swapping. |
| 26 | + - Item dropping and picking up. |
| 27 | + - Buying/selling via shops. |
| 28 | +- Player equipment: |
| 29 | + - Equipment bonuses and item weight tracking. |
| 30 | + - Full equipment bonus widget support. |
| 31 | +- NPCs and NPC updating: |
25 | 32 | - NPC spawn loading via YAML configuration.
|
26 |
| -- Player & NPC pathing validation via collision and tile maps generated from the 377 game cache. |
27 |
| -- A basic REST service for polling logged in users. |
28 |
| -- Full functional update server. |
| 33 | +- Player & NPC pathing validation via collision and tile maps generated from the game cache. |
| 34 | +- A basic REST service for polling logged in users and game items. |
| 35 | +- Fully functional game update server. |
29 | 36 | - A diverse TypeScript plugin system for easily writing new content based off of in-game actions.
|
30 |
| -- Flexible quest and dialogue systems for easy content development. |
| 37 | +- A simplified JavaScript plugin system for quickly and easily bootstrapping game content. |
| 38 | +- Flexible quest and dialogue systems for more advanced content development. |
31 | 39 |
|
32 | 40 | ## Usage
|
33 | 41 |
|
34 |
| -1. Download and install Node.JS **version 13 or higher**: https://nodejs.org/en/ |
| 42 | +1. Download and install NodeJS **version 13 or higher**: https://nodejs.org/en/ |
35 | 43 | 2. Clone the Github Repo: https://github.com/rune-js/server
|
36 | 44 | 3. Install dependencies by navigating to the project in your Terminal or command prompt and running the command npm install
|
37 | 45 | 4. Copy the `data/config/server-config-default.yaml` and paste it into the same folder using the name `server-config.yaml`.
|
|
0 commit comments