home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
program
/
c
/
lbbs07
/
lazybbs.txt
< prev
next >
Wrap
Text File
|
1993-06-05
|
12KB
|
364 lines
LazyBBS - The Ultimate BBS for Lazy People
Preliminary Documentation July 92
(last update: 06/93)
*** PUBLIC DOMAIN AND UNSUPPORTED ***
>>> INTRODUCTION
----------------
LazyBBS is a very simple BBS program for a Pandora Fidonet
message base (used by Led, Qbbs, Bermuda, IOS, etc on the Atari
ST). And FILES.BBS-like download areas.
The basic idea behind LazyBBS is that a (lazy) sysop don't want to
spend hours/days configuring and maintaining the BBS, the BBS being
an introduction to Fidonetting, the users who want sophisticated
features will install a point system, which is anyway much more
convienent than a BBS can ever be.
The limits are the same for everyone, 300KB files per user per day,
50 KB the first. The download limit can be customized with the
maxdown keyword in the BBS config file. The limit on the first day
is 1/6th of the general limit (300/6=50) rounded to 10 (200/6=33
makes 30). The maximum connection time can be set with the
maxtime keyword in BBS config, default is 45 minutes. Inactivity
timeout is 5 minutes. It is possible to prevent a user from
downloading.
A "Guest" user is supported (enter "guest" at 1st name prompt),
s/he can't download nor write messages.
To run it you need:
- a pandora message base setup (described by areas.bbs)
- top.mnu (the top menus) in the current dir (see samples)
- welcome.txt and bye.txt screens
- (optionally) the others *.mnu called by top.mnu
- (optionally) question.txt - new users questions
- (optionally) intro.txt - intro page
- (optionally) files.bbs type download areas
At every prompt, you can log out with <control>-d.
Note: It is not planned to provide a post-preliminary documentation.
>>> INPUT/OUTPUT
----------------
The basic idea was that the I/O should be done on the standard input
and standard output (stdin/stdout), and then redirected for
remote use.
A second mode allow to have I/O on two devices, the stdio
(usually sysop console) and the user terminal. The command line
switch is -d<device>
In the Atari (TOS) version, in the -d mode the I/O is directed to
both the console and the RS232, so you have a copy of users screen
on the console, and you can type if you want to guide the
users or to kick him/her (type ctrl-d at any user prompt). The
<device> can be optionnaly used for an xbios device number to use
MegaSTE/TT modem2/serial1/serial2 ports. (e.g. -d5) the default is
still good old modem1 port. :) You can't use -c with -d though.
So, to launch it type "bbs" at a shell prompt, for example (Atari ST):
- local example:
cd \bbs # where *.mnu users.bbs etc are
bbs
- remote example:
cd \bbs
bbs -c -d
>>> COMMAND LINE
----------------
-c watch carrier (default: no)
-d<device> duplicate input/output to <device> (default: no)
-g god (sysop :-)) mode, allows to read others' netmail,
to see kludges in echomail, etc.
>>> FILE FORMATS
----------------
LazyBBS uses the following files:
bbs.cfg Configuration file (see below)
areas.bbs Format described in your fidonet software documentation.
An add-on to this format is groups: all areas placed after
a "-group grpname" line, will belong to the group named
(8 ascii letters max) "grpname". There is no need to put
one -group line before each area. Group names
starting with '_' are reserved for internal program
use.
areafix.bbs (optional) for area descriptions, documented in Areafix
documentation.
top.mnu The main menu file (format described below)
welcome.txt (optional) First page, a text file
bye.txt (optional) Last page, a text file
question.txt(optional) new users questions
intro.txt (optional) intro text before login
hotnews.txt (optional) is displayed after login if user has not seen it
* CONFIG FILE
A text file with lines like <tag> <value>
The valid parameters are:
address <node> fidonet node number for the from field in netmail messages
logfile <logfile> name of logfile (default: bbs.log)
areascfg <areas> path to areas.bbs file (default: current dir)
netmail <netmail> netmail area root name
prompt <prompt> customize LazyPrompt(tm) (default: LazyBBS>)
uucpgate <fidoaddr>fidonet node nr of the neareast uucp gateway
global <config> config file for global download, <config> is
the filename of a file containing paths to
download areas see GLOBAL DOWNLOAD below.
maxdown <kilobytes>maximum download per day, the same for every
user.
maxtime <minutes> maximum minutes per day, for everyone
* LOGFILE
It's a standard Fidonet logfile à la TheBox and Bermuda.
* MENU FILES
Each menu is described in a simple text file.
TOP.MNU is the top menu called at startup (after the login).
These files are text files, each line not beginning by $/ will be
sent to the screen as is.
Lines beginning by $/ and $# are used to set the hotkeys, and the
functions associated with a hotkey.
The standard syntax of the $/ line is:
$/<key>=<action>[space][parameters]
The syntax of the $# line is:
$#<flags>/<key>=<action>[space][parameters]
<flag> is a letter, the users needs to have this flag set in
order to acces this menu. (see users file desc for flags).
<key> is the hotkey, e.g. "A" not case sensitive.
<action> is a 8 chars max alphabetic string which describes an
internal functions:
top return to top menu
hangup drop the line and quit
info display BBS software version etc
password Change password
userinfo User information
chat Chat with sysop
gdown Global download
menu <file> gosub to menu <file>
download <path> display files.bbs and allow user to download a
file in a given directory.
upload <path> user uploads a file to given path
more <file> displays a file with a more prompt.
read <group> user reads echomail messages from an area in
the selected group (see areas.bbs description
above)
read _private read private mail in netmail area
readw <par> like read, but allow replies
write _sysop write a private message to sysop
write _local write a private message to another user of the board
write _fido write a private fidonetmail
write _uucp write to the nearest uucp gateway
write <group> user writes a message to an area of the group he
selected.
Of course there is no menu editor as you can use any text editor.
The program adds the connection minutes left at the start of
each menu.
An example menu:
([*] Hangup)
>>>>>>>>>>> Main Menu <<<<<<<<<<<
> <
> [M]ail (private) <
> [E]chos (public) <
> [B]ulletins <
> [D]ownload a file <
> [U]pload a file <
> [C]hat (restricted) <
> <
>>>>>>>>>>>>>>>>=<<<<<<<<<<<<<<<<
$/*=hangup
$/B=menu bull.mni
$/M=read private
$/E=read usergrp
$/d=download j:\st_files\
$/U=upload j:\uploads\
$#s/C=chat
* LAZYBBS USERS FILE
Each user is described in a line of the file named "users.bbs" place in
the current directory. Each entry is like that:
<first_name>!<last_name>!<password>!<address>!<flags>! [...]
<last-login-date>!<kb-downloaded-last-day>!<call-number>
Flags are characters "abz" means users as flag a, flag b, flag z.
The last login date is in _days_ since 1/1/1970.
If the number of kb downloaded today equals minus one the user
can't download.
Example:
Joe!Smith!Nicetown, Nicestate NI11111!!1832!0!12
Jacques!Dupont!Belleville, Cebeuq!z!1815!-1!14
* USER QUESTION FILES
The "question.txt" includes a question per line that will be asked
to the user when he creates his login. To make multilines questions
put C-like "\n" as line separators in your question line. Answers are
logged in "answers.txt".
Example:
How old are you?
Where did you know about this board\nPress? Others boards? Etc.
* GLOBAL DOWNLOAD FILE
This file is used for the global download, it is compatible with
POF! config files. (POF! is a master file listing generator).
Every line not starting by '#' '@' ';' is a path to areas:
Example:
; comment
@insert.txt
# COMMENT
/usr/bbs/download/unix
/usr/bbs/download/gif
>>> PROTOCOLS
-------------
The external protocols used are the program rz and sz, who takes
the receiving path for the first one, the file to send for the second
one on the command line. I myself use the sz.ttp/rz.ttp provided with
Rufus on the Atari ST version.
>>> MANIFEST
------------
You should have received the following files in the standard
distribution:
[source]
bbs.h BBS config
bbs.c Main module
linedit.c;linedit.h Line Editor
msg.c;msg.h;qbbs.h Pandora message base support
login.c;login.h Login
miscio.c;miscio.h Level 1 - IO & utilities
sysdep.c;sysdep.h Level 0 - System dependant
match.c;match.h J. Kercheval's regular expression library
[sample config files]
top.mnu Sample BBS - top menu
bull.mnu Sample BBS - bulletin menu
mail.mnu Sample BBS - mail menu
welcome.txt Sample BBS - welcome screen
bye.txt Sample BBS - bye screen
question.txt Sample BBS - new users questions
[documentation]
lazyuser.txt User's guide (bulletin)
lazybbs.txt (this file) - Sysop's guide
readme.txt Readme file
match.doc J. Kercheval's regular expression library - doc
[atari st dependant]
bbs.prj Lattice C 5.5 Project file
bbs.ttp Atari ST Binary
[unix dependant]
Makefile type make <enter> :-) and debug :-)
>>> LICENSE
-----------
This software is public domain.
It can be copied and sold freely.
(yeah, it can be sold, i'm bored by all those restrictive licenses)
>>> SUPPORT
-----------
This software is not likely to do what you want it to do. It is
not supported. Have fun :-).
>>> CREDITS
-----------
Software originally written by Franck Arnaud.
Line message editor written by Vincent Archer.
Powerful LazyPrompt(tm) algorithm by Vincent Pomey.
The authors disclaim everything. Whatever happens,
it IS your own stupid fault.