Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows door support (Question) #163

Closed
SemperFu opened this issue Mar 20, 2018 · 14 comments
Closed

Windows door support (Question) #163

SemperFu opened this issue Mar 20, 2018 · 14 comments

Comments

@SemperFu
Copy link
Contributor

I see #30 was closed. Is QEMU the only way to run a door game in windows? I have a Windows 10 x86 box since it can run 16bit programs natively. With MysticBBS it uses a windows fossil driver netfoss (http://pcmicro.com/netfoss/).

You send the node, handle, and port. I tried using the same setup with socket but there is no handle tag stried using the port. I just get a black screen for a little bit. I see netfoss running during that time too.
If it's not possible this can be closed but would be nice to see if I can use doors natively.

@NuSkooler
Copy link
Owner

Under Windows you have pretty much the same options as Linux:

See also https://www.hanselman.com/blog/RunningBBSDoorGamesOnWindows10WithGameSrvDOSBoxPlusTelnetFunWithWSL.aspx

@SemperFu
Copy link
Contributor Author

So I am running a 32 bit windows that has 16 bit support and am using netfoss for the fossil driver over socket. This is working fine with Mystic BBS. I'm just getting a black screen and I wanted to make sure that engima should be able to support it as well.

@NuSkooler
Copy link
Owner

It should work fine - are you using the socket option in ENiGMA for your abracadabra config? If also using DOOR32.SYS dropfile type, I may need to resolve a TODO there for you.

@SemperFu
Copy link
Contributor Author

I am using the socket. Using DOOR.SYS since it's 16 bit. Netfoss and Mystic also output a handle which may be the issue. Not sure if this is something simple.

c:\path\nf.bat /n&n /h&h c:\path\bbs.bat -N&n -C1 -B38400
      |            |    |       |           |    |   |
  NetFoss-loader   node handle  bbs-loader  parameters sent to bbs.bat

When used in Telnet mode, NetFoss requires that each node use a unique WinSock handle..

@NuSkooler
Copy link
Owner

ENiGMA supports a socket that can be connected to or stdin/stdout.

The idea of sharing a socket descriptor (aka handle) is a bit anti-node, though according to nodejs/node#7627 I see two things:

  1. Node guys appear to be softening a bit to the idea ever so slightly (was flat NO for a long time)
  2. Someone appears to have done what I planned on doing as a test here: https://github.com/clshortfuse/node-getsockethandleaddress

I'll try to carve out some time to set up a Windows environment again and try the socket sharing. I'd love to be able to support DOOR32.SYS and other socket sharing scenarios.

@SemperFu
Copy link
Contributor Author

SemperFu commented Mar 23, 2018

Since this would benefit me. If you would like the time saved or don't want to deal with it. I would be willing to give you access to the windows 10 vm I have already set up and running in my DMZ. It's not on the domain and only has the bbs so I am not worried about it. Or I can spin up another VM in since I want to go through the node install on windows one more time and update your documentation.

I can give you access either by vmware horizon client or direct rdp locked down to only your ip from the outside.

@NuSkooler
Copy link
Owner

@Jasin2069 Sorry meant to respond sooner. No worries, I have a Windows environment set up to debug with. I just need to make an effort to test it more regularly 😈

I started on some changes that may make the socket sharing work. Hopefully will have some time tonight to work on them more. It's a bit black magicky due to Node not wanting to expose the handle, but we'll see.

@SemperFu
Copy link
Contributor Author

Not a problem. Let me know if I can help test anything.

@NuSkooler
Copy link
Owner

After some more research on this, I created #175. Since this is likely blocking you from doing a lot of Win32 doors, I'll start looking into implementing it after my vacation.

@SemperFu
Copy link
Contributor Author

Thanks, I'm actually not worried about Win32 at the moment. Just trying Win16 with DOOR.SYS for LORD.

@tracker1
Copy link

tracker1 commented Apr 9, 2018

Might be able to use Synchronet's dos/door driver for windows.. I know that it has been used with another BBS before.

@SemperFu
Copy link
Contributor Author

SemperFu commented Apr 9, 2018

@tracker1 From their wiki http://wiki.synchro.net/howto:door:index they state to use a fossil. I have netfoss and it works with mystic. Engima doesn't have support for a handle yet so I can't use netfoss. He is working on it.

@tracker1
Copy link

tracker1 commented Apr 9, 2018

@Jasin2069 Synchronet comes with its' own fossil (DOSXTRN.EXE) you can use that (it's outlined in the document you linked to). It includes support for time slice optimizations and other parameters that can be useful.

Once handle support is in place, you can use Synchronet's fossil, which is very good.

@NuSkooler
Copy link
Owner

See bivrost! info in #175.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants