home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac_os2
/
foss10b3.zip
/
B&BSYSOP
< prev
next >
Wrap
Text File
|
1994-07-16
|
57KB
|
1,557 lines
25
*
SysOp Documentation for
*
Frog Online Services System for OS/2
Frog OSS/2
FOSS/2
*
This documenation file is updated with version 1.0ß3 which is
the first release since B&BSYS changed name to FOSS.
*
All included material is copyright 1991-94 by:
Terje Flaar¢nning
*
TOC...
1 INTRODUCTION TO FOSS/2 2
1.1 THE HISTORY BEHIND FOSS/2 2
1.2 FOSS/2 VS. OTHER BBS-SYSTEMS 2
1.3 FIRST TIME FOSS/2 SETUP 2
1.4 THE PEOPLE BEHIND FOSS/2 3
1.5 GREETINGS 3
2 CONFIGURATION OF FOSS/2 3
2.1 CONFIGURATION WITH THE U(til) Co(nfig) COMMAND 3
2.2 The Configure menu 4
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 FOSS/2 INTERFACE 13
GLOBAL MENU FUNCTIONS 13
MAIN MENU 14
MESSAGE MENU 14
FILE MENU 15
BULLETIN MENU 16
CHAT MENU 16
UTILITIES MENU 17
SYSOP MENU 18
CREATING THE BBS-SPECIFIC FILES 20
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 21
SCRIPT LANGUAGE 21
SCRIPTS CALLED 21
SCRIPT VARIABLES 22
SCRIPT COMMANDS 23
TECHNICAL INFO 25
SYSTEM REQURIEMENTS 26
FILE STRUCTURES 26
1 INTRODUCTION TO FOSS/2
Welcome to the wonderful world of FOSS/2, the next generation
of BBS's that runs under OS/2.
1.1 THE HISTORY BEHIND FOSS/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 FOSS 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 FOSS/2.
FOSS will no longer be developed in a DOS-version.
1.2 FOSS/2 VS. OTHER BBS-SYSTEMS
FOSS/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. FOSS/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.
FOSS/2 has a user friendly interface and it is almost
impossible to "break" the system by using bad commands or the
like.
1.3 FIRST TIME FOSS/2 SETUP
FOSS/2 is easy to setup, and if you follow these few steps it
should be up and running in minutes.
· Unpack the main archive (FOSS*.ZIP) to your BBS directory
(C:\BBS for example). Remember to unpack with the directory-
structure intact!
· 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.
· Execute the SETUP.CMD file and follow the on-screen
directions.
· Now, start FOSS/2 by typing BBS 0 (0 is your local SysOp
node) and with the name "Sysop Sysop". Use your own password.
· When you are on FOSS/2 command line, type UTIL NAME to
change your from Sysop Sysop to the real one.
· Now you may start to explore and configure your FOSS/2
BBS.
· ... but before you do all this, print out these
instructions or write them down.
That's all, now you should configure your FOSS/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.
1.4 THE PEOPLE BEHIND FOSS/2
The main system FOSS/2 is entirely written by Terje Flaaronning
during late evenings the last two-three years.
Thomas Stenhaug is writing QWK-support, and ßeta-version are
now being tested.
1.5 GREETINGS
The following people have be supporting me under the
development of FOSS/2.
· 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
FOSS/2) who has to live with all the bugs in the preßeta
versions of FOSS/2.
· Thomas Stenhaug who is currently working on QWK support
routines for FOSS/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 FOSS/2 grab format in XBoard. The grab
format has changed today, but I hope that coming versions of
XBoard will support the new format. Now Erik Mogensen is
writing the new XBoard and greetings to him also.
· Stian Seeberg who wrote this and all the other DOC's
available for FOSS/2 (and is also running a ßeta-test board).
Well I've wrote most of it myself, but Stian have been helping
a lot.
· My mother who has paid quite a few large phonebills the
last couple of years. :-)
2 CONFIGURATION OF FOSS/2
2.1 CONFIGURATION WITH THE U(til) Co(nfig) COMMAND
To configure FOSS/2 you will first have to enter the SysOp
menu. It is from here all system wide 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.
2.2 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 FOSS/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 a modem. A so-called 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 FOSS/2 is started up, and after every caller has hung
up. If the resultcode from the modem is OK, then FOSS/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 FOSS/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 FOSS/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
FOSS/2 defaults to.
Timed events
FOSS/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
FOSS/2 BBS's all have the capabilities to become members of a
network called bNet. This network consists of FOSS/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
FOSS/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 FOSS/2 are not
perfected, and as souch they have not been implemented. You are
therefor strongly advised to not use this feature of FOSS/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 FOSS/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 FOSS/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
FOSS/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
FOSS/2 has the ability to run doors (external programs, games
... ) all
doors are executed via the DOOR.CMD file in your FOSS-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 FOSS/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 FOSS/2 INTERFACE
GLOBAL MENU FUNCTIONS
There are several global menu functions that are already built
into FOSS/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 FOSS/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 FOSS/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 FOSS/2's messageformat. However QWK-
support is to be built into FOSS/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. FOSS/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 FOSS/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. FOSS/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
FOSS/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 FOSS/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 FOSS/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 FOSS/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
FOSS/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 FOSS/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 FOSS/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 FOSS/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.
&$n Current node number.
&$v Display current FOSS/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.
&!s0 Display numbers normal
&!s1 Display numbers with 1000-separators
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"
@CASE [var#]
"""""
Converts string in user-variable [var#] to up-case.
@Case [var#]
"""""
Converts string in user-variable [var#] to nice-case.
@command [commandline]
""""""""
Execute standard FOSS/2 command from a script.
"@command Read Enter Sysop"
@delfile [filename] {filename} {filename} ...
""""""""
Delete one or more files on the harddisk.
"@delfile FOSS.EXE" (not try this)
@exit
"""""
End script execution and return to FOSS/2.
"@exit"
@file [filename]
"""""
Open a file for output, the file is created if it do not
exist.
"@file scripts\tempfile.lst"
@getfirst [var#into] [var#from]
Take first word from [var#from] and put it into [var#into].
"@getfirst 1 2"
@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"
@ifcommand [var#] [command] [label]
Check if [var#] matches [command], and if true jump to
[lable].
"@ifcommand 1 Q'uit quitlabel"
@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 FOSS.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
output on/off toggles output of non-command lines i
scripts on/off (used to write more readable scripts).
@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 FOSS/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 FOSS/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.