BBS Web Terminal | bbs.blitzaffe.com
FAQ
Contents
- General
- Technical
- Troubleshooting
- Other
General
-
What is this thing?
The BBS Web Terminal is exactly that -- it's a web-based interface to the DOS-based BBS systems of the
90's. It lets you login via your web browser and use a BBS just as you would back in the day
with your PC, modem, and phone line.
-
What's a BBS?
If you don't already know, this probably won't be much fun for you, but you can check out
www.bbsdocumentary.com for more
information. In short, bulletin board systems (BBS) were used for messaging,
file transfer, and online games before the Internet "caught on" with the general public.
-
Requirements?
A recent version of Mozilla Firefox (1.0+), Mozilla, or Internet Explorer (5.5+) with
JavaScript enabled. No plugins are required (no Flash, no Java, no ActiveX) -- the
client-side interface is pure JavaScript.
-
What the hell!?
Indeed. This is basically the bastard child of nostalgia from the release of the
BBS Documentary, an abundance of
Warsteiner, and some prior experience with realtime JavaScript-based network applications through my work on
Centova Instant Messenger. It
took many hours to develop and serves no practical purpose, but hey, it is what it is. :)
Technical
-
What software are you using to accomplish this, exactly?
For the environment:
For the BBS:
-
How does this work?
Simple! The host system is Linux -- Debian Sarge, specifically. DOSEmu is installed under Debian, and FreeDOS
is installed inside DOSEmu to create an environment virtually indistinguishable from the MS-DOS of
yesteryear. Then, all of the BBS software (eg: RemoteAccess), doors (eg: BRE, Tradewars), and so-on are
installed within the DOSEmu filesystem, and setup just as they would have been back in the day.
Next, DOSEmu is setup so that its serial ports redirect data to a TTY device on the Linux host, and
the BNU FOSSIL driver is installed. At this point, all DOS applications think they're talking to a
"real" COM port, and have no idea that they're running in an emulated environment.
A custom proxy server is setup on DOSEmu's host machine, and used to accept socket connections from our webserver.
Once a connection is established, the proxy redirects all data from the socket to a particular PTY (corresponding
to the TTY used by DOSEmu).
A custom PHP application is then setup on the web server to accept an HTTP request, open a socket connection
to the PTY proxy, and relay data between the proxy and the visitor's browser.
Finally, an ANSI console emulator, written in pure JavaScript, is used in the visitor's browser to
interpret the ANSI codes received from the BBS software and doors, and display the output as it would
have appeared in a typical terminal program (eg: Telix, Telemate, Procomm, etc.) back in the day.
(OK, well maybe it's not so simple... :) ) We've also got everything running inside isolated Xen virtual
machines, so that if DOSEmu goes postal it won't tank the server. Not strictly necessary, but certainly handy.
-
How many nodes can this support?
Lots, theoretically. The system actually spawns a separate DOSEmu process and DOS environment for
each node, so everything runs on COM1 within its individual machine, and thus there is no serial port limit.
The primary bottleneck appears to be memory -- DOSEmu seems to use about 40MB of shared memory plus
5MB per process. (Which is pretty sad given that it's emulating a system with 640KB of conventional
memory and no EMS/XMS!)
Given enough RAM (and sufficient CPU power to keep up) you could run quite a few
nodes or independent BBS systems on a single server.
-
Can you run multiple, distinct BBSes with this system?
Yes. We've already got a couple of different ones setup now, and adding new ones is as simple as
setting up a new DOSEmu filesystem and installing the BBS software. We'll probably restore a
couple more BBSes in the near future, just for the hell of it.
-
Does this have any other non-BBS uses?
Potentially, yes. The code is pretty modular and extensible, and I designed it to leave room for other
adaptations. It will work with any DOS application that uses a COM port. It could also be setup to work with certain Linux applications (rather than
DOSEmu) -- I'm presently considering a web-based SSH client, among others.
Troubleshooting
-
Sometimes I can't type -- the terminal ignores my keystrokes
That's an intermittant problem that generally only occurs with Internet Explorer, and it appears to be
a bug in IE. This typically happens after switching windows, so try to avoid using Alt-Tab (or any
other means) to switch windows after logging in to a BBS.
If you find yourself unable to type, sometimes using Alt-Tab to leave the BBS window, then using Alt-Tab
again to switch back will resolve the issue.
-
The BBS responds sluggishly to my keystrokes
This is by design -- I had to throttle back the frequency of the keystroke submissions in order
to keep the number of HTTP requests to my server reasonable (as this server is not solely dedicated
to BBSing). Just type away at your normal speed, and the BBS will always catch up.
-
BBS logos or other graphics look unusual or contain strange characters
Internet Explorer has a flaw in which it has difficulty displaying certain symbols, known as
"High ASCII", in your browser window. When Internet Explorer encounters these symbols, it
slows down drastically, and sometimes even crashes.
To avoid these symptoms, the BBS Web Terminal automatically disables High ASCII for all
Internet Explorer users. As a result, all High ASCII characters will be replaced with
alternate letters which may look unusual on the screen.
If you still wish to try High ASCII under Internet Explorer despite the problems it may cause,
you can click the "Enable high ASCII" option under the "Options" menu. Our recommended
solution to this problem, however, is to visit the site using an alternative browser such
as Firefox, Mozilla, or Netscape, all of which properly support High ASCII.
When High ASCII is enabled, you should see all ANSI graphics and BBS menus
exactly as they were designed back in the DOS days.
-
Sometimes the colors or text are slightly garbled in the terminal window
This is an intermittant problem which only seems to happen with EleBBS (it does not seem to happen
under RemoteAccess). I'm still trying to figure out the cause -- bear with me.
-
When I dial a BBS, nothing happens (or I don't see the login screen until after I disconnect)
You're probably behind a proxy server of some sort. Either disable your proxy or use our
secure server to make a direct connection to
our server. (Just click OK if your browser gives you a security warning about the SSL certificate.)
-
When I dial a BBS, it says "PTY could not be acquired"
This means that our system is temporarily down for one reason or another. While the web interface
is on a production server, the BBS/DOSEmu portion is not, and thus the BBS portion may go down
occasionally.
-
When I dial a BBS, it says "BUSY"
This means that all nodes are currently in use by other users. Try again in a little while
and you should be able to get through.
Other
-
What is this "Mikerosoft BBS"?
Mikerosoft BBS was one of the more popular BBSes in Abbotsford, BC, Canada (my hometown) back in the 90's.
It was run by a good friend of mine, Mike Helliker, and I kept a copy of its files when it was shut down in '97. I used
that backup to restore the Mikerosoft BBS you see in the BBS Web Terminal today.
(And yes, I'm aware of the whole mikerowesoft.com / mikerosoft.ca fiascos. Mike was using this name long before
either of us had heard of -- let alone used -- the Internet.)
-
Can I page the SysOp?
You can, but it won't notify anyone or play any sound on this end.
-
Can I upload/download files?
Not quite yet. I've contemplated creating an external file transfer protocol that would send downloaded
files to your browser (rather than your terminal), but really, this project probably doesn't warrant
wasting that much more time. :)
-
Can I get a copy of the code?
As described above, this isn't just code -- this is a twisted concoction of new code, pre-existing
applications, configuration files, batch files, and various other odds and ends. It's not something
I can just zip up.
I may release a Xen domU disk image one day containing the whole thing, but at the moment I don't
have the time to package everything up or provide any kind of assistance with it. Sorry.
-
Can you host my BBS?
Possibly -- contact me at bbs at blitzaffe dot com if you want to discuss it.
-
How can I reach you?
You can contact me (Steve Blinch) at bbs at blitzaffe dot com.