node-red-contrib-doom 0.1.1

Play a browser-hosted Doom/js-dos page from Node-RED and control it with flow messages.

npm install node-red-contrib-doom

node-red-contrib-doom

Node-RED contrib node that exposes a browser Doom page at /doom and forwards flow commands to the page with Server-Sent Events.

This package includes a browser-ready js-dos runtime. It does not include a commercial Doom WAD or game data. Upload your own WAD or a free alternative such as Freedoom.

Local test with npm link

This package has no external npm runtime dependencies.

From this package directory:

npm install
npm link

Then link it into your Node-RED user directory, usually ~/.node-red:

cd ~/.node-red
npm link node-red-contrib-doom
node-red

Open the Node-RED editor at http://localhost:1880, add a doom-control node, upload a game file, and deploy.

Using the node

The node accepts these commands through msg.payload:

"fire"

or:

{ "command": "fire" }

Allowed commands are up, down, left, right, fire, use, run, escape, enter, strafe_left, and strafe_right.

To test quickly, add an Inject node, set msg.payload to the string fire, wire it into doom-control, deploy, and click the Inject button.

Browser page

After deploy, open:

http://localhost:1880/doom

The page loads the configured js-dos engine from the Node-RED route and receives commands from the flow through /doom/events.

Use the upload control in the node editor to upload a .jsdos bundle or .wad file for Spiel. The node remembers the upload automatically.

Building a tgz for Node-RED upload

From this package directory, run:

rm -rf node_modules package-lock.json && rm -f *.tgz && npm install && npm pack

It creates:

node-red-contrib-doom-0.1.0.tgz

Upload that .tgz file in Node-RED's palette manager.

For the simplest no-npm, no-upload installation on Windows, double-click DIREKT-IN-NODE-RED-INSTALLIEREN.cmd. It copies the package directly into %USERPROFILE%\.node-red\node_modules\node-red-contrib-doom. Restart Node-RED afterwards.

Notes about js-dos assets

The package serves its bundled js-dos runtime from /doom/assets/js-dos.js. The uploaded game may be a js-dos-compatible .jsdos bundle or game data handled by js-dos. A plain WAD often also needs a DOS executable and startup command, so a complete .jsdos bundle is the easiest practical test asset.

Node Info

Version: 0.1.1
Updated 12 hours ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

0 in the last week

Nodes

  • doom-control

Keywords

  • node-red
  • doom
  • js-dos
  • game

Maintainers