• nodejs doors

    From ryan@21:1/168 to nuskooler on Thu Sep 12 14:52:16 2019
    I've been looking at enigma a bit lately and I'm interested in door
    development on nodejs. What do you think would be the minimum basic required dependencies to build a simple door? I've been running hack & slash (aka dankdomain) for a bit now and really enjoy it, but it's fairly bloated for my purposes.

    I'd rather not putz with dos emulation. I think it should be reasonable
    enough to invoke the client connection and make it point at a dropfile or something, or otherwise "know" the user and node info. Sqlite can probably handle file locking and multiuser stuff. Anyway, just curious what you think here. I haven't actually done any npm/node work but it could be cool to build
    a "door kit" of sorts.

    --- Mystic BBS v1.12 A43 2019/03/02 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From NuSkooler@21:1/121 to ryan on Fri Sep 13 19:29:38 2019

    On Thursday, September 12th ryan said...
    I've been looking at enigma a bit lately and I'm interested in door development on nodejs. What do you think would be the minimum basic required dependencies to build a simple door? I've been running hack & slash (aka dankdomain) for a bit now and really enjoy it, but it's fairly bloated for my purposes.

    If you want something that is compatible with *most* systems, you probably need
    at least door32.sys dropfile support with the shared file descriptor. For Node.js this is actually a issue which is why I wrote Bivrost! to bridge them. Of course you can also have a "connect back" option where your door connects to
    a socket FD (which is simple in Node).

    At the bare minimum, you just need a socket connection to read & write to. Beyond that, you'll probably want various draw routines and the like -- a good option may be the blessed library (look in NPM) though IIRC it hasn't been worked on in quite some time, but probably mostly good to go (there are also many forks).


    On Thursday, September 12th ryan was heard saying...
    I'd rather not putz with dos emulation. I think it should be reasonable enough to invoke the client connection and make it point at a dropfile or something, or otherwise "know" the user and node info. Sqlite can probably handle file locking and multiuser stuff. Anyway, just curious what you think here. I haven't actually done any npm/node work but it could be cool to build a "door kit" of sorts.

    When you write good Node.js, you write async code, so you'll be getting multi-user for "free". As you say, SQLite can handle multiple connections -- it
    has it's limitations but for BBS usage you have plenty of room; You can always
    abstract it or point to a different DB such as PostgreSQL if you though you'd have a ton of users at once :)

    A Node.js door kit would be pretty cool IMO, and probably get more people writing some doors.



    --
    NuSkooler
    Xibalba BBS @ xibalba.l33t.codes / 44510(telnet) 44511(ssh)
    ENiGMA 1/2 BBS WHQ | Phenom | 67 | iMPURE | ACiDic
    --- ENiGMA 1/2 v0.0.10-alpha (linux; x64; 10.16.2)
    * Origin: Xibalba -+- xibalba.l33t.codes:44510 (21:1/121)
  • From bamageek@21:1/140 to ryan on Mon Oct 21 07:51:21 2019
    I've been looking at enigma a bit lately and I'm interested in door development on nodejs. What do you think would be the minimum basic required dependencies to build a simple door? I've been running hack & slash (aka dankdomain) for a bit now and really enjoy it, but it's
    fairly bloated for my purposes.

    I've actually been thinking about trying my hand at some doors in Java as
    well. Have you found any info on this yet to help you get started? About the only informatin I've found was in C++ but it wasn't much help.

    --- Mystic BBS v1.12 A43 2019/03/03 (Windows/32)
    * Origin: Dave's BBS (21:1/140)
  • From bamageek@21:1/140 to NuSkooler on Mon Oct 21 07:54:26 2019
    At the bare minimum, you just need a socket connection to read & write
    to. Beyond that, you'll probably want various draw routines and the like -- a good option may be the blessed library (look in NPM) though IIRC it hasn't been worked on in quite some time, but probably mostly good to go (there are also many forks).

    Would you still need to use a Fossil driver?

    --- Mystic BBS v1.12 A43 2019/03/03 (Windows/32)
    * Origin: Dave's BBS (21:1/140)
  • From ryan@21:1/168 to bamageek on Mon Oct 21 07:29:56 2019
    I've actually been thinking about trying my hand at some doors in Java as well. Have you found any info on this yet to help you get started? About the only informatin I've found was in C++ but it wasn't much help.

    I haven't really broken ground here yet but intend to do so this week. I'll
    be looking at dankdomain as well as enigma 1/2 BBS for inspiration here.

    --- Mystic BBS v1.12 A43 2019/03/02 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From ryan@21:1/168 to bamageek on Mon Oct 21 07:30:32 2019
    Would you still need to use a Fossil driver?

    No, because a fossil driver is something that works in DOS, and these would
    run native instead of through any type of emulation layer.

    --- Mystic BBS v1.12 A43 2019/03/02 (Linux/64)
    * Origin: monterey bbs (21:1/168)