A brief history of FidoNet Regions in North America Terms You Should Know How To Join Fidonet in 3 easy Steps The FidoNet Nodelist EchoMail: What is it? A bit about the type files that are available Tutorials and FidoNet Members' pages Visit the Home Page of FidoNews FidoNet Technical Standards Committee Home Page

The BBBS.FAQ (Frequently Asked Questions)
by Janis Kracht February 2, 2002

Please send corrections, additions to me at 1:261/38 or janis@filegate.net

This document is not meant to replace sysop.gui, but to complement it.

  1. How Do I Install BBBS under DOS/Windows/OS/2?
  2. How Do I Install BBBS under under Linux?
  3. How Do I set up FidoNet under BBBS?
  4. How Do I Add Echomail Message echos?
  5. How Do I Add Bad Echo areas?
  6. How Do I Add File Echos for BBS users, File Echos for downlinks and local File Areas?
  7. How Do I Add Bad tick areas?
  8. How Do I set up Multiple nodes?
  9. How Do I get various Daemons/Services running?
  10. How do I send Outgoing traffic?
  11. How Do I mark Netmail with different flavors/actions?
  12. Example scripts

  13. Back to the Links Page


Copyright 2003 by Janis Kracht
All rights reserved.


1. How Do I Install BBBS under DOS/Windows/OS/2?

To install bbbs for the first time,  make a directory named bbbs, and then change to that directory (cd \bbbs, etc.).

Extract the archive, run "bcfg4 0", and remember to press F1 at any time if you are unsure what to put in a particular field.

After you press F1, hit enter on any highlighted word to take you to that subject.

Take your time! Go through each screen and check out it's purpose.
Pressing F1 on each field as you go is good idea, because bbbs has so many features and many tips are buried in the documention :)

Some examples of running bcfg4 the first time:

[C:\] CD C:\BBBS

to enter the sysop name and bbbs name and other settings.

After you complete entering information in BCFG4.EXE 0, exit and save the configuration, and then run BBBS 0 to establish user '0' as the SysOp of this bbs.


2. How Do I Install BBBS under Linux?
To install bbbs for the first time,  login to your system as root,   create a user 'bbbs' and assign user bbbs a password.

Type the following commands to do so:

[root@yourdomain home] adduser bbbs
then type:
[root@yourdomain home] passwd bbbs

to set this user's password in /etc/passwd.

Modifying some hardware permissions if your using a modem:

If you will be using a modem to dial out, then the Linux version also needs user bbbs to own the device
it will use to call out (modem):

crw------- 1 bbs tty 4, 65 Feb 16 16:04 ttyS1

How you do this will depend on your distribution of linux.   Later Mandrake versions require you to change
the permissions of the file /dev/tts/1 for port 0 (comparable to com1 under dos):

dir /dev/ttyS1
lr-xr-xr-x 1 root root 5 Jan 16 14:22 /dev/ttyS1 -> tts/1

chown bbs.tty /dev/tts/1
crw-rw---- 1 bbs tty 4, 65 Jan 16 19:23 /dev/tts/1

As user root , move the BBBS archive or tar file to the /home/  directory.

Change the permissions of the archive to be owned by user bbbs:

[root@yourdomain home]$ chown bbs.bbs  /home/bbbs_li.tgz

Switch to user bbbs with the su command:

[root@yourdomain bbbs]$ su - bbbs
[bbbs@yourdomain bbbs]_
The dash (-) in the su command ensures that user bbbs is switched to with all user bbbs' privileges.
It also puts you in that users' home directory, in this case,  /home/bbbs/

Now as user bbbs,    go back to the /home/  directory where you put the bbbs archive:

[bbbs@yourdomain bbbs]$ cd ..
[bbbs@yourdomain home]_

If it's a gzip tar file,  you can type:

[bbbs@yourdomain home]$ tar xvzf filename.tar.gz _

If it's a tar file, you can type:

[bbbs@yourdomain home]$ tar xf filename.tar
The bbbs-li.targz file should extract into the newly created /home/bbbs directory.

Change back to the bbbs directory again:

                  [bbbs@yourdomain home] cd /home/bbbs

To see the path as it is currently set, type:

[bbbs@yourdomain home]echo $PATH

The path shown will be something similar to this, depending on your distribution:

To change the path to include bbbs, you can type this:

bbs@yourdomain bbbs]$ PATH=$PATH:/home/bbbs:.;export PATH

Now, as user bbbs,  you need to fill out some information  in the bbbs config.  Type:

[bbbs@yourdomain home]bcfg4 0


[bbbs@yourdomain home]./bcfg4 0

if you don't have the path set.

When you run "bcfg4 0",  press F1 for context-sensitive help at any time if you are unsure what to put in a particular field.
After you press F1, hit enter on any highlighted word to take you to that subject.

Take your time! Go through each screen and check out it's purpose.

Pressing F1 on each field as you go is good idea, because bbbs has so many features and many tips are buried in the documention :)

There are two main sections in bcfg4, Global and Local.   You should go through each selection under both of these sections.
As you are going through  bcfg4, remember that anything you set up in the Global section
will be used for _all_ of your nodes.  Anything that you want to set up for one particular node is generally
set up in the Local sections of bcfg4.

When you are done with bcfg4 0,  press the Escape key until you reach the menu.  Press enter on [Exit and Save]

Finally, you need to set an account on the BBS as the SysOp.  To do this, type:

 ./bbbs 0

to establish user '0' as the sysop.


3. How do I set up Fidonet:
If you are running a fidonet system, you should fill out bcfg4's GLOBAL:->FIDONET sections.

Most of the fields in the GLOBAL:->FIDONET section are self-explanatory.. Your main node number should be the first one listed whenever asked. In the FIDONET:->GENERAL screen, you can put the string ^[1-6] to say that for this node, aka's should be used for zones 1-6, etc. or for whatever zones you need to match.

Node number               AKA matching
0: 1:261/38.0            0: ^[1-6]
1: 1:261/100.0           1: ^[1-6]


4. Adding Message echos:

When you install bbbs, a few message areas are created (local areas and sysop areas, not fidonet message echo areas). These existing areas are:
News ................this is news from the bbbs system to the sysop
Post Office .........this is a private message area used for the sysop, and
                     for comments to the sysop.
Main Board ..........this is a local message area where users and the sysop
                     can post.

How do I Add Echomail Message areas
You can add them either of two ways:

Add them manually one at a time, in bcfg4's GLOBAL:->CONFS by going to that screen and pressing


to add an unnamed entry.

Press your arrow down to get to that newly entered Unnamed area and then press


on the 'unnamed' entry to fill out the fields for that echo area's entry.

For example:

.----------------------------+ Conference Browser +|MI------------ X00 News
||MI--P--------- X00 Post Office
||-I------------ X00 Main Board
||-------------- X00 [Unnamed] <enter>


You can add echomail areas from a list of echos all at once (fidonet.na type file). On my system, I ran this once for each "network" or groups of message echos. To add echos from a list echos, put the file that contains the tag names and descriptions in your bbbs directory. Then go into

GLOBAL:->CONFS: and press F5.

You will see a template that you need to fill out. Each one of the echos in the list will have the attributes of the field entries in that template (Fido export: perhaps your uplink and other nodes who want all new echos, Import/Export: the character set you want to use with all your echos, etc.).


5. Adding bad EchoMail areas from your uplink)
After you start importing echomail, you may notice that your uplink is sending your system new message echos that are new, and that you don't have configured (these will be noted in your bbbs/main/log0 file). You can add them to your config easily by using the bad echo function of bbbs. Here's an example of mine:

In External.bbb find or add a [badecho] section:

;uplink area {aka_list} {in_char out_char origin} group {area_prefix} export
1:140/1 . 1:261/38 ISO ISO 0 X FIDO: 1:2600/290 2:34/999 2:263/950 2:280/1027
[- 1 -   ][2][- 3 -]     [-  4 - ]     [5][6][7] [ -8- - - - - ]

In order, the above represents:

[1] authorized-uplink
[2] . means any-tag-name
[3] my aka(s)
[4] character-set (two fields for import/export) like ISO ISO [5] Origin # to use
[6) group
[7) prefix for bbs display
[8) include-these-nodes-in-export-list

To then add echomail areas that are in your 'bad' directory, first make sure that either all nodes are taken down (kill processnumber under linux), or put semiphore files in your bbbs/work directory to prevent users from loging in

bbbsd.noc       If exists, bbbsd rejects incoming connections.  The file
                can contain a one line description that will be shown to the
bbbs.noc        If exists, BBBS will reject incoming callers.  This is a
                useful semaphore to use during maintenance functions that users
                should not be on the BBS during.
Type ./bcfg4 bad, and then ./bbbs bogus b. When you type bcfg4 bad, bcfg4 scans your bad echo area and adds found new echomail areas to your config automatically, according to the information you have listed in external.bbb's [bad echo] section. Note, you must have enough 'Unnamed' areas in Global->Confs to cover the number of areas you will be adding. I always leave about 4 Unnamed areas available for this purpose. ./bbbs bogus b then tosses the actual message packets from your bad directory to the newly created echo areas.


6. How do I add File Echos and Local File Areas:
File areas may be defined for: 1 - BBS User's access:
File areas are added in the filedirg.000 for all nodes that users will be able to access.

File areas that you would like to limit on each node are listed in the filedirn.00? files (where ? is the node number) so that users of these nodes will only see the contents of that nodes' filedirn.00? file.

If you intend for all nodes to show the same file areas, you can create a filedirg.000 with all file areas listed and @w:fsysop @r:all permissions, and then also create FILEDIRN.00? files which only list the /tmp directory for each node.

The file areas defined in the filedirg.000 file will be shown to your users on all nodes on the bbs if you give each area read access.

/    /home/ftp/pub @w:fsysop @r:all Root directory
/incoming     /home/bbbs/pub/incoming/ @rw:all New Uploads
/pdn     /home/ftp/pub/pdn/ @w:fsysop @r:all [PDN] Programmers Distribution Network
/pdn/pdnai    /home/ftp/pub/pdn/pdnai/ @w:fsysop @r:all AI (artificial intelligence)
[=======End Filedirg.000======================================================]

You can download  my filedirg.000 file.

2. Filedirn.00? files for certain nodes
filedirn.00? files are used to either limit or add areas to a particular node for users of that node. These files really need only contain the following line if you intend to show all file areas in FILEDIRG.000 to all nodes.
For example, for node 1 users:

/tmp /home/bbbs/node1/hold @rw:all @e Your personal hold directory

You must create a FILEDIRN.00? file for each node that exists so that users have access to a tmp directory, following the example above.

3: Creating file echo areas for your downlinks and uplinks in External.bbb:

File Echos are added in the external.bbb file in the [ticks] section. Here you assign a group symbol (as in the example below, where F is used), the tagname, the path to the area, your aka, flags (visible, announce, etc.), and the nodes to whom you want to export these files to.

Here's an example of the [ticks] section in External.bbb:

; gr tag path aka(s) afl export /desc 

; -- --- ---- ----  ---- ------ -------- 

F PDNCEE /home/ftp/pub/pdn/pdncee 1:261/38 VA >H1:14/200 1:261/150 

The first character (F) in the example above is a 'group' symbol. You can then give links permission to receive this area if the F symbol is in the [nodes] section of external.bbb, and if your downlink's node number is in the export field for the file echo. (see the [nodes] section also).

4. Matching Group symbols in the [nodes] section of external.bbb for file and echomail areas.

The group symbol you designated in the [ticks] section is added to the group section of each node entry in the [nodes] section of external.bbb to allow that node access to the respective file echo:

; node spass apass ppass tpass gr st pa route
; ------------ ---------------- -------- -------- ---- -- -- -- -----------------

1:106/2000     password password -        password FXGPTZ H   2 1:1/102 

1:153/7715     password password -        password FXGA H   2
Other group designators that are used for echomail areas should be added here as well.


7. How Do I Add Bad tick areas?
You can use the badtick function of bbbs to add file echos, but I never have used this feature because you lose some flexibility. Say you've already got file echo directories on your hard drive, and you don't want to type them all in.. there isn't a way to globally add the file echos like you would with allfix, or filemanager. The easiest way to do it in this case under linux is to type:

ls /home/ftp/pub/*/* -d -1 > filedirs
and then edit the file filedirs.

In DOS or OS/2 or Windows, you could do something similar with dir C:\bbbs\pub >> filedirs

With a good editor that lets you use macros, it won't take terribly long to create the file area definitions.

Here's the example for using the [badtick] from the documentation:

; For areas that originate from 2:210/27: do not generate areas starting with ; the string "BBBS". Generate all the rest, with the origin aka 2:222/0, ; assign to file-echo group C and add the V (visible) flag. Make the root ; directory /newtic and export files to 2:22/10 and 2:222/151.666, then give ; echos the default description of "New Fido Echo":

2:210/27 ^BBBS -
2:210/27 . 2:222/0 C V newtic 2:22/10 2:222/151.666 /New Fido Echo

In other words, the first field is your node number. The second is regexp defining areas to include or not include; the first line says don't include any areas with "BBBS" in them, the second line says do add "all the rest" because of it's position after the 'Not bbbs' line.

As you can see, this doesn't let you specify a physical location (starting directory) and use existing areas.


8. How do I set up Multiple Nodes?
After you have run bcfg4 the first time with the 0 parameter and filled in your name as Sysop, and you've filled in whatever necessary info for fidonet, etc., in the Global and Local sections, you should then type ./bcfg4 x, with x representing the other nodes you will be running and have purchased, or with the digits 1 or 2 for the demo version.

You configure each of the nodes you will be using for dialup or telnet, or TCPIP in the _local_ sections as opposed to the_global_ sections. The Global sections are settings which will be used for _all_ nodes, while the local sections are only used for the specific node you are defining when you run bcfg4.exe [nodenumber].

So, as an example, if you have purchased the 7 node version and you want to run:

Node 1:               dialup (landline with modem)
node Node 2-7: telnet/Binkp nodes
during the first time installation, you would first run bcfg4 0 (necessary to create sysop account).

Then type

bcfg4.exe 1
to configure node 1.

Fill in the modem information for node 1 since this node is a dialup (modem) line. The modem information for Node 1 is configured in the Local->MODEM->?? sections since these setting will only for node 1.

For telnet nodes run bcfg4.exe x, where x is the node number you want to configure as a telnet node.

You can make any node you like a telnet node by calling up bcfg4.exe [nodenumber] but for this example we'll use nodes 2-5 for telnet nodes.

In each configuration of bcfg4.exe [nodenumber] go to:

LOCAL:->GENERAL:->FD's DOBBS.BAT ___________ field and type the word "telnet" without the quotes.

for example:

Logfile: /home/bbbs/main/log2
Spy file: spy2
FD's DOBBS.BAT: telnet__

Next, go to

LOCAL:->TOGGLES:-> [X] Slow protocols
Press the space bar to put an X in the entry field for nodes that you want to be telnet nodes.

Finally, to configure a node as a TCPIP node for our example (node 7) to dial out to one of your downlink's binkp node:


bcfg4.exe 7

Make sure LOCAL:->GENERAL:-FD's DOBBS.BAT ________
field is _blank_ (empty)

Logfile: /home/bbbs/main/log7
Spy file: spy7
FD's DOBBS.BAT: _______
[...] [Local:->General:]
This finishes configuring our 'example nodes'. To get these nodes actually running, see section 9. How do I get various Daemons/Services running.


9. How do I get various Daemons/Services running?
You need to create a batch file, cmd file or script to run the bbbsd(.exe) daemons or services (the name Daemon is used under most OS's except Windows, which calls Daemons 'services'.) 

Linux Daemons

Under linux you'd use a shell script:
=====cut here======
cd /home/bbbs
./bbbsd 3 7 telnetd:23 httpd:8080 ftpd:2121 rawd:24555:binkp "quiet" "fork" "uid:"bbs &
# The above line should be on one line :)
====cut here and save with the filename of your choice=======
You must specify the port when you call the daemons for bbbs such as ftpd, httpd, etc. In the example above, you can see that for httpd, ftpd and binkd I use non-standard ports since I use Proftpd, Apache and Binkd on the standard ports.

In the example above, the call to bbbsd defines nodes 3 through 7 as telnet nodes.

On my system node 1 is on my dialup modem line, and I use node 2 for my TCPIP node therefore nodes 1 and 2 are not included in the bbbsd command line.

Under Linux, you can make the shell script executible with the command:

chmod a+x filename

Windows (services) and OS/2 Daemons

Under Windows or OS/2, your .bat or .cmd file will probably look like:
======cut here=======
cd \bbbs
c:\bbbs\bbbsd.exe 1 7 ftpd:21 telnetd:23 httpd:80 rawd:200:binkp quiet smtpd:25
======cut here=======

This batch file or cmd file is calling bbbsd with nodes 1 through 7 being telnet,www, and binkp nodes.

To see other notes concerning Windows or OS/2 and BBBS or BBBSD, type 'bag.exe sysop.gui', and then press S to search, finally type OS/2 or WINDOWS and you will see the relevant pages.


10. How do I send Outgoing Traffic?
The examples above run telnet, httpd, ftp, binkp nodes, and smtp for _incoming_ traffic (people or systems that call your system)

For _outgoing_ traffic, you essentially have 2 types:

  1. smtp (e-mail traffic)
  2. TCPIP (which sends _out_ via binkp, rawd, telnet protocols)

Outgoing Traffic: SMTP:

You configure the receipient's e-mail address in External.bbb's [nodes] Routing section:
; node spass apass ppass tpass gr st pa route
; ------------ -------- -------- -------- -------- ---- -- -- -------------------
1:140/1       passd  passwd passwd passwd XFG H  2   1:*    bob@somedomain.com

The above routes all netmail traffic for Zone 1 to 1:140/1 via an e-mail address.

To send out smtp traffic, you run the bbbs.exe command:


When you do this, the netmail for Z1 for instance, will be sent to the host you specify. If you have file areas going to this node, they will also be sent via smtp as uuencoded messages. 

Outgoing Traffic: Binkp

Binkp traffic that is to go 'out' is done by starting a node of BBBS with the TCPIP keyword (instead of a modem, for instance).

Set up and configure a node for TCPIP, similar to the telnet node, but leave the FD'sDOBBSBAt field blank. Then put that node up using the TCPIP keyword:

[ piece of a script that calls TCPIP nodes for linux]
while :

cd /home/bbbs
./bbbs 2 2 TCPIP

For WINDOWS or OS/2, the script would be similar:

cd \bbbs
bbbs.exe 2 2 TCPIP

You use the modem flags in the BCFG4->LOCAL->MODEM->DIAL fields to dial binkp and telnet systems.

ATR will dial a binkp system.
ATD will dial a telnet system.

You can set your LOCAL->MODEM->DIAL field with each of these, so that bbbs will use the proper dial string for specific types of calls.  Here's an example of a Binkp setup.

.------------------------+ Local: Modem: Dial -------------------------------------------------.

| Predial                       Postdial                                 Nodelist regexp match      ------------------------+
1: ATR                     |                                  ,BND
4: ------------------------+
5: ------------------------+

The flags you use in the Dial regexp match should match the strings you use in the remap section of external bbb for nodes you connect to.

To configure and use a node for _outgoing_ traffic you write a script or batch file using the TCPIP (must be uppercase) keyword. Make sure you do not use one of the nodes you have set up as an Incoming bbbsd node as in the line above. Use a node that you have not included in the bbbsd daemon script. In this example below, node 2, which is not used in the above bbbsd script above, is used for TCPIP.

========cut here====================
export TZ
# runppp.sh following thanks to Warren Hrach <smile> while :
cd /home/bbbs
./bbbs 1 2 TCPIP
echo BBBS RC: $RC
if [ $RC = 137 ]; then
# set this errorlevel in Global: FidoNet: Sessions: Mail errorlevel if [ $RC = 11 ];
then nohup /home/bbbs/mailin.sh &
# set this errorlevel in Global: FidoNet: Sessions: User mail errl. if [ $RC = 12 ];
then nohup /home/bbbs/mailout.sh &
if [ $RC = 0 ]; then
======================cut here===================


Using BBBS' Ftp daemon to deliver mail and files

The BBBS BFTP command can be used to send/receive to a node in your [nodes] section.

To send traffic to an ftp downlink, you set up two files, one a data file that contains the name of the site you calling, your username and password on that site, and then commands to perform once you are connected.


=======Data file for node 1:140/1========== nwstar.com
cd inbound
put 1:140/1
cd ..
cd outbound
getdel *
========End Date file for node 1:140/1=====
The put command will send all traffic for the node specified.
The getdel command will first pick up any waiting traffic and then delete it after the transfer is complete.

Once you've got the data file written, you construct another script or batch file to actually call BFTP and perform the commands in the data file:

========Script to call BFTP====
bbbs bom ch 1:140/3 -H
bbbs bftp callbob.dat /home/bbbs/inbound
======end script to call BFTP=========
The bbbs bom command changes the flavor of the traffic to go out from 'Hold' to 'normal' so that Bftp can send the traffic rather than keep it on your system on hold.

Bftp is run with the name of the data file you've written and the path to your inbound directory, as you can see in the above script.

11. How Do I mark Netmail with different flavors/actions?
Netmail flavors/actions:

These are the flags that bbbs uses to indicate different flavors/actions of Netmail:

           '!' Crash
           '-' Hold
           '?' Receipt Request
           '>' File Attach
           '<' File Request
           '*' Immediate
           '/' KillSent
To send a crash/immediate netmail, join the netmail conference (j netmail) and press e to enter a message:
(NETMAIL:0) Read Command (? for menu): e
             Send message to: Janis Kracht
          Subject of message: !*1:261/38 Crash/Immediate flavor
To create file attach message:
(NETMAIL:0) Read Command (? for menu): e
             Send message to: Janis Kracht
          Subject of message: >1:261/38 /home/bbbs/work/testfile.zip
To Create a File Request:
(NETMAIL:0) Read Command (? for menu): e
             Send message to: Janis Kracht
          Subject of message: <1:261/38 FILES.NEW


12. Sample Scripts

A Script for a dialup node: Again, thanks to Warren Hrach's Howto.bbbs:

========cut here============run1.sh============
# Run node 1. Modified by Janis Kracht Jan. 21, 1999.
while :

cd /home/bbbs
./bbbs 1 1 /dev/modem
echo BBBS RC: $RC

if [ $RC = 137 ]; then


# set this errorlevel in Global: FidoNet: Sessions: Mail errorlevel

if [ $RC = 11 ];
then nohup /home/bbbs/mailin.sh &

# set this errorlevel in Global: FidoNet: Sessions: User mail errorlevel

if [ $RC = 12 ];

then nohup /home/bbbs/mailout.sh & fi

if [ $RC = 40 ];

then nohup /home/bbbs/bbbs bnc 1 & fi

if [ $RC = 60 ];
then nohup /home/bbbs/callmartin.sh & fi

if [ $RC = 70 ];
then nohup /home/bbbs/mkfilelist &

if [ $RC = 0 ]; then



========cut here===========end of run1.sh============

If you type BBBS on the command line, you will see:
Usage: BBBS [x] {node}                       Start BBBS COMx for node (0=local)
       BBBS [command]                        See below for commands:

BCONF        Show conference status                      BMT       Message track
BSTAT        Show statistics list                              BDATE     Update birthday list
BTXT2BBS  Convert text file to message              BNMSG     Send node message
BBBS2TXT  Convert message to text file              BNC       Compile nodelist(s)
BMSG           Import/export FidoNet mail              BHATCH    Send TICK file
BOGUS         Import/export FidoNet mail               BPC       Pack conference
BNDIFF       Update NODELIST from NODEDIFF      BPUS      Pack users
BTICK         Process incoming TICK files              BSETPACK  Pack set file
BOK             Make OKFILE.TXT for FrontDoor   BFILSORT  Sort filedirs
BFILEIDX  Make index file for filedirs       BOM    Outbound Manager
BLIST         Make ASCII-version of filelist     BAADD     Add/take money
BNEWF      Make ASCII-version of new files    BKILL     Kill users
BLINKFIX  Update link's datestamps                BWHO      Who's on
BNNTP        Exchange news with NNTP servers    BTIME     Check your clock
BSMTP       Exchange email with SMTP server    BFTP      Batch-FTP
BMKILL      Kill/list messages with criterias       BPOP      Receive mail from POP3
BCSTAT      Conference statistics                     BRSA      Generate new BZLL RSA
BFSTAT      File statistics                               BPURGE    Remove old files
BUUCP         Import/export UUCP spool           BFAG      Filelist -> AmigaGuide

In run1.sh, I call a few other scripts.   callmar.sh is using bbbs'  bftp to pick up and send traffic to a node.

You create a file  with the site's ip address or domain,  your username and password for ftp access.  You then include ftp commands  to access different directories (like cd, for example).  You can use bftp's getdel command to pick up waiting mail, and delete it from the remote site when you've finished downloading it. You also can use bftp's put command to upload traffic specifically for a node as in the callmartin.dat file below.

======cut here========callmartin.dat===========
cd out
getdel *
cd ..
cd in
put 1:232/16
===========cut here====end callmar.dat=============
Callmartin.sh sets a flag to make sure only one 'process' is running, then tells bbbs to remove hold status for this nodes traffic
(if  Hold status isn't removed, the traffic will not be sent), and then calls the callmartin.dat file with the bftp command.
===========cut here=========callmartin.sh=======
cd /home/bbbs/
if [ -f loginmar.bsy ]; then
exit 0
touch loginmar.bsy
./bbbs bom ch 1:232/16 -H
./bbbs bftp callmartin.dat /home/bbbs/inbound > /dev/null 2>&1 rm -f loginmar.bsy
========cut here===========end callmartin.sh======
BBBS has a number of built-in commands that I use a lot.  The mkfilelist script can be used to make some bulletins, a newfiles list, and an allfiles list:
=============cut here=======mkfilelist=====
cd /home/bbbs
du -hc -X out.txt /home/ftp/pub > /home/bbbs/menus/bull5 ./bbbs bfstat > /home/bbbs/menus/bull8
./bbbs bfileidx
./bbbs blist files.lst
./bbbs bnewf files.new
zip -jkl files.zip files.lst
zip -jkl newfile.zip files.new
unzip -o newfile.zip FILES.NEW
mv files.zip /home/ftp/pub/info
mv FILES.NEW /home/ftp/pub/info
rm newfile.zip
===========cut here====end mkfilelist=========
To Update the nodelist, I use this script:
cp /home/ftp/pub/nodediff/nodediff.a*    /home/bbbs/nodelist
cd /home/bbbs
./bbbs bndiff
rm /home/bbbs/nodelist/nodediff.*
./bbbs bnc