#BBS
46 messages in this thread
I am currently attempting to design a BBS using a combination of ARE ,
Atalk III, a database, and a little C programming. I have a good basis
for it that will allow uploads, downloads, and limited messages. But, this
has all taken an extreme amount of time and I am quickly re realizing the
amount of work ahead of me.
My question is this: Is there a BBS program out there on the market or
user-written that will open an Arexx port and do most of the basic BBS
work, but will still allow me to design the board as I want it? I am
looking for the BBS software to do as little as possible so that I will
have the freedom for a completely customized board.
I suggest you look at DLG Professional. It's incredibly powerful and
configurable.
Loyd
Neil…
Yes. There is a board out there that is pretty much as you described. The
board is called BBX, it is written by Steve Tibbett. It should be available
as a commercial product very soon, I believe it is in the final stages.
It is very REXX friendly, I believe most of the menu system uses it, and
this allows for optimum configuration. It's multi-line capable, and lots
more.
You can leave a message here for him or call his bbs at 613-731-3419.
Jim
I'm not sure what the current status of the product is, but you should try
and find out more about Steve Tibbett's program BBX. (Steve's the guy that
wrote VirusX, ScreenX, and other great utilities). I know he's been
working on it for a long time, and I'm sure it's something you'll want to
look at.
Steve's on here ever so often, so he'll be able to give you more info about
it.
Steve
"Working on it for a long time" is an understatement. 😎
But, it does have the benefit of being released as a mature product, since
it's been running for about 3 years now, and on and off on a total of about
20 systems. Reliability is something that seems spotty in the current crop
of Amiga BBS's.
…Steve
Steve-
Could you run off a list of its features? I'm considering entering the
BBS game myself and am looking around comparing programs. One thing I'm
looking for is FidoNet compatability, since I'll be running it as a Fido
mail system as well. (I hope it has ANSI and XPR file protocols too. ^_^)
Len Lekx
[73300,723]
BBX doesn't do Fidonet or Usenet internally, but there are enough hooks
that other people can add it later on.
That's being worked on now, actually, by a local fellow who wants Fidonet.
Ottawa is a veritable hotbed of Fidonet activity, what with Welmat being
written here among lots of other FidoThings.
BBX does XPR no problem. I'd be surprised if any Amiga BBS didn't support
ANSI.
Actually I'm looking forward to seeing what people do with BBX once it's
out. I'm not including a thousand bells and whistles – I'm giving a decent
BBS engine and a good default BBS, but you can turn it into anything you
want it to be. That's important to a lot of people.
…Steve
Hmmm…
Not being a very good programmer myself, I'm rather limited in what I
can do with such hooks. (Strong incentive to get my butt in gear and
learn! ^_^)
When will it be released? Will you be uploading a demo version here for
interested folks (like myself) to play around with it before committing?
(Oh, one thing I forgot to ask before..) Does it handle multiple lines?
Do you internally support a multi-line chat/conference mode, or is that
something I'd have to write myself?
Thanx for the info.
Len Lekx
[73300,723]
Len…
I can answer that one. Yes, BBX does support multi-line, and has a
multi-line conference mode, that's all built in.
BBX even informs you if there has been a new message written to you while
you are online, so that you can retrieve it before you leave. You can also
'send' messages from node to node if you like (like send a message to
someone while they are in the message section).
Jim
> Yes, BBX does support multi-line, and has a multi-line conference
mode,
> You can also 'send' messages from node to node if you like.
Well, well, well. (^_^) You wouldn't know offhand how many serial lines
it's capable of supporting? (C-Net is limited to 24, while DLG Pro is
limited only by available ports) (This might be remotely impossible) If I
were to connect several Amigas in a LAN configuration, would I be able to
use BBX to link them together for a mega-multi-line system (replete with
file servers and separate message bases for each machine)? (I know, that's
probably too far out, but what the hey, it couldn't hurt. ^_^)
You know, if it weren't for the lack of FidoNet/UseNet message
compatability, I'd probably go with BBX to set up my (moderate
future) system. Once Steve adds this capability (if he does ^_^)
I'll take a long, hard look at BBX. Until then, I'm strongly in
favour of DLG Pro.
BBX supports up to 127 lines (and it may support more, but I've never tried
it 😎 At least, that's how many nodes it supports.
And a given BBX node doesn't take much CPU time at all when it doesn't have
a console open. With a console open, it slows down because of the
console.device.
(When Jim mentioned sending a node message to a node when a message is
entered to it from another node, that's just scratching the surface of what
I _hope_ people will do with this. External programs can send messages to
any node (or all nodes) in a couple of ways – so you could do something
like, write a script that lets a user upload a .c file, compiles it on the
BBS machine, and then writes a message to the user with the compiled file
attached, and sends a node message to the user saying "Your file is ready".
T'would be fairly easy to do, as well.)
BBX doesn't support running on multiple machines. BBX does it's database
arbitration in RAM, so hooking a buncha amigas up to the same HD won't
work.
What sort of Fidonet/Usenet compatability do you want? XRead (my BBX
usenet reader) works fine with Matt Dillon's UUCP stuff, and Fidonet is
being done (not by me, by somebody else, but it is being done).
…Steve
Steve-
> I'll upload a demo version, probably about the same time it's
released.
Any projections as to the release date? (^_^)
> BBX doesn't support multiple machines.
Oh, well. It was a pie-in-the-sky dream, anyway. 127 lines ought to be
plenty for anyone. (^_^)
> What sort of Fidonet/Usenet compatibility do you want?
Well, I understand that DLG allows message bases to be intermixed, so that
a BBS user can read messages imported from either UseNet or FidoNet without
seeing a difference. I was also thinking in terms of 'gating' UseNet
messages into FidoNet, which have two separate and distinct message formats
– crossover might be difficult.
For strictly the FidoNet end, using the TrapList.library for nodelist
support would be something I'd strive for. Also, having an account for
each user that is debited each time he sends a NetMail message (Matrix
Message) (DLG and some other BBS software calls this a 'NetMail Credit'
system), so that the user knows just how much it costs the SysOp to send
his message to his buddy's BBS in Japan. (^_-)
How would BBX fare for non-programmers like myself? I'm only just
starting to learn the basics of ARexx, and have yet to master the DO loop.
(^_-)
Len Lekx
[73300,723]
To get into customizing BBX, you're going to need to know the basics of
ARexx. There is no way around that – but once you do know a bit of Rexx,
you can do a lot with it.
The problem with integrating the messages into the BBX message area, is
that the BBX message area has the standard fields – From, To, About, etc…
whereas Usenet's headers can be any size. I don't think throwing the
usenet stuff in with the local stuff is appropriate, because they are very
different things.
I suppose you could write some rexx code to do it anyway if you wanted to
though.
…Steve
To get into customizing BBX, you're going to need to know the basics of
ARexx. There is no way around that – but once you do know a bit of Rexx,
you can do a lot with it.
The problem with integrating the messages into the BBX message area, is
that the BBX message area has the standard fields – From, To, About, etc…
whereas Usenet's headers can be any size. I don't think throwing the
usenet stuff in with the local stuff is appropriate, because they are very
different things.
I suppose you could write some rexx code to do it anyway if you wanted to
though.
…Steve
Steve – how about hooking a bunch of Amigas up to the same ram, like with
ENLAN-DFS? It's very easy for me to rename my (local) ram: device and then
run "RAM:" as a device on the machine with the common work area.
Should work fine, no?
–Ben
I don't mean I use RAM:, I mean I use system semaphores and one global
library base to handle things, and that wouldn't work with multiple
machines. What would work would be having a control program on one machine
answer requests from other machines, and that shouldn't be too hard to do,
but I don't have the hardware to even start working on something like that.
…Steve
I will definitely be uploading a demo version here, probably around the
same time the program is actually released.
Yes, BBX does multi-line, and has chat support built in as well as sending
messages between nodes at any time.
…Steve
Steve,
I'm looking to upgrade Viva! Amiga! (609 227-8278) from BBS-PC!. VA has
been running with BBS-PC! since 1986 and, although there are a lot of bbs
systems out there that have better features than BBS-PC!, there doesn't
seem to be one that has everything that I want. These include, message
threading, conversion of BBS-PC! files, customizable menus, the basic file
protocols of BBS-PC! and ease of maintenance. Will BBX have all of these
(plus more)?
Additional features I'm hoping for are programmability (doors?), message
base isolation, multi-user, multi-serial port handling, overlapped i/o
(i.e. file handling as a separate task from the serial port i/o to maximize
serial port throughput), multi-level activity logging, mail distribution
list handling, single-user, single-file download targeting, background
statistical utilities or, at least, public disclosure of file structures,
ARexx manipulation…
The longer I think about it the more I come up with. At any rate, if
BBBX can handle the stuff in the first paragraph and most of the stuff in
the second, you will have another customer here. Please keep me informed
of your progress.
Don,
BBX will do everything in your first paragraph, and the multiple-user
multiple-port stuff. I don't know about the rest of your wishlist, though
I suspect it will do a lot of it. BBX can be made to look just like
BBS-PC!, which is one of the reasons that it was chosen to replace BBS-PC!
on the NAG BBS. (NAG BBS is the official bulliten board of the Northwest
Amiga Group.) A lot of us on NAG have been looking forward to the
changeover for a long time now. Can't happen too soon for me. 🙂
–dds (dales@teksce.SCE.TEK.COM)
Whappeta-whappeta-Whap!
Just FYI, Proteus does have all of thosre features, except a direct BBS-PC
to Proteus file conversion, except that 1) all file structures seem to be
documented and 2) it's easy to write ARexx scripts to feed Proteus data
(adding whole directories of files, etc.). I thought it curious that you
referred to 'overlapped I/O'.. I believe that is most commonly referred to
as asynchronus I/O on the Amiga (the ability to keep processing or sending
even through the device is still sending previous data). You do seem to be
one discriminating SysOp!
Christopher,
I've kept Viva! Amiga! running for almost 6 years with BBS-PC! and am
reluctant to change unless I can take a big step forward. Do you have any
details on Proteus or know where I can get them? I'd sure like to see a
features list, perhaps an installation and maintenance demo module and, of
course, info on how to reach its creaters.
I come from the mainframe world where I have been used to refering to it
as "overlapped I/O" for 25 years. Overlapping I/O with processing or other
I/O is one of the things multi-tasking is all about. It provides maximum
throuput for all data entering or leaving a computer. I kinda took it for
granted that Amiga programs would use overlapping techniques only to be
disappointed. One of the biggest disappointments is Whap! which brings the
serial port to a dead stop while it writes data to a disk file, even worse,
to SLOWLY fill in a wedge in the file download pie chart!!
– Don
– via Whap!
Don,
Re Overlapping I/O: I'd love to see BBX (or any other BBS) support
Matt Dillon's DNet software. The ability to up- and down-load a set of
files, while simultaneously reading the message base would be great!
[SteveX: Hint! Hint!] DNet, or something similar, would be very nice on
CIS, but we'd have to convince TPTB here to implement it. Changing Whap!
alone certainly wouldn't do it for us.
–dds (dales@teksce.SCE.TEK.COM)
Whappeta-whappeta-Whap!
Funny you should mention that, although what Don was talking about
(overlapping I/O) is different from what you are talking about
(packet-switching data over a serial port).
I might as well let the feline out of the bag and let people know about
my Proteus<->DNet interface project. I essentially have a BBS setup with
the ability to operate via DNet, currently giving the user the ability to
download, upload and continue using the rest of the BBS system (incl.
messages, etc.) simultaneously. It only requires a set of DNet servers
(''terminal software'') which I wrote, and this is available for download
on my BBS.
Although it is currently at a 'gamma' stage, the system which I term
"ParaBIT", is functioning and seems to be reasonably stable as of V.93g. If
you want to see it, you can call 'Troy City Proteus' at (508) 677-4535 and
logon as normal. New users must wait to be validated, however, so you will
have to make a second call.
– Chris
Chris,
Thanks for the tip; I may just give your board a call.
–dds (dales@teksce.SCE.TEK.COM)
Whappeta-whappeta-Whap!
Don,
As I believe I've said before, Proteus is available for download here on
CIS. Or, if you would like, you can call my BBS system and inspect the
default setup (well, slightly modified 🙂 and download it at the same time
(quite literally.. as you shall see). I also think the release I have is
slightly newer. The data# is (508) 677-4535 1200-14.4K BPS (V32bis/V42bis).
I was very pleasantly SUPRPISED at how Proteus handles its I/O streams..
it even includes a specialized caching system (primarily for the efficiency
of multi-line setups).
I am still not sure if I'm going to do conversion of files from BBS-PC –
the file area is no problem, but I don't have any way of getting the
message base out of BBS-PC aside from going and figuring out their file
format – have you ever seen a utility for converting the BBS-PC message
base into something else?
You definitely get programmability. Message base isolation works much like
it does in BBS-PC. Multi user, multi serial is no problem.
Having the file handling as a seprate task wouldn't help any, as when BBX
is doing anything that the user has to wait for, it's because the user
wants the result. Saving messages takes almost no time, and that's about
the only place where you're starting any sort of database work that you
don't immediately care about the result of.
"single-file download targeting"?
"background statistical utilities"?
I'm not going to publicly disclose my file structures. I will, however,
give you routines you can call to access the files. This way I'm not tied
to the file format.
…Steve
A long time ago, I wrote a review of BBS-PC! for Amazing Computing. I
don't have the program any more (I sent it to Jez San, 'cause he said he
needed a BBS program), but I *think* were some data structures in the back
of the BBS-PC manual. Maybe their file format is documented there?
Steve
Steve,
Robert Miles, who operates the Excalibur BBS in Dallas, has done lots of
programming to enhance BBS-PC. His BBS number is 2143412775, and I'm sure
he would be helpful to you in any way he could.
Betty
Thanks, Betty – I'll give that BBS a call.
…Steve
Steve,
On BBS-PC! to BBX file conversion:
– BBS-PC! contains a description of each file, the time and date of
upload, the uploader's name, the number of times accessed ,file type, path
status, whether file was uploaded remotely or locally, file size and
directory info. I would like to preserve all of it. There is a utility
called BBSINDEX which can be set up to dump all of this info to an ASCII
file, so all that we (sysops) would need is a way to feed the ASCII info
back into a program to rebuild the file base in BBX format.
– I don't know of any similar utility for managing the message base or
user records. It is possible in BBS-PC! to dump all of the messages to an
ASCII text file using F10 to define the file and then letting BBS-PC!
record a hand guided trip through all of the messages. I use this
technique to dump off messages that I use for creating my "best of"
sections. The "best of" menus and text files are then created from an
ARexx program with this ASCII text file as input. With appropriate arexx
commands in BBX, an ARexx program could pump messages from this ASCII text
file into a BBX data base.
– Some years back, I tried to hack out the struct of the user file and
may still have it here someplace. I'm not sure that I have the key file
though. MSS published the file structs in an early version but the current
one is different, so I had to guess at a lot of things. It won't be bullet
proof. At any rate, it is vital that all of the user file info be
transported to a new BBS. Unlike the method I mentioned of capturing
messages, there is no easy way to capture user information in a text file
(no non-stop command when listing). With 450 users, it would be a long and
tedious process to capture all of the users to a text file.
By message base isolation, I wanted something UN-like BBS-PC! I would
like to put different message bases into different files.
Mutli-tasking of file handling may not be necessary but it seems to me
[ MORE ]
[ continuation ]
the best way of getting maximum throughput on the serial line. There is no
excuse in a multi-tasking machine for a file transfer (upload or download)
to pause for disk activity. When downloading, the data should always be in
memory before the previous block has completed; on uploads, a completed
block should be "handed off" to a disk task/process to be written to a file
without making the serial port wait for the results. The same principles
apply to non-stop message dumping and ASCII send message uploading. If you
have done this without multi-tasking then multi-tasking is certainly not
needed. It just seemed to me the best way to do it. The need for maximum
throughput is more obvious now that everyone is going to 9600+ bps modems.
"single-file download targeting" – being able to target a single file to
a specific user or group of users without making it a general download
file. I have 3 beta testers that could log on to the BBS at their
convenience and download new program versions if I could target the file to
just them. There are a number of other people that I would like to target
files to, usually not on a regular basis. I'd like to be able to tell the
BBS that this file may only be downloaded by person x. X could be an alias
for a group predefined as persons a, b and c.
This concept could also be applied to the message base as a distribution
list feature. For instance, the president of our local user group could
send a single message to an alias representing a list of all members or of
just the officers, and have that message marked for those people when they
logged on.
"background statistical utilities" – my most valuable one is BBSINDEX. It
doesn't interfere with BBS operations and I run it once per hour (using
NAZCRON) to create my online files list. The list is, at most, only 1 hour
old at any time. BBS-PC! provided a background stats utility, but, unlike
BBSINDEX, it is bug ridden and crashes the system. I guess that if you are
not going to disclose the file structures, you will have to
[ MORE ]
[ continuation ]
provide these.
File struct disclosure. If you are keeping the file structures to
yourself, I hope you are providing a program similar to BBSFIX. I would
have given up SYSOPing years ago if it hadn't been for BBSFIX. Too many
things go wrong too often. While BBSFIX doesn't always fix everything, it
has always gotten me back online after a crash.
Also there should be some way to extract ALL inforamtion from all files
as ASCII text and allow ASCII text files to pump all data back into the
database. An offline (background) utility would be ideal, one that doesn't
interfere with the bbs, but ARexx commands in the bbs would be OK as long
as they may be used when someone is conneced and will not interfere with
the ongoing session.
I'd appreciate a list of BBX features if you have a feature file handy.
As you can tell, I'm not going to jump into something new without knowing
what I'm getting into.
Thanks for your efforts. By the way, I run Viva! Amiga! (609-227-8278)
in Southern New Jersey (10 miles from Philadelphia). Give a call if you
are curious. 9600bps, open system and FREE.
– Don
– via Whap!
Steve: Will BBX support CD-Rom drives as devices for downloading? Will
it also allow you to set up a door that can be used to execute CLI
commands? The reason I'm asking is that I need some BBS software
that will do these things and I'm hoping that BBX will be the answer.
What's a "Door"? 😎 I hate that term.
BBX lets you call external programs. You can spawn a remote shell if you
like, or you could spawn anything that does console input and output. Of
course it won't know about BBX's time limits, etc., but if the program
wants to learn, it can.
I do have support for CD-ROMs in that you can store the file catalog
separately from the files. You can only do this with 64 file areas right
now, however, and I'm not sure if that's enough (since I haven't seen how
the CD-ROMs are generally laid out).
…Steve
Sounds like your external program support (aka DOORS) is just what I
need. I wrote a program awhile back for the CLI that would search a CD-Rom
for Amateur Radio callsigns, and then print the information (address) to
the console. Would probably have to change it a little since it uses
command line arguments.
Hmmm….file catalogs for a CD-Rom. Depends on how the catalog is
generated. Most BBS systems have you go in and enter the descriptions and
other information manually. If you want to take the time and write a
program to generate the file listing automatically, it can be done but most
Sysops don't have the time or programming experience to do so. The 'Baud
Bandit BBS' system by Richard Stockton probably has the best implementation
of a CD-Rom door I've seen so far, using an Arexx program. Basically, it
assumes that you already know what files you want to download from a file
listing of the CD usually provided on the CD itself. Then the Arexx program
lets you go in the CD-Rom drive and its sub-directories just like any other
device. You then get a paged listing of the files in that directory. Then
you can mark what files you want to download, go into the next directory,
mark more files, etc., and then download the whole bunch. Get the idea?
Using a file listing for a CD-Rom can be impraticle unless it is easy and
automatic. With thousands of files and dozens of directories, it can be a
real pain.
John – K7KB (via Whap!)
Sounds like I'll have to get a CD-ROM drive at some point, and put in some
real support for it. Until then, the Sysop (again) is free to write some
Rexx code that would let the user do exactly what BBBBS does. It should be
pretty easy to set up – and actually, writing a separate rexx script for
each CD-ROM would be a pretty nifty idea, customizing it to the directory
structure of the CD-ROM.
…Steve
>> Sounds like I'll have to get a CD-ROM drive at some point, and put in
some
>> real support for it. Until then, the Sysop (again) is free to write
some
>> Rexx code that would let the user do exactly what BBBBS does. It
should be
>> pretty easy to set up – and actually, writing a separate rexx script
for
>> each CD-ROM would be a pretty nifty idea, customizing it to the
directory
>> structure of the CD-ROM.
That's pretty much what BBBBS does. It has an 'exclusion' list of
directories for the 'Fish & More' and 'Fred Fish On-line' CD's. Whatever
directories are in the exclusion list don't show up when the user wants to
get a directory of the CD. All he sees is what the Sysop wants him to see.
I've been able to get BBBBS running now. Don't know what I was doing wrong
before, but it seems to be doing OK. It has a few quirks, but seems to do
the job. I'll be interested in taking a look at BBX when it becomes
available. You don't need another beta tester do ya? <g>
John – K7KB (via Whap!)
Can you tell us more about it? Does it have a publisher yet? Inquiring
minds want to know! 🙂
Steve
Check out the bulletin board being run by Black Belt Systems…. it's
called BBX and was written by Steve Tibbet (sp) who frequents these fora on
a regular basis.
Michael
….from the north coast (go Cavs!)
BBX is a very nice BBS. There are two boards in the Portland, Oregon
area that are beta testing it. They are: NES BBS at (503)-640-9337 and
Cryo Cafe at (503)-257-4823. Both boards are up 24hrs a day, with v.32bis
modems. You might want to check out the game "Perihelion", as an example
of what can be done with ARexx and BBX.
–dds (dales@teksce.SCE.TEK.COM)
Whappeta-whappeta-Whap!
And the Perihelion you've seen is primitive compared to the Perihelion
Craig has in testing now. (Peri was the largest ARexx script ever written,
at something like 400K. He's rewritten it in Modula-2 and added a LOT to
it – it's a lot more than your average BBS game).
…Steve
Steve,
Sounds neat! Is this going to be a stand-alone product, or will it
still work with BBX?
–dds (dales@teksce.SCE.TEK.COM)
Whappeta-whappeta-Whap!
NEIL,
I suggest Proteus! It is available for download here (which is far cheaper
than expensive commercial packages). Proteus is a BBS Engine and comes
complete with a *nice* BBS written in ARexx. This package was originally
marketed as a commercial product, but apparently the new company couldn't
make it financially (which is why the author accepts contributions).
I've been a sysop for several years, and I rate Proteus a "MUST SEE" as I
think it will give you what you want.