Thread: [435] RuneJS - An open-source RuneScape game server written in TypeScript & ES6

Page 1 of 7 123 ... LastLast
Results 1 to 10 of 65
  1. #1 [435] RuneJS - An open-source RuneScape game server written in TypeScript & ES6 
    Registered Member
    TheBlackParade's Avatar
    Join Date
    Dec 2019
    Posts
    36
    Thanks given
    42
    Thanks received
    38
    Rep Power
    105
    Attached image

    Attached image


    RuneJS is a RuneScape game server written entirely using TypeScript and modern 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.

    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.

    RuneJS 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!



    Come checkout the project over on Github!


    Features


    Game Server

    ✔️ Game Update Server
    ✔️ Authentication
    ✔️ Packet queueing
    ✔️ RSA + ISAAC ciphering
    ✔️ Server side cache loading
    ✔️ Client pathing validation via cache mapdata
    ✔️ Item/object/npc definitions


    Game World

    ⚡ Bank
    ✔️ Withdraw/Deposit 1,5,10,All
    ✔️ As note
    ✔️ Swap slot
    ✔️ Insert mode:
    ⚡ Deposit box
    ⚡ Audio
    ⚡ Music
    ✔️ Playing music
    ❌ Music Regions
    ❌ Music Player tab
    ⚡ Sounds
    ✔️ Playing sounds
    ⚡ Sound effects for actions
    ✔️ Climbing ladders
    ⚡ Climbing stairs
    ⚡ Lumbridge mill
    ❌ Replacing objects for local player only
    ✔️ Grain in hopper
    ✔️ Operating levers
    ✔️ Removing flour if and only if grain has been processed
    ✔️ Cow milking
    ✔️ Container filling
    ✔️ Buckets, Jugs, Wells, Sinks, Fountains
    ✔️ Emptying Containers
    ⚡ Home Teleport
    ⚡ Emotes
    ⚡ Skillcape
    ✔️ Normal emotes
    ⚡ Shops
    ✔️ Shop logic
    ⚡ World Shops
    ✔️ Al Kahrid gem trader
    ✔️ Louie Armoured legs
    ✔️ Dommik craftin shop
    ✔️ Raneal Super skirt
    ✔️ Bob's axes
    ⚡ Inventory
    ✔️ Swap Items
    ✔️ Drop Item
    ✔️ Pickup item
    ⚡ Equip item
    ⚡ Complete equipment stats and slot info
    ✔️ Wielding logic (Weight, Stats, Equipping)
    ✔️ Pickables
    ✔️ Wheat, Flax, Potato, Onion, Cabbage
    ⚡ Doors
    ✔️ Door logic
    ⚡ Door ids
    ❌ Clue Scrolls


    Skills

    ⚡ Combat
    ⚡ Melee
    ❌ Ranged
    ❌ Magic
    ❌ Prayer
    ❌ Cooking
    ❌ Fletching
    ❌ Fishing
    ⚡ Firemaking
    ⚡ Fire lighting
    ⚡ Chain fires w/ clipping & movement
    ❌ Herblore
    ❌ Agility
    ❌ Thieving
    ❌ Slayer
    ❌ Farming
    ❌ Runecrafting
    ❌ Construction
    ⚡ Woodcutting
    ✔️ Formula for success
    ✔️ Chopping Trees
    ✔️ Axes
    ✔️ Birds nests
    ⚡ Stump ids
    ❌ Canoes
    ⚡ Mining
    ✔️ Formula for success
    ✔️ Mining ores
    ✔️ Pickaxes
    ✔️ Random gems
    ✔️ Gem ores
    ✔️ Essence mining
    ⚡ Empty Rock ids
    ⚡ Crafting
    ✔️ Spinning wheel
    ⚡ Smithing
    ✔️ Smelting ore to bars
    ⚡ Forging
    ✔️ Correct items
    ⚡ Hiding non applicable items


    Quests

    ✔️ Cook's Assistant



    Setup

    1. Download and install NodeJS version 13 or higher: https://nodejs.org/en/
    2. Clone the Github repo: https://github.com/rune-js/server
    3. Install dependencies by navigating to the project in your Terminal or command prompt and running the command npm install
    4. Copy the data/config/server-config-default.yaml and paste it into the same folder using the name server-config.yaml.
    5. Go into your new server-config.yaml file and modify your RSA modulus and exponent with the ones matching your game client.
      • You may also modify the server's port and host address from this configuration file.
    6. Run the game server and REST service by inputting the command npm start


    The game server will spin up and be accessible via port 43594. The REST service can be accessed via port 8888.



    Cache Parsing

    A separate package was created that RuneJS uses to parse the 435 game cache. This package decodes item definitions, npc definitions, location object definitions, widgets, sprites, and map data (tiles and location objects) for any implementing app to make use of.

    The RuneJS cache-parser package can be found here:

    Github: rune-js/cache-parser
    (also published on NPM under the namespace runejs)



    REST API

    Online players can be polled via the REST protocol for web applications.


    API Endpoints:

    GET /players : Returns a list of players currently logged into the game server.
    GET /items?page=x&limit=y : Returns a list of item metadata loaded by the game server.
    GET /items/{itemId} : Returns details about a specific item by id.
    PUT /items/{itemId} : Updates an item's configurable server data.



    Media

    Spoiler for Media:

    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image
    Attached image



    Contributors

    Check out our list of contributors over on Github: github.com/rune-js/server/graphs/contributors
    Last edited by TheBlackParade; 06-16-2020 at 03:34 AM. Reason: Updating feature list
    Reply With Quote  
     


  2. #2  
    JavaScript Heathen 👹

    frostbit3's Avatar
    Join Date
    Mar 2012
    Age
    29
    Posts
    404
    Thanks given
    381
    Thanks received
    90
    Rep Power
    78
    good shit ))
    >> real life is pretty much the same as code. off-by-one, naming, and unterminated recursion
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Extreme Donator

    Jigsaw's Avatar
    Join Date
    Jan 2011
    Posts
    568
    Thanks given
    336
    Thanks received
    351
    Rep Power
    1383
    Impressive! I'll be keeping an eye on this.

    Attached image
    Reply With Quote  
     

  5. Thankful user:


  6. #4  
    Banned

    Join Date
    May 2017
    Age
    27
    Posts
    1,552
    Thanks given
    946
    Thanks received
    1,395
    Rep Power
    0
    Rune.js - https://runemadsen.github.io/rune.js/ - A JavaScript library for programming graphic design systems with SVG.
    Reply With Quote  
     

  7. #5  
    Extreme Donator

    Jigsaw's Avatar
    Join Date
    Jan 2011
    Posts
    568
    Thanks given
    336
    Thanks received
    351
    Rep Power
    1383
    Quote Originally Posted by Guardian View Post
    Rune.js - https://runemadsen.github.io/rune.js/ - A JavaScript library for programming graphic design systems with SVG.
    I'm not convinced that will be much of an issue, although if @TheBlackParade does decide to change the name, rs.js has a nice ring to it.

    Attached image
    Reply With Quote  
     

  8. Thankful user:


  9. #6  
    Banned

    Join Date
    May 2017
    Age
    27
    Posts
    1,552
    Thanks given
    946
    Thanks received
    1,395
    Rep Power
    0
    Its confusing rn, since rune.js library is common used by senior devs
    Reply With Quote  
     

  10. #7  
    Unfortunately we’re all human. Except me


    Join Date
    Aug 2011
    Posts
    926
    Thanks given
    539
    Thanks received
    439
    Rep Power
    601
    Nice work
    Reply With Quote  
     

  11. Thankful user:


  12. #8  
    [435] RuneJS - An open-source RuneScape game server written in TypeScript & ES6



    Scu11's Avatar
    Join Date
    Aug 2007
    Age
    30
    Posts
    16,307
    Thanks given
    7,215
    Thanks received
    12,308
    Rep Power
    5000
    Quote Originally Posted by Guardian View Post
    rune.js library is common used by senior devs
    barely downloaded 100 times per week so ur stretching by claiming its "commonly used" lmao

    Attached image
    Reply With Quote  
     

  13. Thankful users:


  14. #9  
    Developer


    Join Date
    Aug 2012
    Posts
    2,493
    Thanks given
    180
    Thanks received
    1,732
    Rep Power
    2487
    Quote Originally Posted by Scu11 View Post
    barely downloaded 100 times per week so ur stretching by claiming its "commonly used" lmao
    and not to mention "senior devs" as if this library requires you to have years of knowledge and experience before being able to work with
    Reply With Quote  
     


  15. #10  
    Registered Member
    TheBlackParade's Avatar
    Join Date
    Dec 2019
    Posts
    36
    Thanks given
    42
    Thanks received
    38
    Rep Power
    105
    Thanks for the support! I'd actually seen that while I was setting up the Github org, but didn't figure it would be too much of an issue. Though if they do happen to take up issue with it, I wouldn't care about changing the name. RS.JS indeed doesn't sound too bad, haha. Scape.JS wouldn't be awful either.


    EDIT:

    @frostbit3 literally just saw your post about a JS/Node based server from your signature haha. Had no idea anyone had even considered this before, but it's funny that our posts are so close together in time especially.


    EDIT 2:

    Completed a system for loading additional item information (weight, equipment stats, equip slot, etc...) and merged into master. Also made a Kanban board on the main repo for visibility into how development is going: https://github.com/rune-js/server/projects/1

    Haven't had time to do much today, as I was busy cleaning out my polebarn/shop. Got very messy after a recent engine swap and the weather has been superb lately so it was a good time to do all that. May start on equipment and equipment updating today, not sure yet.


    EDIT 3:

    Updated the first post to include a more verbose setup list and a new project logo. Also edited the features list a bit to include the fact that RSA encryption for login and the isaac cipher for packets are included in this as well.
    Reply With Quote  
     

  16. Thankful users:


Page 1 of 7 123 ... LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Replies: 1
    Last Post: 12-06-2011, 09:30 PM
  2. Replies: 5
    Last Post: 09-28-2011, 06:39 AM
  3. Replies: 38
    Last Post: 09-01-2009, 10:02 PM
  4. PyWorld - Runescape server written in Python
    By w::v::d in forum Projects
    Replies: 15
    Last Post: 08-10-2009, 11:25 PM
  5. Replies: 8
    Last Post: 04-27-2008, 05:41 AM
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •