home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
os2
/
bbss10b2.zip
/
DOC
/
B&BSYSOP.TX8
< prev
next >
Wrap
Text File
|
1994-02-28
|
59KB
|
1,327 lines
-=-
The Bits & Bytes Bulletin Board System for OS/2
B&BSYS/2
-=-
This documentation is for v0.98á
-=-
All included material is copyright 1991-94 by:
Terje Flaar nning
Boks 455 Sentrum
N-7001 Trondheim
Norway
Voice: +47-94655772
BBS: +47-DOWNNOW
-=-
Please note, the BITS0001 bulletin should also be read, it may include
important changes to the information in this file.
-=-
INDEX
-=====-
1 Introduction to B&BSYS(/2)
1.1 The history behind B&BSYS
1.2 B&BSYS/2 vs. other BBS-systems
1.3 First time B&BSYS/2 setup
1.9 The people behind B&BSYS/2
2 Configuration of B&BSYS/2
2.1 CONFIGURATION WITH THE U(til) Co(nfig) COMMAND
2.1.1 General
2.1.2 Path names
2.1.3 File protocols
2.1.4 Archive programs
2.1.5 Nodes (Comms)
2.1.6 Timed events
2.1.7 Net-links
2.1.8 Areas
2.2 DOOR.BAT
3 Menu by menu in the B&BSYS/2 interface
3.1 GLOBAL MENU FUNCTIONS
3.2 MAIN MENU
3.3 MESSAGE MENU
3.4 FILE MENU
3.5 BULLETIN MENU
3.6 CHAT MENU
8 Script language
8.1 Scripts called
8.2 Script variables
8.3 Script commands
9 Technical info
9.1 File structures
==================================================================
INTRODUCTION TO B&BSYS/2
Welcome to the wonderful world of B&BSYS/2, the next generation of BBS's that runs under
OS/2.
THE HISTORY BEHIND B&BSYS/2
My first meeting with modem-communications was in the summer of 1989 when I realised
there were telephone connectors in the back of my PC (a old ITT XTRA from 1984). I
managed to connect to a local BBS and became a frequent user there. But unfortunately my
local BBS had to close down and I had to start calling long distance which was not cheap. After
a short while I got the idea of starting my own BBS. My first BBS was started using the MBBS
(╕ Mike Robertson) BBS-system and I was online from early 1990. I connected to national
networks and since I got more and more conferences the MBBS system became to limited, it
only supported 75 conferences. Therefore I started making my own BBS-system which is
known as "The Bits & Bytes Bulletin Board System" or B&BSYS for short.
Have to add something here, late in 1993 I heard about the OS/2 patches for Borland Pascal,
and this was the start of B&BSYS/2. B&BSYS will no longer be developed in a DOS-version.
B&BSYS/2 VS. OTHER BBS-SYSTEMS
B&BSYS/2 is in many way like other BBS-systems. The main difference that it is almost
unlimited as to how big your system may become. B&BSYS/2 consist of a database-structure
so advanced that many bigger systems can just dream about matching it. This system is not just
another program but it does follow all major software development rules.
B&BSYS/2 has a user friendly interface and it is almost impossible to "break" the system by
using bad commands or the like.
FIRST TIME B&BSYS/2 SETUP
B&BSYS/2 is easy to setup, and if you follow these few steps it should be up and running in
minutes.
[1] Unpack the main archive (B&BS*.ZIP) to your BBS directory (C:\BBS for example).
Remember to unpack with the directory-structure intact!
[2] Be sure til place your .KEY file in your BBS directory from now on called B&B-root.
This file is supplied directly from me upon registering.
[3] Execute the SETUP.CMD file with a list of your hard drive letters as and only
parameter. For example, type: "SETUP CDE" at your OS/2 prompt.
[5] Now, start B&BSYS/2 by typing BBS 0 (0 is your local SysOp node) and with the
name "Sysop Sysop". Use your own password.
[6] When you are on B&BSYS/2 command line, type UTIL NAME to change your from
Sysop Sysop to the real one.
[7] Now you may start to explore and configure your B&BSYS/2 BBS.
[8] ... but before you do all this, print out these instructions or write them down.
That's all, now you should configure your B&BSYS/2 BBS the way you want it by using the
Co(nfig) command in the SysOp menu. Good luck. A more detailed explanation of the setup-
procedure is available in SETUP.DOC, which is found in the same directory as this file.
THE PEOPLE BEHIND B&BSYS/2
The main system B&BSYS/2 is entirely written by Terje Flaaronning during late evenings the
last two-three years.
Thomas Stenhaug is writing QWK-support, and I'll let you know when it's ready.
Greetings go to:
Raymond L. Gwinn (Developer of the SIO drivers for OS/2) who has supported me with info
about SIO and the OS/2-API concerning async-communication.
Jan-Morten Havstein (Running the main ßeta board for B&BSYS/2) who has to live with all
the bugs in the preßeta versions of B&BSYS/2.
Thomas Stenhaug who is currently working on QWK support routines for B&BSYS/2, I
suspect he have something ready when you read this.
¥yvind L. Eggen (Developer of the XBoard offline reader) who made support for the
B&BSYS/2 grab format in XBoard. The grab format has changed today, but I hope that
coming versions of XBoard will support the new format.
Stian Seeberg who wrote this and all the other DOC's available for B&BSYS/2 (and is also
running a ßeta-test board)
My mother who has paid quite a few large phonebills the last couple of years. :-)
CONFIGURATION OF B&BSYS/2
CONFIGURATION WITH THE U(til) Co(nfig) COMMAND
To configure B&BSYS/2 you will first have to enter the SysOp menu. It is from here all
systemwide changes are made. This menu is entered by typing $ (for $ysOp), and pressing
ENTER. You will then see the following menu:
v1.0ß1 >>> SYSOP MENU <<< v1.0ß1
Co nfigure your BBS EF Edit file PA Pack area
L og, Show logfile AF Add files (install) DU Delete user (kill)
Us er editor DF Delete file CF Classify file
Mem ory/system info D os shell/command SF Sort files
B ulletin command R ead (messages) comm. T ransfer scratchpad
C hat/Node command S elect a new area No de message (send)
F ile transfer command U tility command Com ment to SysOp
Q uit to main command O pen a external door G oodbye (logoff)
The lower part of this menu consists of the systemwide commands. These can be invoked from
anywhere in the BBS. The top half of the menu is the $ysOp menus special commands. These
will be covered in detail in SYSOP.DOC.
The Configure menu
The command we are intrested in for the time being is COnfigure your BBS. This command
brings up the following menu again:
Configure System
General
Path names
File protocols
Archive programs
Nodes (Comms)
Timed events
Net-links
Areas
Return to BBS
You select an area by moving the highlight up/down with the arrow-keys on your keyboard, and
pressing ENTER. We will now cover these areas in detail.
General
This is where the general configuration of your BBS is done. The screen looks like this:
Configure General Use: Esc Letters
Board name: Your boards name
SysOp name (you): Your name
Location of system:
Main phone Number:
Max inactivity time: 180 seconds
New users:
Access level: 1
Time limit: 60
Response time: 10
The boards name you will have to enter yourself. It should match the name you have chosen
for your BBS.
Your name is autodetected, however if there are several people who have SysOp access any of
these can be entered in this field. A user without SysOp axess will not be allowed entered in this
field however.
The location and phonenumber of your BBS will also have to be entered by you manually.
Max inactivity time is the number of seconds a user may remain online without being ejected
from the BBS. This is useful if the user falls asleep while online, or simply forgets that he/she is
online. It prevents not only that your system remains busy, but saves the user from a rather
large phonebill!
Access level is the level of access given new users. This will determine what areas of your
system they will be allowed to enter. More about the different areas later, in the Areas
submenu.
Time limit is the number of minutes a new user is given online.
Response time is how fast the system reacts to input from the user. The default value of 10
should be acceptable for most systems.
Path names
This is where you chose the different paths for your temporary files. The menu looks like this:
Configure Path Names Use: Esc Letters Digits
RAM disk temp dir:
F:
Scratch-pad path:
E:\BBS\MAIN\SCRATCH.
CD-ROM drive letters:
1 - [ ] 2 - [ ] 3 - [ ] 4 - [ ] 5 - [ ] 6 - [ ] 7 - [ ] 8 - [ ]
If you do not have a RAM disk then leave the field empty.
The scratch-pad should be placed on your fastest hard drive, or preferably on a RAM disk. This
should only be done however if the RAM drive is large (at least 2MB for a single node system).
If your system has any CD-ROM drives, and you wish to make the files on it (them) available
to the users, then place the drive letter in the chechbox(es) that match your system.
File protocols
This is where you configure your file protocols. The screen looks like this:
Configure File Protocols Use: Esc Letters Arrows
Letter: Z Name: ZModem OkErr: 0 Type: B_A
Path: E:\BBS\MAIN\DSZ.COM
Upload: port &p speed &s ha both rz &u
Download: port &p speed &s ha both sz &l
AutoRec: "**"#24
Z - ZModem &p com port
Y - YModem Batch &s speed
X - XModem &l send list
1 - XModem-1k &n node number
H - HS/Link &u upload directory
&t minutes left
&b base addr (com3+)
&i irq (com3+)
&h com handle
These are autodetected, and unless you wish to install a protocall that is not autodetected, you
will not need to change any of these settings.
If you should have to enter any protocols that are not autodetected, you will have to fill out the
following things:
Letter is the letter of the alphabet that represents this protocol in the list of available protocols
that are presented to the user in the PRotocol part of the UTilities menu.
Name is the name of the protocol. This is also shown to the user in the PRotocol part of the
UTilities menu.
*OkErr
*Type has three possible switches; B, B and A. These stand for ?, Bi-directional and
Autodetect ????
Path is the path to the file, including the filename and extention.
Upload is the command string sendt to the program to start the upload process.
Download is the command string sendt to the program to start the download process.
AutoRec is the string the program should look for when autodetecting an upload.
Archive programs
This is where you set the different archive programs. The supported programs are ZIP, UNZIP,
ARJ, ARC and LHA. These are all autodetected, and selfconfiguring, but you may need to
specify the programs if B&BSYS/2 does not find them for one reason or another. The screen
should look something like this:
Configure Archive programs Use: Esc
UNZIP.EXE path (used to view/unpack *.ZIP archives):
E:\OS2\UNZIP\UNZIP.EXE
ZIP.EXE path (used to create *.ZIP archives):
E:\OS2\ZIP\ZIP.EXE
PKXARC.COM path (used to view/unpack *.ARC archives):
PKXARC.EXE
PKARC.EXE path (used to create *.ARC archives):
PKARC.EXE
LHA.EXE path (used to view/unpack/create *.LZH/*.LHA archives):
D:\TOOLS\LHA.EXE
ARJ.EXE path (used to view/unpack/create *.ARJ archives):
D:\TOOLS\ARJ241\ARJ.EXE
All you have to do here is to specify the path to the file in question. If you fail to do so (like this
system has in the case of PKXARC), the file will be highlighted in red on a grey background,
and only the filename the system searched for is entered as opposed to the other fields which
have a path and filename entered.
Nodes (comms)
This is where you specify the nodes your system has, and also set up the modem. The screen
looks like this:
Configure Nodes and Communications Use: Esc Arrows Letters Del
1 Com Port: COM1
Init baud rate: 38400
Lock baud rate: Y
Type of login : Wait for RING/CONNECT
Ring before answer: 0
IO device: COM1
Modem command strings:
Init: ATxxxxxxxxxxxxx
Answer: ATA
Off hook: ATH1
On hook: ATH0
1 indicates the number of the node that is being configured. You can have as many nodes as
you wish in the registered version, but the $hareWare version only supports nodes 0, and 1.
Node 0 is the default Local Node, and can not be configured for modem-use.
Com Port is the port that the modem is connected to at the back of the macine.
Init baud rate is the speed that the system will communicate with the modem at. In the
$hareWare version this is set so that it can not exceed 9600. For v32bis modems 38400 is
recomended.
Lock baud rate can be set to either Y(es) or N(o), but Y(es) is recomended. This determines
wheter or not the rate of data transfer between the computer and the modem should be locked,
or be dictated by the connect baud rate.
Type of login can be set to several different types of logins, however for an eksternal node (one
where people can call in via a modem) the setting is:
Wait for RING/CONNECT: the BBS waits until it recives a RING signal from the
modem, sends the answer string (covered below) and waits until it
recived a CONNECT message from the modem. The user is then
allowed to log in.
The other possibilities are:
Direct local login: for purely local nodes (like node 0)
Direct login: don't know really???????
Wait for DCD (0-Modem): used for logins directly from another computer without the use of
amodem. A socalled 0-Modem cable is used to connect the
computers.
Rings before answer tells the BBS how many rings it should wait until it answers the call. This
defaults to 0, but can be set to any number.
IO Device is the device that provides the data Input and Output. This is generally the same as
the COM port.
The modem commands are different for each node, as each node has its own modem. These
commands varey from modem to modem, and you will have to consult your modems users
manual for the correct settings for your modem. However we have included some tips on what
might be included (although the commands for these settings can be different from modem to
modem!) in the init at the end of this document. See Apendix A: Init strings.
Init is sendt to your modem to set it in the correct state for recieving calls. All commands that
need to be sendt to the modem should be present on this line. It is sendt to the modem each
time B&BSYS/2 is started up, and after every caller has hung up. If the resultcode from the
modem is OK, then B&BSYS/2 will go into a state of "Waiting for RING/CONNECT" in the
case of external nodes.
Answer is the answer string for your modem. Usually this is ATA, and this is what B&BSYS/2
defaults to.
Off hook is the command string that instructs your modem to take the phone off the hook. This
is usually ATH1, and this is what B&BSYS/2 defaults to.
On hook is the command string that instructs your modem to put the phone on the hook. This is
usually ATH0, and this is what B&BSYS/2 defaults to.
Timed events
B&BSYS/2 is capable of running events at given times of the day/week. Her må jeg ha hjelp,
da jeg ikke aner hvordan det funker....
Net-links
B&BSYS/2 BBS's all have the capabilities to become members of a network called bNet. This
network consists of B&BSYS/2 BBS's only, and they exchange messages at given intervals. To
become a member of bNet all you have to do is to register your copy of B&BSYS/2. You will
then be given a number, indicating which BBS you are, and be given a HUB that you can
connect to. This HUB will take care of all the message-transfers.
As of this day, the bNet and Net-links part of B&BSYS/2 are not perfected, and as souch they
have not been implemented. You are therefor strongly advised to not use this feature of
B&BSYS/2, until an upgrade is available.
Areas
This is where you configure the diffrent confrences, file areas and bulletin areas. The screen
looks like this:
Configure Areas Use: Esc Arrows Letters Del
Info from Bnet Area name:
Mail Box Main Board
B&B Support Area type: Local area
Main Board Area code: MAIN
File code: MAIN
Door code: MAIN
Bull code: MAIN
Other:
# of old msg to read: 100
Area flags:
New user autojoin
Message type:
Public messages
Area host: Not a bNet area
Access levels ->
Directories ->
These are the areas that are preconfigured with B&BSYS/2:
Info from bNet
Mail box
B&B support
Main Board
You may add as many as you wish.
The following things have to be configured for each new area:
Area name is the name of the area in the areas list. This area list has to be made by you, the
SysOp. This will be covered later in this document.
Area type will usually be a Local area, as bNet areas are not fully supported as of yet.
Area code is a code of up to four letters, that specifies the area as a message area. NO two
areas may share the same area code! If you enter an areaname, but omit the areacode "MAIN"
will be entered automatically. If this is done you WILL NOT BE ABLE TO CHANGE IT!!
You may therfore be wise in filling this in first, and leaving the name blank until this has been
taken care of. A change is to come here, making it impossible to have two areas with the same
code!
File code is also a code of up to four letters. Areas are allowed to share the same file code, and
if you intend the files to be available to all users it may be wise to set this file code to MAIN.
This is done because users need to be in the area that the file code is set for to be able to list
and download the files in that area. If all files that are to be available to the users are kept in the
file code MAIN, users will not need to change areas to see all files available to them. This also
provides you with an easy way of shielding some users from certain files (typically adult
pictures, or private files). You merely place those files in an area with a diffrent file code, and
change (raise) the access level needed to enter that area! (This will be covered in Access levels.)
Door code is also a code of up to four letters, and all the limitations that apply to the file codes
are in effect here as well. You may wish to make certain doors available to only a limited
number of users, and therefor specify a code that is different from MAIN, which is the default.
Bull code is the same code of up to four letters, but it controlls the bulletins that are available in
a certain area. MAIN is the default here as well, and like the File and Door areas you will only
need to change the default if the bulletins should be hidden from scertain users.
# of old messages to read is the limit for how many old messages a new user should read in that
perticular area. This number can be set as high (or low) as you wish. However new users may
not wish to read trough several hundred messages to become up to date, so set the number with
care.
Area flags are certain limitations, or restrictions that pertain to that perticular area. The flags are
as follows:
External area: used about bNet areas
New user autojoin: a new user is automatically a member of this confrence
No resign: users may not resign from this confrence
New user autojoin; No resign: a new user automatically joins this confrence, and may
not resign from it.
The space can also be left blank, in which case no restrictions apply. This is the case for most
local areas, and is also the default!
Message type lists the type of messages that are allowed in an area. The valid choices are:
Public messages: all messages are public, and can be read by all
Private messages: all messages are private, and can only be read by the author of
the message, the recipiant of the message and the SysOp.
Public/Private messages: messages can either be public or private.
Please note that the SysOp can read all messages, even those marked as private! It is up to the
SysOp how much privacy is to be expected on any given BBS.
Area host is used for bNet areas, and as such has not been activated yet.
Access levels have to be set for any area to become active. There are two very important things
to remember when setting access levels. The first is to whom you wish to give access to this
perticular area. This is up to you, but you should keep in mind that all users have at least the
minimum access level, and if the data in the area is sensitive (adult pictures are one type of files
that should be shielded from some users) you should specify a higher access level. Specifying
the access level is done by entering the letter that corresponds to the level you wish to give that
area. You then enter a code for what users with that access level may do. The codes for this
are:
R ead
W rite
U pload
D ownload
O pen
All users with a higher access level will recieve the same privelages as the first level you specify.
This is only natural, and B&BSYS/2 will fill the remaining access levels to save you the work.
You may of course specify that some users will only be allowed to read messages, and perhaps
write them in certain areas, and only users with a higher access level are given up/download
privelages. The variations on this (and openness on your system) are up to you to decide!
In addition to these five codes comes the second of the very important things to remember.
That is to place an S (for SysOp) at level 15 (the letter P). This is to ensure that you are given
SysOp access in this area, and as souch have all messages routed to you as well as the intended
recipiant. This also grants you the option of killing messages that are deemed not appropriate by
you, either morally or legally. Please remember that as a SysOp you are responsible for the files
and messages that appear on your system!
Directories is where you speciy which directories are assigned to each area. The screen looks
like this:
Configure Directories Use: Esc Arrows Letters Del PgUp DgDn
Directory name:
Disk directory:
Directory flags:
The field for directory name is the name that will be listed in B&BSYS/2 as the directory. This
name should have some connection with the files in that specific directory. You may use spaces
in the name, and any alphanumerical combination.
Disk directory is the directory that is on the hard drive. This does not have to have any
connection to the directory name, but it MUST be exclusive. Two directory names can not
share the same disk directory!
Directory flags are really only used for the Upload directories, but can be used in the other
directories as well. The flags that are available are:
Uploaddir: the specified directory is the upload directory for that file code
Show uploader: the name of the person that uploaded a file is shown along with
the file description
Uploaddir;Show uploader: the specified directory is the upload directory for that file code,
and the name of the uploader is shown along with the file description.
There must be an Upload directory for every file code! If there is not one, then an error code
will be recorded in the Log!
After configuring an area it may be wise to move the highlight up a few notches to see if the
changes have taken effect, and exit the area menu before entering a new area or changing an
existing one. This is to ensure that all changes have been saved to disk, in case of a disaster, like
a power outage or a hanging of the computer.
Return to BBS
This returns you to the BBS. You can also press Esc to exit the COnfigure menu. All changes
will be saved regardless!
DOOR.CMD
B&BSYS/2 has the ability to run doors (external programs, games ... ) all
doors are executed via the DOOR.CMD file in your B&BSYS-root directory.
DOOR.CMD is called with these parameters:
DOOR.CMD [Node#1] [Node#2] [ComPort] [PortSpeed] [BaseAddr] [IrqVector]
[DoorName] [DoorCode]
Node#1 is the number of the node, this is not prefilled.
Node#2 is the number of the node, this is prefilled with zero's to a
length of three characters.
ComPort is current comport
PortSpeed is current comport speed
BaseAddr These are the base/irq data in the node setup (PS! Be sure to
IrqVector set these to the same values as your fossil driver)
DoorName The name or number of the door to be executed
DoorCode The B&BSYS/2 DoorCode for current area
Examples:
DOOR.CMD 3 003 1 19200 02e8 3 1 MAIN
DOOR.CMD 2 002 3 9600 03f8 4 TheGame GAME
The DOOR.CMD file may run both OS/2 and DOS executables.
MENU BY MENU IN THE B&BSYS/2 INTERFACE
GLOBAL MENU FUNCTIONS
There are several global menu functions that are already built into B&BSYS/2. In addition to
these you can create scripts that provide a global functions for your particular system. This is
useful for customising your system. The global functions that are present in B&BSYS/2 are as
follows:
B ulletin command R ead (messages) comm. T ransfer scratchpad
C hat/Node command S elect a new area No de message (send)
F ile transfer command U tility command Com ment to SysOp
Q uit to main command O pen a external door G oodbye (logoff)
In addition to these that are available to everyone there is one that is reserved the SysOp. That
is the $-function that lets you enter the SysOp menu. This has it's own set of commands that
will be covered later in this document.
MAIN MENU
The main menu has it's own functions that can only be evoked from within this menu. These
are:
L ist users Ti me left/used X pert mode(on/off)
List users will either list all the users that are registered to your BBS, or only the users whose
names match the string of letters the user enters.
Time left/used shows the user how much of the time he/she is allowed on the system is left and
how long he/she has been on the BBS today.
Xpert mode toggles whether or not the user sees the "(? for menu)"
MESSAGE MENU
It is from within this menu that you read and write messages. The functions that are available
for reading messages are:
# read that message . review last read < Read last in chain
+ read next message +# skip # forewrd, read > Read reply to this
- read previous message -# skip # back, read
The following functions are used for the area as a whole:
E nter message Sh ow area status Ki ll message
R eply to message V iew messages in area Un kill message
M ark messages Ed it message (change)
D ump message(s) Res ign from area Mo ve message (n/a)
When you write a message you have a choice of either a line-based editor or a full-screen editor
that is built into B&BSYS/2. This full screen editor allows you to move around using the arrow
keys on your keyboard or using the standard WordStar keys you may be used to from other
systems.
When you R(eply) to a message you get the option of quoting the previous message. Quoting a
message means that everything that was in the previous message will be added to the top of the
message you are about to write, whit the initials of the author and a vertical line in front of
every line of text. This ensures that everyone knows who wrote what. You are also asked if the
message should be marked as private (given that private messages are allowed in that perticular
area!). This assures you that only the intended recipiant of the message (and the SysOp who
can read anything!) can read it. You are also given the choice of editors.
You can M(ark) messages in different ways, giving you full control over messages to you. This
is practical when you want to dump a number of messages to the scratchpad and download
them for reading offline.
D(ump)ing messages to the scratchpad allows you to download these messages as a file and
read them offline, thus saving you valuable time online. Dumping messages allows you to read
messages, however you will have to go back online to reply to the ones meant for you. There
are offline-readers that allow you to read messages and reply to them offline, and then upload
the replys automatically next time you log on, but as of yet none of these support B&BSYS/2's
messageformat. However QWK-support is to be built into B&BSYS/2 allowing you to both
read and reply to messages offline, using a QWK-compatible mail-reader.
Users can search for unread messages either by pressing ENTER until they have read all
messages, or they can get a list of unread messages in the different areas by using the Sh(ow
area) function. This will tell you how many messages are in an area, and how many of these are
for you.
The SysOp can define whether or not users will be allowed to R(esign) from certain areas. This
is useful for having areas where you can be certain all the members of your BBS will get a
message you have posted to ALL users! This is done in the $ysOp COnfigure AREA menu, as
described above under CONFIGURATION WITH THE U(til) Co(nfig) COMMAND.
K(illing) of messages can only be done by the SysOp and the originator of that message. If the
message has been read by anyone the "killer" will be given a message to that effect.
FILE MENU
This is where the user will find files for Download and (hopefully) Upload. The functions that
are used are as follows:
Up load a file L ist files available K eyword file search
D ownload file(s) N ew files scan (date)
V iew an archived file W ild-char file search
The user can Up(load) files using the upload command. The user is told to begin the upload at
his/her end. B&BSYS/2 will then autodetect the file(s) being sendt, and also place the file in the
appropriate upload-area depending on which area the user was in at the time she was in at the
time. The user is then asked to type a simple description of the file. This description may be as
long as 110 letters, including spaces, devided into two lines of 55 characters each!
D(ownload) allows the user to specify filenames until he/she enters a blank space and the file(s)
are then sent using the protocol defined in the Ut(ilities) Pr(otocol) menu. There are several
commands that can be evoked from within the D(ownload) command. These are:
? Show available commands
/a Abort download
/l List tagged files
/r Remove a file from the list of tagged files
Tagging files for download can be accomplished in one of two ways. The user can either
specify a wildchard, and all files matching that wildchard will be tagged, or the user may specify
one file at a time.
V(iew)ing a file causes B&BSYS/2 to give the user a complete list of files in an archived file
(ZIP, ARJ, ARC or LHA), or in the case of GIF-files the resolution and number of colours (It
will NOT display the picture itself).
L(ist)ing files will give the user a complete list of the files in the area he/she is in at the time, or
one of the directories only. For a list of the available directories the "?" command is used.
B&BSYS/2 will NOT create a list of available directories. That has to be done manually by the
SysOp.
W(ild-char) searching is done by specifying a wild-chard for B&BSYS/2 to search for matches
to. It searches through the filearea(s) and lists the files that mach the specified search-criteria.
The common wild-chards "*" and "?" may be used. The difference between these two is that
while "*" can represent one or more letters "?" can replace one letter only.
K(eyword) searching is more time-consuming but also more effective if you don't know the
name of the file you are looking for, because it also searches the description of the files for a
match. DO NOT use wild-cards in this search, as it is case-sensitive!!!
BULLETIN MENU
The bulletins that are to be a part of any BBS must of course be made by the SysOP, and the
SysOp must also make a bulletin list to be named areaLIST.* where "area" is the four-letter
code used for that spesific bulletin-area in the configuration. The file areaLIST.* is to reside in
the BULLETS subdirectory. The bulletins are numbered according to the name of the files they
represent. The bulletins themselves are named areaxxx.* where xxxx is the number of that
perticular bulletin. The first bulletin in the MAIN area would be called MAIN0001.*. These
files also reside in the BULLETS subdirectory. The functions in this area are:
# read that bulletin D ownload a bulletin
# represents the number of the bulletin the user wants to read.
The user may also D(ownload) a bulletin if he/she wishes, and will be prompted for the number
of that bulletin. The download will be completed using the default protocol for that user.
CHAT MENU
There is the possibility of chatting with other nodes on a multinode BBS or with the SysOp on
a single node system. If the SysOp has made himself available he will receive a warning by the
machine beeping that someone wants to talk to him/her. The same goes for other nodes, they
will be notified with either a message on the screen or a message and a beep if their system
allows it. The functions for this menu are:
W ho is online Sy sOp chat (request) A vailability (on/off)
Ch at with another node
W(ho) gives the user a list of active users on the different nodes and if the SysOp is available or
not. If the SysOp is available there will be a red message to that affect at the bottom of the list
of active nodes. If the SysOp is not available no message will be at the bottom of said list.
Sy(sOp) will call the SysOp if he/she has set him/herself available. If the SysOp is not available
the user will be asked to leave a Com(ment) instead. The SysOp can answer a chat request by
making the window that node is in active and pressing Alt-C. The chat-session is ended by the
SysOp by pressing Alt-C again.
The user can set himself available for chat or turn this function off using the A(vailability)
function.
Ch(at) is used in conjunction with the number of the node the user wishes to chat with, or
he/she is prompted for the node-number. The user on the node that recives the chat request can
answer by entering Ch(at) followed by the number of the node. The number of the node that
initiated the chat-request is listed to the reciever of that request along with the request-message.
UTILITIES MENU
This menu allows the user to update his personal preferences and change his personal data and
password. The functions are:
V iew user profile N ame change AN SI graphics toggle
Ar chive format A ddress change IB M chars toggle
Pr otocol change P hone number change Cl ear scr. toggles
Use ANSI toggles Pa ssword change La nguage selection
To ggle switches Li nes on screen Ta sk Manager (on/off)
V(iew) gives the user a list of his/her active configuration. It is then easy to identify which
things need to be changed to suit the users preferences.
Ar(chive format) tells the system which archiver (ZIP, ARJ, ARC and LHA are available) that
the user would prefer used for the files to be archived using (this format is used for the
messages that the user grabs and the bulletins that are downloaded, NOT the archived files on
the system that are free for download!).
Pr(otocol) tells the system which transfer protocol the user would like to use as a default. The
system will then use this protocol instead of prompting the user every time.
Use ANSI toggles whether the system should display ANSI graphics in menus, bulletins and
messages.
To(ggle) is used to decide whether or not to display message status at logon.
N(ame) allows you to change the name you will be using on the BBS. This can be used to
change your Alias on boards that allow this, or if your name has changed for whatever reason.
This will NOT redirect messages adressed to your new name, but users will be given a message
that as your old name is no longer be a part of that BBS's user-list! It will be up to the user to
announce the name-change!!
A(dress) allows you to change the adress you have listed to the system. Your old adress will be
displayed, and you can press ENTER if you do not wish to make any changes. This should be
changed if you move however, as it allows the SysOp to get in touch with you should there ever
be a need for it.
P(hone number) allows you to change the phone number you have listed. The number for your
Home and Work numbers are both changable from this menue. If you do not wish to change
the number that is highlighted, then press ENTER, and the next number will be highlighted.
These numbers should be changed to reflect your current numbers, as it allows the SysOp to
get in touch with you should there ever be a need for it.
Pa(ssword) allows you to change your password used during login. You are prompted for your
old password once and your new password twice (to ensure you typed it correctly!). This new
password will be used for all consequent logins.
Li(nes) sets the number of lines the system will let scroll across the screen before the user gets a
--more-- message. Set this to 0 and the system will not stop scrolling.
The AN(SI) function toggles whether ANSI should be used at all (useful if the user doesn't
have ANSI-capabilities in his/her communications-package)
IB(M) toggles the IBM extended ASCII text mode.
Cl(ear) toggles whether or not to clear the screen before showing messages, bulletins or menus.
La(nguage) toggles between English and Norwegian language in menus and functions.
Ta(sk) toggles whether or not you want to allow background execution of tasks.
SYSOP MENU
This is where you change the look and feel of your BBS! You can make changes even while
users are logged on to your system, allowing you to make changes without having to shut
down!! This is a major improvement over several of the larger BBS-systems that are on the
market. If one of the changes you make forces the BBS to reset because of an error the user is
not logged off, but is instead given the opportunity to log on again without having to call back.
No extra cost is forced upon him/her by your mistake (even though a mistake is unlikely!).
Co nfigure your BBS EF Edit file PA Pack area
L og, Show logfile AF Add files (install) DU Delete user (kill)
Us er editor DF Delete file CF Classify file
Mem ory/system info D os shell/command SF Sort files
Co(nfigure) is used to change the basics of the BBS. This is covered in detail in the section of
this file called "CONFIGURATION WITH THE U(til) Co(nfig) COMMAND". This section
was placed at the beginning of this document because it is neccesary for the proper
configuration of B&BSYS/2, and as souch was covered as early as possible.
L(og) shows the user log for the node you specify. This contains a list of new users and files
that have been uploaded, and to where. It also contains a list of the different errors that have
occured on the system.
Us(er editor) is used to grant users higher access levels or unkill an unintentionally killed user.
You can also grant the user higher timelimits if you so wish.
The Mem(ory) function gives you a list of system information.
EF allows you to edit the description of a file or a list of files, depending on how you specified
the file(s). The file(s) to be edited can be listed with wild-chards to increase the flexibility of the
editing process. However if the SysOp plans to edit several files the CF command is superior!
AF adds files to the filearea the SysOp specifies. The areaname is to be used, and not the
directoryname! The files in the directory specified for that filearea that do not have a description
will be shown to the SysOp and he/she will have to type in a description. If one is not addes the
file will not be added to the filelist. The SysOp can specify a file that contains a list of the files
that are to be added, and their descriptions. This allows ease of installation if the files come with
a description file, or one can be made ahead of time. The default description file name is
DESCRIPT.ION, which is the file used by 4DOS (4OS2) and NDOS for attaching long
descriptions to files. This can be changed however to match any filename. The files that are to
be added can have filenames that are up to 16 characters long (including periods!) on HPFS
disks. FAT-disks have the familiar 8.3 filename restrictions.
DF will delete a file or several files (using wild-chards) from the filelist and the harddrive.
D(os shell) allows you to execute a DOS-command or run a file, either from within the BBS, or
after you shell to the command line!
PA allows you to pack an area for storage, saving all the messages in that area for later refrence.
DU allows you to kill a user so that he/she is not allowed back onto the BBS. This can be done
for different reasons, but be careful! They are gone for ever!!
CF is a full screen file editor. It allows the SysOp to change the description of a file, move a file
(with the description intact!) to a different filearea or delete files form the filelist and the
harddrive. The files are tagged using the insert key, and may then be edited in the above
mentioned ways.
SF sorts the files in the filearea you specify. This can be time-consuming if you have a large
number of files, but it is recommended that you do this often, so that the file index is updated,
and the searches will go faster. Files will also be placed in alphabetical order, which makes it
easier to find files even without the search tools. You are given the option to update the 4DOS
(4OS2) or NDOS DESCRIPT.ION files as well, allowing 4DOS (4OS2) or NDOS users to see
the descriptions when using the DIR command at the commandline.
Creating the BBS-specific files
As your BBS is different from every other BBS it is essencial that you create files that reflect
this. There are several files that help users find their way around your system. These will have
to be created by you using an ANSI drawing utility like TheDraw⌐. The files that are most
important are the lists of the different confrences, and the different file areas. In addition it may
be wise to create bulletins that contain information that are of interest to your users.
Creating a list of confrences
The confrence list comes up every time a user trys to Select an area but does not specify which
area that should be. The file should be called AREALIST.* and should contain all confrences
on your system, members only included. This because it gives the user an easily accessible way
of learnign what the system has to offer. It might be a good idea to include information on the
confrence, like who is in charge of it or if it is for members only (what the access level is to
enter). There is a sample file that comes with B&BSYS/2, and contains the pre-installed areas.
Creating lists of file areas
You have to create your own list of file areas that is consistent with your BBS. These files are
generally ANSI files (made in an ANSI-drawing utility like TheDraw⌐) that B&BSYS/2
displays when a user asks for them (by specifying that "?" should be listed). The file should be
called DIRSarea.* where "area" is the four letter file code. You will have to make one for every
single file area that has a seperate file code.
Creating a list of bulletins
To make a list of the bulletins you create the file areaLIST.* where "area" is the four letter Bull
code.
Creating bulletins
Bulletins generally contain information that is of interest to the user. The files are called
areaxxxx.* where "area" is the name of the Bull code, and "xxxx" is the number of the bulletins
starting with 0001.
Scripts that need to be made
There are several scripts that need to be created, to give the user a more pleasant time when
logging on to your system. These scripts will be covered in detail, as to when they are executed,
and hints to what they might contain.
=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8
=8=8=8=
SCRIPT LANGUAGE
B&BSYS/2 offers a small script language to allow you to give your BBS your own look and
feel. The scripts are called before or after important internal functions of B&BSYS/2. All
scripts should be placed in the SCRIPTS sub-directory.
SCRIPTS CALLED
The following script files will be executed if they are present in the SCRIPT sub-directory:
GOODBYE.* This script is executed when a user use the G(oodbye) command to exit
B&BSYS/2 or just drop the line. The script does also function as a
good-bye bulletin.
LOGIN.* This script is executed just before the user gets his command prompt
(after display of users stats).
PREDOWN.* These scripts are executed before and after downloads, the scripts
POSTDOWN.* can be used to control download rules and so on The scripts also
function as file transfer bulletins, but only with normal file transfers.
PREUP.* Same as the *DOWN.* scripts but for uploads.
POSTUP.*
PREOPEN.* Same as the *DOWN.* scripts but for door usage. Be aware of that
POSTOPEN.* these scripts function in all areas.
PREREG.* These scripts are executed before and after a new users register.
POSTREG.*
U-[com].* Called from Utility menu if unknown command.
B-[com].* Called from Bulletin menu if unknown command.
C-[com].* Called from Chat/Node menu if unknown command.
$-[com].* Called from $ysOp menu if unknown command.
F-[com].* Called from File menu if unknown command.
R-[com].* Called from Read menu if unknown command.
G-[com].* Called from all menus if none of the above exits and unknown
command.
The astrix is a language key or can be left blank for multilangual scripts. The language key for
Norwegian scripts is *.N, and for English the language key is *.E.
SCRIPT VARIABLES
In scripts you have several variables for you usage, these are:
&[1-9] User variables.
&ac Current area code.
&ad Current area door-code.
&af Current area file-code.
&an Current area name.
&td Current date.
&th Current time (hour).
&tm Current time (minute).
&tu Time used so far this logon, in minutes.
&u - - - USER RECORD VARIABLES
&ua1 First line of address
&ua2 Second line of address
&ual Accesslevel
&uc City
&ud# Number of downloads
&udk KB downloaded
&uf First name
&ul Last name
&umw Messages written
&umr Messages read (Not counted in B&BSYS/2 yet)
&un Name
&uph Home phone
&upw Work phone
&uu# Number of uploads
&uuk KB uploaded
&uta Time allowed each 24 hours
&utl Time left when logging on (&utl - &tu = time left)
&utt Time totally used
&$ - - - SYSTEM DATA VARIABLES
&$h Systems current com-handle in hex.
&$m Current menu level: M(ain), R(ead), F(ile) and so on.
&$v Display current B&BSYS/2 version.
&! - - - DISPLAY SETUP/MANIPULATION PROCEDURES
&!l Do linefeeds until cursor resides at the bottom screen line.
&!m Do more prompt.
&!w Wait for keypress before continue.
These variables can be used anywhere in your scripts.
SCRIPT COMMANDS
A script language without commands is nothing so here they come! These
commands are available for script programming:
@+ [uservar] [firstnumber] [secondnumber]
""
@- [uservar] [firstnumber] [secondnumber]
""
@* [uservar] [firstnumber] [secondnumber]
""
@/ [uservar] [firstnumber] [secondnumber]
""
@assign [uservar] [textstring]
"""""""
Assigns a textstring to a uservariable
"@assign 1 This is a string"
@command [commandline]
""""""""
Execute standard B&BSYS/2 command from a script.
"@command Read Enter Sysop"
@delfile [filename] {filename} {filename} ...
""""""""
Delete one or more files on the harddisk.
"@delfile B&BSYS.EXE" (not try this)
@exit
"""""
End script execution and return to B&BSYS/2.
"@exit"
@file [filename]
"""""
Open a file for output, the file is created if it do not exist.
"@file scripts\tempfile.lst"
@goto [label]
"""""
Go to @[label].
"@goto firstlabel"
@if [firststring] [secondstring] [label]
"""
Compare two strings, if equal then goto [label] of not then continue.
"@if String String ThisLabel"
@if [firstnumber] [<|=|>] [secondnumber] [label]
"""
Compare two numbers, if condition is TRUE then goto [label] if not then
continue.
"@if 1 = 2 OneLabel"
@iffile [filename] [label]
"""""""
If file [filename] exist the goto [label] if not then continue.
"@iffile scripts\tempfile.lst"
@input [uservar] [prompt]
""""""
Let the user input a text string into the given uservar.
"@input 1 Type a command:"
@log [text]
""""
Write a line to node log file. If [text] starts with "$" the text goes to
the .SYS log instead of the normal node log.
"@log $User has failed"
@mod [uservar] [firstnumber] [secondnumber]
""""
@run [program] [parameters]
""""
Runs an external program, this must be a OS/2-text mode executable.
"@run b&bsys.exe"
@rundos [program] [parameters]
"""""""
Same as @run, but this loads a new command interpreter before running
your program, this may run .CMD files and DOS executables as well as
OS/2 executables.
"@rundos test.cmd"
@select [words] [prompt]
"""""""
Wait for user input.
"@select YesNo Delete message?" (this go to first @Y or @N after present
line)
@set [sysvar] [value]
""""
Set a specific system variable to given value.
[sysvar] [value]
menu M,R,B,F,C,$,U
@show [filename]
"""""
Type a textfile.
"@show scripts\tempfile.lst"
@write [text]
""""""
Write a text to open file, no CRLF included.
"@write This is a text"
@writeln [text]
""""""""
Write a text to open file, CRLF included.
"@writeln This is a text line"
TECHNICAL INFO
SYSTEM REQURIEMENTS
This program runs under OS/2, and as a result you are forced to live with it's demands on your
hardware. We feel that for any type of performance a 386dx with 8 MB of RAM is the
minimum, although OS/2 (and therefore B&BSYS/2) will run on any 386 with over 4MB of
RAM. (er dette riktig?????) In addition you will of course need a modem and a telephone line!
The ShareWare version of B&BSYS/2 has certain features that are limited. The one thing you
will notice is that it is not capable of exceeding 9600 baud, and you are limited to 20 users on
the system. This means that the 21. person who logs on to your system will overwrite the 20.
person......so if you plan to start your own BBS this program can get you started, but if you are
serious about it the small fee the author asks is not that excessive!
Si ifra hvis dette ikke stemmer...har jo bare pr¢vd på en 486dx 33 med 20MB RAM ;-)
FILE STRUCTURES
The structures of all system files may be obtained directly from me.
INTRODUCTION TO B&BSYS/2 1
THE HISTORY BEHIND B&BSYS/2 1
B&BSYS/2 VS. OTHER BBS-SYSTEMS 1
FIRST TIME B&BSYS/2 SETUP 2
THE PEOPLE BEHIND B&BSYS/2 2
CONFIGURATION OF B&BSYS/2 3
CONFIGURATION WITH THE U(til) Co(nfig) COMMAND 3
The Configure menu 3
General 4
Path names 5
File protocols 5
Archive programs 6
Nodes (comms) 7
Timed events 8
Net-links 9
Areas 9
Return to BBS 12
DOOR.CMD 12
MENU BY MENU IN THE B&BSYS/2 INTERFACE 13
GLOBAL MENU FUNCTIONS 13
MAIN MENU 13
MESSAGE MENU 14
FILE MENU 15
BULLETIN MENU 16
CHAT MENU 16
UTILITIES MENU 17
SYSOP MENU 18
Creating the BBS-specific files 19
Creating a list of confrences 20
Creating lists of file areas 20
Creating a list of bulletins 20
Creating bulletins 20
Scripts that need to be made 20
SCRIPT LANGUAGE 20
SCRIPTS CALLED 21
SCRIPT VARIABLES 21
SCRIPT COMMANDS 22
TECHNICAL INFO 25
System requriements 25
FILE STRUCTURES 25
25