j0HNNY a1PHA wrote to All <=-
I've got a thing for DOS-based BBSs. And they are becoming more rare to enounter in the wild as it's becoming more difficult to run them, particuarly since Windows has stopped suppoerting 32-bit/x86 OSs -- not
to mention the risk of running outdated Windows OSs connected to the internet - sure, you can firewall them off. But more difficult. Here's what I've experimented with:
WINDOWS - PURE x86
I recently spun up a Windows 7 x86 box on proxmox (Renegade, PCBoard)
and it was a pretty big PitA. Do-able, and probably the most reliable
way given built-in 16-bit support, but still ponderous just getting the thing updated with the latest patches. Win 10 32-bit is also an option, but high overhead. Net2BBS works well.
I've got a thing for DOS-based BBSs. And they are becoming more rare to enounter in the wild as it's becoming more difficult to run them, particuarly since Windows has stopped suppoerting 32-bit/x86 OSs -- not
to mention the risk of running outdated Windows OSs connected to the internet - sure, you can firewall them off. But more difficult. Here's what I've experimented with:
At the time I started searching, DOSBox-X seemed to have the best
support for applications and non-game use. I have been using DOSBox-X quite a lot (daily for months) and it has been working well, running MS-DOS 6.22 and QEMM memory manager and even DESQview for multitasking within a single DOSBox-X instance. (I don't run the BBS in DESQview, because separate DOSBox instances makes it easier to manage memory constraints.)
When I run DOS things in 'production' I've always found dosemu a bit more stable and usable - I run in a Linux environment, so I don't want the graphical overhead of DOSBox for things like BBS softwares...
I think in a Windows environment it might not be as valid as a point,
but I like using DOSEmu/DOSEmu2 - might be worth taking a peek at.
Running Microsoft Network Client for DOS, a network drive is mapped to
D: inside the DOS session. SHARE.EXE is loaded in config.sys and is working.
Currently I have four DOSBox-X instances, each running a node of
Maximus. Two nodes are connected to USRobotics V.Everything modems
using 'directserial' in DOSBox-X. The other two nodes listen for
telnet connections using 'modem' in DOSBox-X. Each node has the same network drive mapped to D: and this shared drive is used for storing
message and file bases, and communication between BBS nodes.
At the time I started searching, DOSBox-X seemed to have the best
support for applications and non-game use. I have been using DOSBox-X
quite a lot (daily for months) and it has been working well, running
MS-DOS 6.22 and QEMM memory manager and even DESQview for multitasking within a single DOSBox-X instance. (I don't run the BBS in DESQview,
because separate DOSBox instances makes it easier to manage memory constraints.)
I am now running a version of DOSBox-X with patches to the telnet
emulation, so binary transfers work properly in both directions. I
also added a 'callerid' feature so that the IP address of callers is
passed to the BBS software in the same format as caller ID from a
USRobotics modem.
Because each node of my BBS is in its own DOSBox session and each
"virtual modem" in DOSBox binds to its own port, I have a setup with
node 1 on port 2301, node 2 on port 2302, node 3 on port 2303, etc.
To provide one port that can accept connections and pass them to the
next open node, I wrote a small "Telnet Ringdown server". The
Ringdown server listens on port 23 and attempts to connect to a list
of BBS ports. I am starting to work on some bot and scanner detection
for the Ringdown server, to reduce the number of wasted connections to
BBS nodes. (yesterday I counted 527 connections in 18 hours from IP scanners.) The Telnet Ringdown server project is at https://github.com/akacastor/ringdown
When I run DOS things in 'production' I've always found dosemu a bit
more stable and usable - I run in a Linux environment, so I don't want
the graphical overhead of DOSBox for things like BBS softwares...
Running Microsoft Network Client for DOS, a network drive is mapped to D: inside the DOS session. SHARE.EXE is loaded in config.sys and is working.
Ah, OK. Have you used EtherDFS? Don't know how reliable it is, but it's a lot easier setup than MSFT setup (at least when using FreeDOS).
totaly makes sense. I wired up 3 FreeDOS 1.3 virtual machines in prox
mox, and created serial port connections between them.
Good to know -- I wasn't sure which would be better for BBSs -- DOSBox-X or Staging. Sounds like X is the way to go.
I am now running a version of DOSBox-X with patches to the telnet emulation, so binary transfers work properly in both directions. I also added a 'callerid' feature so that the IP address of callers is passed to the BBS software in the same format as caller ID from a USRobotics modem.
Is this something that can be shared or downloaded from a BBS? I bet the BBS Community would love to have a build like this (with instructions, etc.).
scanners.) The Telnet Ringdown server project is at https://github.com/akacastor/ringdown
This was the missing piece for me. Fantastic, I'm going to check it out. This could be a fantastic package to get multinode DOS BBSs up easier and more securely.
I'd like to try this with FreeDOS v1.3 proxmox and avoid DOSBox altogether, but that may be a different problem to solve :)
Running Microsoft Network Client for DOS, a network drive is mapped to D:
Currently I have four DOSBox-X instances... Each node has the same
network drive mapped to D: and this shared drive is used for storing message and file bases, and communication between BBS nodes.
Ah, OK. Have you used EtherDFS? Don't know how reliable it is, but
it's a lot easier setup than MSFT setup (at least when using FreeDOS).
message and file bases, and communication between BBS nodes.
I am curious what is serving that network drive?
I have been fantasizing about a similar configuration using ProBoard as the BBS software.
Thanks for your notes about DOSBox-X. I will be interested to see those patches when you publish them.
I had problems with dosemu and SHARE.EXE, but that may have been my
fault or may have been fixed in the meantime.
I do like having the DOS windows open on the BBS server, as this mimics the way the BBS was run in the 90s and allows to watch caller activity
and break into chat as sysop, etc. On my i7-870 (1st gen i7) running 4 DOSBox-X nodes and a few additional services it is at 50% CPU usage
(with no real tweaking for performance). So the DOSBox overhead is real, but maybe not a dealbreaker with modern hardware, depending on a
person's hardware and goals.
Just the other day I learned of EtherDFS - it looks very useful and definitely looks more straightforward to setup than the Microsoft
Network Client (though the Microsoft Network Client is doable, it
certainly isn't the lightest). I haven't tried EtherDFS, it isn't
clear to me if it supports multiple simultaneous clients with
SHARE.EXE etc.
Well I'm glad yer here and having fun w/ bbSes in 2024
aka... let us know if you prop that system online so I
can make a user account. :P Nothing like fun w/ retro
programs in the current day and age!
So it sounds like etherdfs doesn't support SHARE file locking, that's
good to know. I was hoping to use FDNET (instead of MSCLIENT), but
based on file locking needs, going to adjust my plans!
1. Want to test your Ringdown to handle incomoing connections on a dedicated linux machine to handle incoming (and SMB file share). I was thinking about HAPROXY approach but I love what you are doing with bot detection!
2. 4x FreeDOS v1.3 VMs, each with own IP under MSCLIENT, etc.
3. Multi-node capable DOS BBS running on each FreeDOS machine (Renegade or Iniquity or PCBOARD)
4. RLFOSSIL - a shim program to allow each BBS node to accept incoming telnet connections.
I had a similar setup earlier this year, but I was using SOCAT to do null-modem stuff and it was very brittle, as I had written my own telnet server to handle incoming connections and manage routing (in Go) which just wasn't very good :(
Thanks Paulie, yeah it's a great time for sure! My BBS is currently in 'mostly running but regular random shutdowns' as I work out
configuration issues and test automation and resiliency - so I consider
it to be 'pre-release' still - looking at April 20th as the Grand
Opening (a good day for a celebration). If you're interested in
checking out the progress, it is usually online at another.tel port 23. You can also be assured that I will flood you with posts about it being 'fully open' in the future. ;)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 368 |
Nodes: | 16 (2 / 14) |
Uptime: | 40:34:07 |
Calls: | 7,884 |
Calls today: | 2 |
Files: | 12,962 |
Messages: | 5,787,382 |