Home | FAQ | Contact
BBS Web Terminal | bbs.blitzaffe.com

FAQ

Contents

  1. General
  2. Technical
  3. Troubleshooting
  4. Other

General

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. What software are you using to accomplish this, exactly?

    For the environment:

    For the BBS:
  2. 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.
  3. 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.
  4. 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.
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.)
  6. 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.
  7. 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

  1. 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.)
  2. Can I page the SysOp?

    You can, but it won't notify anyone or play any sound on this end.
  3. 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. :)
  4. 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.
  5. Can you host my BBS?

    Possibly -- contact me at bbs at blitzaffe dot com if you want to discuss it.
  6. How can I reach you?

    You can contact me (Steve Blinch) at bbs at blitzaffe dot com.