• Dos doors

    From apam@21:1/126.1 to ALL on Fri Mar 13 21:48:44 2020
    Hi

    I got dos doors running on Windows 10 64 bit now! I'm using dosbox,
    so only one node can access a door at a time, but it works. The trick
    was to use the old version from SVN that I linked in the Magicka Docs
    other wise it wont work properly. So had to compile DOSBox

    I imagine this version of dos box would also run with mystic windows.
    So if anyone wants the compiled version let me know.

    I know there is that NTVDMx64 thing and NetFoss beta, which might be
    the better way to go, I just wanted to see if I could get it to work
    :)

    Andrew

    --- Ghost v0.0.1
    * Origin: Ghost BBS - ghostbbs.hopto.org:2626 (21:1/126.1)
  • From HSM@21:2/162 to apam on Fri Mar 13 12:47:16 2020
    I know there is that NTVDMx64 thing and NetFoss beta, which might be
    the better way to go, I just wanted to see if I could get it to work

    I'm using NTVDM and NetFoss and it works well. There have been a few doors that don't play nice but most are working.

    -=- HSM -=-
    -=ssh/http/telnet://thefreespeak.com=-

    --- Mystic BBS v1.12 A45 2020/02/18 (Windows/64)
    * Origin: -=- TheFreeSpeak.com -=- Pittsburgh, PA -=- (21:2/162)
  • From ryan@21:1/168 to apam on Fri Mar 13 10:15:41 2020
    I got dos doors running on Windows 10 64 bit now! I'm using dosbox,
    so only one node can access a door at a time, but it works. The trick
    was to use the old version from SVN that I linked in the Magicka Docs other wise it wont work properly. So had to compile DOSBox

    Hey apam, have you seen doornode? https://github.com/dinchak/doornode

    I think you run multiple BBSes. This would help with that and also it's
    rather simple to setup and takes care of the "hard parts" for ya. :)

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From Alpha@21:4/158 to ryan on Fri Mar 13 19:17:15 2020
    Hey apam, have you seen doornode? https://github.com/dinchak/doornode
    I think you run multiple BBSes. This would help with that and also it's rather simple to setup and takes care of the "hard parts" for ya. :)

    The more I fiddle with doornode, the more it seems to make sense for me, BTW. I've got it running well on a Pi and I hope it can be my game hub.

    I do want to have a swtich that would allow the launch of shell scripts
    using stdio (in order to add linux games like Galactic Dynasty). I
    asked the author (in a Github issue) and he replied that while he didn't have the time to do this, he'd accept a PR for it.

    So I cloned the repo and added a "type" switch (accepts "stdio" or "dosbox" as inputs), and I was able to launch a 'start.sh' file -- but not sure how to redirect to output stdio...

    Any thoughts on how to handle that?

    |08.|07..|15.. |05Alpha |07- |13Card & Claw BBS |07- |08Berkeley, CA USA

    --- Mystic BBS v1.12 A46 2020/03/07 (Linux/64)
    * Origin: Card and Claw BBS | cardandclaw.com:8888 (21:4/158)
  • From ryan@21:1/168 to Alpha on Fri Mar 13 12:22:07 2020
    The more I fiddle with doornode, the more it seems to make sense for me, BTW. I've got it running well on a Pi and I hope it can be my game hub.

    I'm toying with the same idea myself. This would be an excellent way for me
    to have multiple BBSes. :)

    I do want to have a swtich that would allow the launch of shell scripts using stdio (in order to add linux games like Galactic Dynasty). I
    asked the author (in a Github issue) and he replied that while he didn't have the time to do this, he'd accept a PR for it.

    I'll see if I can figure something out this weekend. I told Anachronist that
    I was going to try to get this exact thing working this weekend, so it should be easy enough for me to add a field into the config to either do dosbox or stdio.

    So I cloned the repo and added a "type" switch (accepts "stdio" or "dosbox" as inputs), and I was able to launch a 'start.sh' file -- but
    not sure how to redirect to output stdio...

    Nice! Can you do a git diff or something so I can see what you've changed?

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From Alpha@21:4/158 to ryan on Fri Mar 13 20:59:50 2020
    Nice! Can you do a git diff or something so I can see what you've
    changed?

    Of course! Actually very little changed.

    In config.js, added 'type' to each door (either 'dosbox' or 'stdio'):
    Example:
    {
    name: 'GD',
    type: 'stdio',
    doorCmd: '/path/to/start.sh',
    dropFileFormat: 'DorInfo',
    multiNode: 'true'
    },

    Then in /lib/door.js:

    this.client = null
    this.doorCmd = doorConfig.doorCmd
    this.dropFileFormat = doorConfig.dropFileFormat
    this.nodePort = config.dosbox.startPort + this.wrapper.node
    this.doorType = doorConfig.type <--ADDED THIS LINE

    later on in render(), added if statement to catch doorType and spawn a different child process:

    let env = {}

    if (this.doorType == 'stdio') {
    this.process = child_process.spawn(this.doorCmd)
    } else {
    ...

    Super sloppy, I can actually share the files if you want, but figured it was probably so rudimentary this would work :)

    |08.|07..|15.. |05Alpha |07- |13Card & Claw BBS |07- |08Berkeley, CA USA

    --- Mystic BBS v1.12 A46 2020/03/07 (Linux/64)
    * Origin: Card and Claw BBS | cardandclaw.com:8888 (21:4/158)
  • From ryan@21:1/168 to Alpha on Fri Mar 13 15:19:46 2020
    Super sloppy, I can actually share the files if you want, but figured it was probably so rudimentary this would work :)

    Not too sloppy! hehe. I'll work this into my copy and see if I can come up
    with anything.

    We'll figure it out :)

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From apam@21:1/126 to ryan on Sat Mar 14 08:40:26 2020
    I got dos doors running on Windows 10 64 bit now! I'm using
    dosbox, so only one node can access a door at a time, but it
    works. The trick was to use the old version from SVN that I
    linked in the Magicka Docs other wise it wont work properly.
    So had to compile DOSBox

    Hey apam, have you seen doornode?
    https://github.com/dinchak/doornode

    Yeah, I tried that first. It didn't work, but looking back it might have
    been because of the version of dos box I was using (I was using 0.74
    from the website)

    Andrew

    --- MagickaBBS v0.13alpha (Linux/x86_64)
    * Origin: HappyLand - telnet://magickabbs.com:2023/ (21:1/126)
  • From ryan@21:1/168 to apam on Fri Mar 13 15:43:39 2020
    Yeah, I tried that first. It didn't work, but looking back it might have been because of the version of dos box I was using (I was using 0.74
    from the website)

    That's the same version I'm using. It's configured in a way where that won't really matter. Give it a shot again if you like and I can try to help troubleshoot. I think this is probably the ideal way to run dos doors at this point.

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From Blue White@21:4/134 to apam on Fri Mar 13 16:35:24 2020
    apam wrote to ALL <=-

    I know there is that NTVDMx64 thing and NetFoss beta, which might be
    the better way to go, I just wanted to see if I could get it to work
    :)

    That is great news for Windows users! Thanks for figuring it out.


    ... Tell me, is something eluding you, Sunshine?
    --- MultiMail
    * Origin: Possum Lodge South * possumso.fsxnet.nz:7636/SSH:2122 (21:4/134)
  • From apam@21:1/126 to ryan on Sat Mar 14 12:29:55 2020
    Yeah, I tried that first. It didn't work, but looking back it
    might have been because of the version of dos box I was using
    (I was using 0.74 from the website)

    That's the same version I'm using. It's configured in a way where
    that won't really matter. Give it a shot again if you like and I
    can try to help troubleshoot. I think this is probably the ideal
    way to run dos doors at this point.

    Maybe if you're looking to access the doors across multiple bbses, but I
    don't really see the point of adding node js between dosbox vs using
    dosbox directly. I understand you cant do that on MajorBBS though.

    Andrew



    --- MagickaBBS v0.13alpha (Linux/x86_64)
    * Origin: HappyLand - telnet://magickabbs.com:2023/ (21:1/126)
  • From ryan@21:1/168 to apam on Sat Mar 14 00:15:05 2020
    Maybe if you're looking to access the doors across multiple bbses, but I don't really see the point of adding node js between dosbox vs using dosbox directly. I understand you cant do that on MajorBBS though.

    I think the secret sauce is that it's all configured and easy to make
    changes. But yeah, to each his own.

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From ryan@21:1/168 to Alpha on Sat Mar 14 02:05:10 2020
    Nice! Can you do a git diff or something so I can see what you've changed?

    Of course! Actually very little changed.

    I've been working on this and it's a bit harder than it seems at first
    glance. The problem is that we haven't avoided the "telnet to node 10001 and redirect to another process" thing. So we'll have to write more logic to get around that redirection and just leverage the stdio stuff back and forth.

    Not quite as easy as first glance. :P I made the mistake of updating node and trying to update hack & slash also. Oops. lol.

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From Alpha@21:4/158 to ryan on Sat Mar 14 15:20:53 2020
    I've been working on this and it's a bit harder than it seems at first glance. The problem is that we haven't avoided the "telnet to node 10001 and redirect to another process" thing. So we'll have to write more
    logic to get around that redirection and just leverage the stdio stuff back and forth.

    That makes sense. I know Enigma 1/2, which is also nodejs-based, can launch shell scripts and uses a similar stdio switch to launch doors with its abracadbra module. Might be worth a look, I have some time this weekend to dig in as well.

    |08.|07..|15.. |05Alpha |07- |13Card & Claw BBS |07- |08Berkeley, CA USA

    --- Mystic BBS v1.12 A46 2020/03/07 (Linux/64)
    * Origin: Card and Claw BBS | cardandclaw.com:8888 (21:4/158)
  • From ryan@21:1/168 to Alpha on Sat Mar 14 11:55:30 2020
    That makes sense. I know Enigma 1/2, which is also nodejs-based, can launch shell scripts and uses a similar stdio switch to launch doors
    with its abracadbra module. Might be worth a look, I have some time this weekend to dig in as well.

    I think reworking the scope of your if statement in door.js could help here.
    If we migrate more of the dosbox specific stuff (i.e., the telneting to port 1000* parts) into the if statement, we should be better off. Either that or just adding another if statement to bracket all of that off.

    I think the spawn doorCmd part is close, we just need to invoke something
    like node-pty to get it to actually work the way we want. I may work on it
    more in a bit.

    We'll get there :)

    --- Mystic BBS v1.12 A45 2020/02/18 (Linux/64)
    * Origin: monterey bbs (21:1/168)