Giter Site home page Giter Site logo

neuro's Introduction

ranvier

Node.js-based MUD engine

Ranvier is a MUD game engine whose goal is to be a simple but powerful way to build whatever MUD you want with special care given to extensibility. The core code strives to be completely unopinionated toward any specific style of game while using the bundle system to build the game you want without having to dig through the engine's code.

Special Features

  • Robust bundle system: Nearly every aspect of the game can be modified without changing the core and allows for easy packaging and sharing of commands/areas/items/npcs/channels/behaviors
  • Unopinionated network layer: easily swap out telnet for any network layer you like. No need to gut the whole codebase just to support a different transport type, just drop in a file.
  • Customizable data layer: You are not tied to saving in any particular database or file storage sytem
  • Optional coordinate based room system allowing for the flexibilty of a standard MUD world with the easy mappability of a strict 3D world.
  • Scripting for all entities in the game for any event along with behaviors to create shared, composable scripts
  • Skill system with passive/active skills
  • Effects e.g., buffs/debuffs
  • Quest system allowing for starting/progress/completion from any event in the game
  • Communication channels with custom audiences

Documentation

Ranvier prides itself on having thorough documentation which is available on our website: ranviermud.com

Slack

We have a Slack channel you can use to ask questions, suggest features, or just keep up to date with the project: https://ranviermud.slack.com

Get an invite

Requirements

Demo

Point your favorite client or telnet to ranviermud.com port 4000. This demo server is wiped and updated from the master branch every hour.

neuro's People

Contributors

shawncplus avatar stennie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neuro's Issues

Input history not sending correct command

When pressing up or down in the input box, the input box value correctly scrolls through the input history; but, upon pressing enter, only the last command entered is sent if the option for highlighting last command is on, or nothing at all if that option isn't set.

Add support for connecting to server with wss

Neuro currently assumes unencrypted connections, which will prevent connecting from a client served via https to an unencrypted server:

this.websocket = new WebSocket(`ws://${this.hostname}:${this.port}`);

Expected error message in Chrome:

neuro-app.html.js:85 Mixed Content: The page at 'https://...' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://...'. This request has been blocked; this endpoint must be available over WSS.

There's probably a more elegant way to fix this, but my quick fix for connecting to a Heroku dyno is to switch to wss based on the port:

-        this.websocket = new WebSocket(`ws://${this.hostname}:${this.port}`);
+        let protocol = (this.port == 443 ? 'wss' : 'ws');
+        this.websocket = new WebSocket(`${protocol}://${this.hostname}:${this.port}`);

Quitting neuro triggers uncaught exception in Ranvier websocket-networking

Expected behaviour: Quitting neuro should gracefully disconnect from Ranvier before shutting down.

Actual behaviour: Quitting neuro drops the connection and triggers an uncaught server exception due to lack of error handling in websocket-networking (which would be fixed via RanvierMUD/websocket-networking#2).

The onus should probably be on the server in this case, but Neuro could also call disconnect for a more graceful shutdown.

Electron Packager needs to be updated for Node 10+ support

npm run package-mac fails with a non-obvious error:

> electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds

CANNOT RUN WITH NODE 12.19.0
Electron Packager requires Node 4.0 or above.

This is because the pinned version of Electron Packager (8.7.2) has a bug detecting Node 10+:
electron/packager#863

A fix is included in Electron Packager 12.0.2

Feedback

This isn't really an issue. I've been following RanvierMUD for a few years now and never noticed this. I'm so happy to see this. If I could only figure out how to setup & install RanvierMUD. Keep up the good work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.