[?7h[40m[2J[15C[0;36mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
[15CÌ[1;34mÍ[37mÛ[34mÍ[37mÛßÛ[34mÍ[37mßÛß[34mÍ[37mÛßÛ[34mÍ[37mÛßÛ[34mÍ[37mÛßÛ[34mÍ[37mÛßÛ[34mÍ[37mßÛß[34mÍÍÍ[37mÛßÛ[34mÍ[37mÛßÛ[34mÍ[37mÛßÛ[34mÍ[37mÛßÛ[34mÍ[0;36m¹
[15CÌ[1;34mÍ[36mÛ[34mÍ[36mÛ[34mÍ[36mÛ[34mÍÍ[36mÛ[34mÍÍ[36mÛ[34mÍ[36mÛ[34mÍ[36mÛ[34mÍÍÍ[36mÛ[34mÍ[36mÛ[34mÍ[36mÛ[34mÍ[36mÛ[34mÍÍ[36mÛ[34mÍÍÍÍÍÍ[36mÛ[34mÍ[36mÛ[34mÍ[36mÛ[34mÍ[36mÛ[34mÍÍÍ[36mÛ[34mÍ[36mÛ[34mÍ[0;36m¹
[15CÌ[1;34mÍ[36;46mÛ[34;40mÍ[36;46mÛ[34;40mÍ[36;46mÛ[34;40mÍÍ[36;46mÛ[34;40mÍÍ[36;46mÛ[40mßß[34mÍ[36;46mÛ[34;40mÍÍÍ[36;46mÛ[34;40mÍ[36;46mÛ[34;40mÍ[36;46mÛ[40mßß[34mÍÍ[36;46mÛ[34;40mÍÍÍÍ[36mÜß[34mÍÍ[36;46mÛ[40mßß[34mÍ[36;46mÛ[34;40mÍÍÍ[36;46mÛ[34;40mÍ[36;46mÛ[34;40mÍ[0;36m¹
[15CÌ[1;34mÍ[36;46m±[34;40mÍ[36;46m±[34;40mÍ[36;46m±[34;40mÍÍ[36;46m±[34;40mÍÍ[36;46m±[34;40mÍÍÍ[36;46m±[34;40mÍÍÍ[36;46m±[34;40mÍ[36;46m±[34;40mÍ[36;46m±[34;40mÍÍÍÍ[36;46m±[34;40mÍÍÍÍ[36;46m±[34;40mÍÍÍ[36;46m±[34;40mÍÍÍ[36;46m±[34;40mÍÍÍ[36;46m±[34;40mÍ[36;46m±[34;40mÍ[0;36m¹
[15CÌ[1;34mÍ[0;36mÛ[1;34mÍ[0;36mÛ[1;34mÍ[0;36mÛ[1;34mÍÍ[0;36mÛ[1;34mÍÍ[0;36mÛÜÛ[1;34mÍ[0;36mÛ[1;34mÍÍÍ[0;36mÛ[1;34mÍ[0;36mÛ[1;34mÍ[0;36mÛÜÛ[1;34mÍÍ[0;36mÛ[1;34mÍÍÍÍ[0;36mÛÜÛ[1;34mÍ[0;36mÛÜÛ[1;34mÍ[0;36mÛ[1;34mÍÍÍ[0;36mÛÜÛ[1;34mÍ[0;36m¹
[15CÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
[19C[1;34mÚÄ[0;36mÄÄÄ[1mÄÄ[37mÄ[36mÄÄ[0;36mÄÄÄ[1;34mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
[19C³ [36mGUIDE TO RUNNING A TELNET BBS IN DOSBOX [34m³
[19CÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[0;36mÄÄÄ[1mÄÄ[37mÄ[36mÄÄ[0;36mÄÄÄ[1;34mÄÙ
WHO THIS IS FOR ÚÄÄÄÄÄÄÄÄÄÄ¿
=============== ÚÄÄÄÄÄÄij CONTENTS ³ÄÄÄÄÄÄÄ¿
³ ÀÄÄÄÄÄÄÄÄÄÄÙ ³
This guide is for people who want to set up an ³ ³
authentic DOS-era BBS in an emulator and to make it ³
Who This Is For ³
accessible via telnet. It presumes some familiarity ³
What We're Going to Do ³
with command line interfaces, chiefly MS-DOS, but ³
Step-by-Step Guide ³
Linux users will have little trouble adapting to ³
Further Possibilities ³
it. We'll be using DOSBox, which is available for ³
Useful Links ³
Windows, Linux, and OSX. This includes Linux on the ³
MS-DOS for *nix Users ³
Raspberry Pi and similar tiny computers. ³
Credits ³
³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
There are two parallel tracks in this guide. The
first is more or less the same process you'd had to have gone through in 1990 to
set up a dialup BBS, with DOSBox standing in for your blazing fast 33MHz PC. The
second track skips the DOS history lesson, and all you have to do is unzip some
files into your DOSBox directory and edit a config file. (You'll still need to
get comfortable with DOS in the course of actually running a DOS BBS, but you
can cover a lot of ground before you have to return to the command line.)
If you want the user experience of a classic BBS but don't care what's under the
hood or want to take advantage of a modern OS, this guide is probably not for
you. What you want is something like
Mystic BBS, which actually is a classic BBS
system that has been continuously maintained and enhanced since 1995 and which
has been ported to Windows and Linux (including the Raspberry Pi). This guide is
for people who want to
run an actual DOS-era BBS, either nostalgic old hackers
like me or younger folks with an enthusiasm for retro tech.
WHAT WE'RE GOING TO DO
======================
We're going to set up DOSBox, which is an emulator for the DOS environment, and
use it to install and configure Telegard 3.09, which was the final version of
this venerable DOS BBS system. Almost all of the action takes place inside
DOSBox, so the bulk of this guide applies equally well regardless of whether
you're using Linux, Windows, or OSX. The only system-specific parts are
automatically starting DOSBox (if you want to), configuring your firewall
software, and, if necessary, setting up port forwarding on your router.
STEP-BY-STEP
============
1. Gather the files you'll need.
2. Install and configure DOSBox.
3. Install and patch Telegard.
4. Install the FOSSIL driver.
5. Configure and test the BBS.
6. Set up auto-start.
7. Configure your firewall.
8. Configure your router.
9. Advertise your BBS.
1. GATHER THE FILES YOU'LL NEED
===============================
For the detailed track:
*
pkzip250.zip -- PKZip 2.50
*
adf_150.zip -- ADF v1.50 freeware serial port FOSSIL driver
*
tg_309g2.zip -- Telegard BBS 3.09g2
*
tg309sp3.zip -- Telegard BBS 3.09g2 Service Pack 3
*
tg309sp4.zip -- Telegard BBS 3.09g2 Service Pack 4 (Y2K fix!)
For the easy track:
*
tgard_aio.zip -- All-in-one easy Telegard install
For both tracks:
*
DOSBox0.74-win32-installer.exe -- Windows installer for DOSBox.
*
NetRunner installer
If you're a newcomer to DOS, be prepared for the fact that DOS filenames were
not case-sensitive and were generally rendered in ALL CAPS. I'll follow this
convention out of historical accuracy, not because I'm yelling at you.
2. INSTALL AND CONFIGURE DOSBOX
===============================
It's best to visit the
DOSBox site directly to get the latest version. Even if
you're using the prepackaged files, it's worth checking to see if there's been
an update. If you're using Windows, there's an executable installer you can
download and run. For Debian-based Linux distros like Ubuntu or Raspbian, type
sudo apt-get install dosbox
and for RedHat-based distros like Fedora and CentOS, type
sudo yum install dosbox
DOSBox is configured through a plain ASCII configuration file. On Linux systems,
it resides in a subdirectory of your home directory named
.dosbox. On Windows
systems, the location varies according to the version of Windows, but the
installer provides a start menu shortcut to open the config file. (If you still
want to know where it is in order to edit it in something more sophisticated
than Notepad, open it using the shortcut and Save As to see the directory.)
The config file is well-documented internally, and there's a lot to tweak, but
we're only interested in a couple of things here. First, you need to tell DOSBox
to emulate a modem. Find the
[serial] section and change the entry for
serial1
to look like this:
serial1=modem listenport:5000
This tells DOSBox to listen to port 5000 for incoming connections and to make
them available to programs via the
COM1: serial port. You can use any
port you like, but using a port under 1024 requires root privileges under Linux.
Next, you need to create a directory to serve as the virtual hard drive for your
emulated MS-DOS system. You can put this wherever you like. Go ahead and create
TGARD and
UTILS subdirectories under it. For the sake of this example, let's
assume that you are using Windows and created your virtual hard drive directory
at
C:\dosbox.
Now scroll down to the very end of your DOSBox config file to the
[autoexec]
section. This emulates
AUTOEXEC.BAT, which was the startup script on DOS
systems. Add these two lines:
mount C C:\dosbox
SET PATH=Z:\;C:\UTILS
The first line tells DOSBox to mount
C:\dosbox as the
C: drive on your emulated
DOS system. The second line sets the search path when you type the name of a
program at the command line. The
Z: drive is automatically created by DOSBox,
and
C:\UTILS is where you will install a few programs that both you and your
Telegard BBS will need. You don't have to do anything about the
TGARD
subdirectory yet.
NOTE: If you're on the easy track, go ahead and unzip
tgard_aio.zip into your
DOSBox directory and skip ahead to
Step 4.
3. INSTALL AND PATCH TELEGARD
==========================================
Unless you want an abrupt introduction to how rudimentary DOSBox's command line
is compared to MS-DOS, you should probably do the unpacking and copying of files
with your GUI file manager. And when you unpack archive files, remember that
archives in the DOS world didn't follow the now-universal Unix practice of
putting everything in a subdirectory. For that matter, most DOS era archivers
didn't store or recreate directory structures by default. Trust me, it was a
giant pain in the ass.
Whether or not you do it the hard way, you should unpack
pkzip250.zip first and
copy
PKZIP.EXE and
PKUNZIP.EXE to your
UTILS subdirectory. If you
are doing it
the hard way, familiarize yourself with
MANUAL.TXT; you're going to need it.
Now for the actual installation and patching of Telegard, unzip
tg309_g2.zip and
copy
INSTALL.EXE and
INSTALL.TWS into your
TGARD directory. Then start DOSBox
(you have to do this inside DOSBox because the installer is a DOS program) and
type
C:
cd \TGARD
INSTALL
When prompted, the installation password is "
READYTOGO". When it is done
running, start Telegard by typing
TELEGARD
Telegard will then prompt you to continue the installation and ask if you want
to make any changes to the default directories. Once it has finished, you will
be returned to the DOS prompt. Clean up the install files thus:
del INSTALL.EXE
del UPDATE.EXE
del *.TWS
Finally, we have to install two patches, one of which fixes Y2K issues older
than some of the people now reading this! Unzip
tg309sp3.zip and copy
TELEGARD.DIF and
BUPDATE.EXE to your
TGARD directory. Run the following
command:
BUPDATE -i TELEGARD.DIF
The
-i switch, which isn't mentioned in the original documentation, is
very important. Without it, the update program will attempt to verify file dates
that, because of the passage of time and a bug in the way the current version of
DOSBox handles dates, you would be hard-pressed to get right. The
-i
switch turns off date checking.
Now, for the updated data files, create a
TEMP subdirectory in your
TGARD
directory and unzip the contents of
__UPDATE.ZIP into it. (Note that if you're
using your operating system's GUI file manager to extract and copy files, you
may have to restart DOSbox to get it to recognize them.) Then, from the
TGARD
directory, execute the following commands:
copy TEMP\CMPRLANG.EXE .
copy TEMP\*.REF DOCS
copy TEMP\LANGUAGE.SP3 DOCS
copy TEMP\*.DAT DATA
copy TEMP\TG_BETA.BBS DATA
copy TEMP\ENGLISH.TXT LANGUAGE
copy TEMP\LOGON.SCR TEXT
copy TEMP\CLOSED.MSG TEXT
copy TEMP\DUPTEL.TXT TEXT
MAKELANG .\LANGUAGE\ENGLISH
del TEMP\*.*
The second patch works much the same way. Unzip
tg309sp4.zip and copy
TELEGARD.EXE,
TELEGARD.DIF, and
BUPDATE.EXE to your
TGARD directory, and once
more run
BUPDATE -i TELEGARD.DIF
del BUPDATE.EXE
del TELEGARD.DIF
As before, unzip
__update.zip to the
TEMP subdirectory (restarting DOSBox if
necessary) and run the following commands from your
TGARD directory:
copy TEMP\BIN\*.EXE .
copy TEMP\DOCS\*.* DOCS
copy TEMP\DATA\*.* DATA
copy TEMP\LANGUAGE\*.* LANGUAGE
copy TEMP\TEXT\*.* TEXT
copy TEMP\MENUS\*.* MENUS
MAKELANG .\LANGUAGE\ENGLISH
Delete the
TEMP directory, and you're done with the installation.
4. INSTALL THE FOSSIL DRIVER
============================
A lot of DOS BBSes used FOSSIL drivers, and Telegard was one of them. What's a
FOSSIL driver? It stands for
Fido
Opus
SEAdog
Standard
Interface
Layer -- Fido,
Opus and SEAdog being the systems it was originally designed for -- and it's a
serial communications driver dating back to the days when, I shit you not,
serial port hardware was not yet standardized. It persisted after serial
hardware was relatively standardized partly because it presented a convenient
API for programmers, but also because it was a necessity for multi-node BBSes
using non-standard multiple serial port cards and for early ISDN hardware.
The good news is that you don't really need to know anything about FOSSIL
drivers at this point; you just have to install it. (If you're on the easy
track, this is already done.) We'll be using the freeware ADF FOSSIL driver.
You'll find the necessary files in the
adf_150.zip file you downloaded back in
Step 1. Copy
ADF.EXE to your
\UTILS directory.
Whether you're on the easy track or the detailed track, you want ADF to start
when DOSBox boots, so open the DOSBox config file and add
adf COM1 3F8 4 115200 16384 16384 8
to the end of the
[autoexec] section. Without getting into the gnarly details --
see the documentation in
ADF.TXT for that -- this starts ADF on your first
emulated serial port, sets the baud rate to 115200 (as fast as it can go), and
reserves 16k each for the input and output buffers. Later, if you want to set up
multiple nodes, you'll have to do the same for COM2, COM3, and so on.
5. CONFIGURE AND TEST THE BBS
=============================
First, reboot to make sure the FOSSIL driver is loaded. The go to the DOS prompt
and type
C:
cd \TGARD
TELEGARD -L
If everything went okay, Telegard is up and running in local-only mode. Hit
ESC
to bring up the main menu, and then press
S for the system config menu. Later
on, you'll want to thoroughly explore the options, but for now, just press
B to
get to the BBS site information screen. Go ahead and set the name of your BBS,
its location, and the sysop (that's you) name and password. You can leave the
phone number as-is or leave it blank; it is irrelevant in this case.
When you're done, press
Q to return to the system configuration menu, then press
L to edit the login config. Press
S to enable aliases, then hit
Q to jump back
up a level, and press
* to enter the system manager. Finally, press
Q to enter
the user manager.
You have only one user so far, the sysop account, which is displayed on the
screen. If you're not a crusty old DOS hacker for whom this is old hat, you've
probably gotten used to navigating by text menus and hotkeys, so I'm going to
stop holding your hand key-by-key now. Just press
? to display the options and
set your handle, real name, and password.
When you're done, press
Q twice to return to the waiting-for-calls screen, hit
ESC to bring up the main menu again, and press
Q one more time to return to the
DOS prompt.
Having configured and installed your BBS, all that remains is to test it! Start
Telegard again without the
-L switch. If you haven't installed NetRunner
already, go ahead and do so. Fire it up and press
Alt-I to bring up the dialer,
and then type
localhost:5000 and hit enter. This should establish a connection,
after which everything is pretty much self-explanatory. Because you are the
sysop, you will be asked for two passwords: your personal account password and
the system password. If you forgot them, just hit
Alt-H to hang up, switch to
your DOSBox window, and look them up via the system menu.
Since this is a getting started guide, we're not going to get any deeper into
configuring and running Telegard, but the documentation is available both as
plain text files in
C:\TGARD\DOCS\TELEGARD.DOC and
C:\TGARD\DOCS\FAQ.DOC as well
as through the system menu. Good luck!
6. SET UP AUTO-START
====================
In most cases, you're going to want Telegard to start when the machine boots up.
To accomplish this, open the DOSBox config file and add the following to the end
of the
[autoexec] section, after the line where you invoke ADF:
C:\TGARD\TELEGARD
7. CONFIGURE YOUR FIREWALL
==========================
Under Windows, the first time you load the FOSSIL driver, you should get a popup
asking if you want to grant the program access to the Internet. You'll have to
give it at least private access (home/work networks) if you want to be able to
access it from your LAN, and public access if you're planning to open it to the
world.
If you skipped this step, go to the Control Panel and start Windows Firewall.
Click on the link that says "Allow a program or feature through Windows
Firewall". Then click on the "Change settings" button and scroll down through
the list until you find the entry for DOSBox. Check the box next to it and one
or both of the checkboxes to the right.
8. CONFIGURE YOUR ROUTER
========================
There are so many different routers on the market that it is a practical
impossibility to provide a step-by-step guide to configuring them all. That
said, I can tell you what you're going to need to do, and you can read your
router documentation (if there is any) and/or explore your router's
configuration interface to figure out how to do it.
There are two main tasks you have to accomplish. The first is to give your
computer a fixed IP address. Somewhere in your router config, there will be a
way to map the MAC address of your network interface to an IP address.
Under Windows, you can find out what your MAC address is by opening a command
shell -- hey, your new DOS knowledge is already paying off! -- and typing
ipconfig /all
which will yield several screens full of information, one chunk of which will
look something like this:
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : B0-83-FE-4D-F9-3F
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::602f:1c33:fff5:cfd4%3(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.1.52(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.254.0
Lease Obtained. . . . . . . . . . : Tuesday, December 8, 2015 8:52:49 AM
Lease Expires . . . . . . . . . . : Wednesday, December 9, 2015 8:52:49 AM
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.1
NetBIOS over Tcpip. . . . . . . . : Enabled
The item labeled "Physical Address" is your MAC address, in this case
B0-83-FE-4D-F9-3F. Don't be surprised if your router config interface
doesn't display the MAC address with hyphens; Windows just inserts them to make
it easier to read.
Under Linux, the command you want is
ifconfig
which will give you something like this:
eth0 Link encap:Ethernet HWaddr 00:0c:29:30:4d:93
inet addr:10.128.158.16 Bcast:10.128.158.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe30:4d93/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19732697 errors:0 dropped:2173 overruns:0 frame:0
TX packets:16217688 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21484877437 (21.4 GB) TX bytes:3497862843 (3.4 GB)
In this case, the MAC address appears on the first line, labeled "HWaddr" and is
00:0c:29:30:4d:93. Just as with the Windows example, only the hexadecimal
numbers matter. The colons are inserted by Linux for the sake of readability.
The second task is to configure your router to forward one of its outward facing
ports to port 5000 (or whichever port you chose) on your computer. If your
router is anything like mine, this will be buried several menu levels deep in
the advanced settings. This will allow you to advertise your BBS using your
router's public IP address and have connections seamlessly forwarded to
Telegard.
While you're digging around in there, be sure to take note of your external IP
address, which you'll need for the next and final step!
9. ADVERTISE YOUR BBS
======================
The simplest way to advertise your BBS is to announce your public (router) IP
address and port number to your friends, e.g., 64.233.177.139:5000, and
encourage them to visit with NetRunner or another telnet client. The problem
with this, as you'll soon discover, is that most home ISPs will change your IP
address from time to time.
The solution to this is to buy a domain name and use a dynamic DNS service to
keep it updated with whatever your current IP address happens to be. The details
of this are beyond the scope of this document, but you can easily find
everything you need to know with a little googling.
Once you've gotten that far, there are several places to announce your BBS to
the general public.
MS-DOS FOR *NIX USERS IN 60 SECONDS
===================================
The DOS command line was inspired to some extent by Unix, so adapting to it is
relatively easy. The first thing you'll need to get used to is that a DOS system
with multiple file systems does not map them to one master filesystem. Instead,
each one gets a drive letter starting with
C: (
A: and
B: were reserved for
floppy drives). To go to a DOS filesystem, you simply type the drive letter
along with the trailing colon, e.g.
Z:
will switch to the
Z: drive. Because each filesystem is independent, you cannot
use cd to move between filesystems. Moreover, the shell keeps track of where you
are in each filesystem, so if you are in
\TGARD\TEXT and switch to the
Z: drive
and then back to the
C: drive, you will still be in
\TGARD\TEXT.
You've probably also noticed that DOS, like Windows, uses backslashes instead of
forward slashes in its paths. Forward slashes are used for command line switches
the same way that hyphens are in Unix.
The common Unix file management commands all have DOS equivalents, though they
are generally less capable and work differently in ways that will be jarring at
first. DOSBox, being primarily intended for playing old DOS games, provides an
even more rudimentary shell. If you want to do a lot of work at the command
line, it's a good idea to copy the more complete set of command programs from
FreeDOS. The FreeDOS wiki is also a good source of free documentation on how
DOS works, especially
this page.
Unix Command MS-DOS Equivalent
---------------- -----------------
cd, chdir cd, chdir
mkdir md, mkdir
rm del, rd, rmdir
mv move
mv ren
The big difference to watch out for is that DOS distinguishes between moving
(
move) a file and renaming (
ren) it, and
move only works on files, not
directories. There's a separate command for that,
xcopy, which as the name
suggests does a recursive copy rather than a relocation of files and
directories. There's also a distinction between deleting a file (
del) and
deleting a directory (
rd or
rmdir). The
rd command is likely to be highly
frustrating to Unix users -- and trust me, it was annoying as hell back in the
DOS era -- because it's not recursive: you can't delete a directory until you
delete everything in it, at least not without using the
deltree command, which
you'll have to get from FreeDOS.
That's all you really need to get started. Later, you may want to explore shell
scripting in DOS. Shell scripts are called "batch files" and end in the
.BAT
extension, and the DOS batch language will make you look at your least favorite
Unix shell with fresh admiration. BBS software tends to rely heavily on them,
though, so buckle up and endure the ride.
CREDITS
=======
Thanks to [so-and-so] for help with [such-and-such].