						test-bbs-system
   tbbs 1.3      				-    ---
   (c) <runge@boerde.de>  



   =============================================================     
    T B B S  - M A N U A L   (v0.1)   
   =============================================================



-----------------------------------------------------------------------
CONTENENT

0.  	PREFACE

1.  	REQUIREMENTS

2.  	GOODIES

3.  	DISTRIBUTION

4.  	INSTALLATION
4.1 		BINARY-PACK / CONFIGURE
4.2 		SRC-PACK / COMPILE
4.3 		CONTRIB-PACK 
4.4 		SUPPORTING TOOLS
4.4.1 			The MAILING AGENT (XMD AND BBSMAIL.SPOOL)
4.4.2 			MAIL-DELIVERY-TOOL
4.4.3 			UPDATE-TOOL (bbs.update)
4.4.4 			WWW-ADMIN-TOOL (bbs.list)
4.5            	ADDITIONAL SUPPORT 
4.5.1			QWK/SOUP-SLNP SUPPORT	 			
4.5.2			LYNX 
4.5.3		        FILE-AREA
4.5.4			RIP1.54-Support
4.5.5			OWN SPECIAL MENU: ANSI-GRAPHIC AND STANDARD (SMENU)
4.5.6                   ADD A NEW LANGUAGE

5.  	ACCOUNTING
5.1.  		The users DATABASE

6.  	CONFIGUREABLE FILES
6.1.  		Various Lists
6.2.  		The List of PACKERS/ARCHIVERS
6.3		BBS-Enviroment-Setting (list.export) 
6.5 		List all invalid User-entrys (list.postfach.muell)
6.6 		List all dirty words  (list.dirty.dictionary) 

7.  	ANNOUNCEMENT FILES

8.     	WARNINGS

9.	FAQ
9.1		USER
9.2		ADMIN

10. 	FUTURE DEVELOPMENTS



------------------------------------------------------------------------

0 PREFACE

    The tbbs is a Bulletin Board System for Linux and is FREEWARE (not
    Public Domain!). The tbbs based of the source of ix/mbox-bbs (Lizenz
    1991-1996 ix/MBox BBS 2.8 by <volkers@unnet.wupper.DE>).  
    It makes intensive use of operating  system  commands  to provide
    UUCP services, HTML-, NNTP- and mail contacts,  standard transfer  
    protocols and terminal support.

    One  of  the most appreciated  features of the BBS though, is the 
    fact that it looks and feels  like  a  MSDOS / PCDOS  BBS.  Users 
    don't need to learn a new  handling, command  set (which is fully
    reconfigurable, anyway) or even a complete shell language.



1 REQUIREMENTS

    First of all, you need a computer with linux (min. kernel v1.3). 
    NetBSD is at this time not ready implement.

    Furthermore, a NEWS system _with_ NNTP-Service is vital. By default 
    tbbs supports CNEWS- and INN- NNTPD. Also essential are MAIL (smail!) 
    for delivering external mail and a HTTP-Server (optional).

    The interfaces of the BBS to those services are fully reconfigur-
    able to cope with any preferences. For example, the bbs-home-path is
    not hard-coded in the binarys. You can it change with the "tbbs.setup"
    script.
  

2 GOODIES

    Away with all the bad, bad tales about BBSs for UNIX. Here is one to
    make you forget all those rumors.

    ... looks & feels like any PC (DOS) BBS. Users don't have to learn
        a new handling or a whole bunch of new commands.

    ... makes use of the systems NEWS installation. Articles may either
        be maintained inside the BBS or with an external newsreader. All 
        users can used the same NNTP-protocol!

    ... has it's own mailer for internal mail delivery.

    ... also has a mailer to forward mails from outside the BBS/net
        to BBS accounts.

    ... shared libs and shared-memory supported by default. 

    ... bbs-compilation set self all necesarry compiler-defs.

    ... Paths are not hard-coded (you can this disable) in all binarys 

    ... is able to call systems SMAIL, mail to shell users and users on 
        external sites (i a future version, i will use SMTP-services).

    ... uses a fully reconfigurable command set.

    ... commands are fitted out with execution levels and prototype
        flags. If flag isn't set, the command will be hidden but
        executed on request - that allows to have a bundle of aliases
        for all commands.

    ... also supports ANSI-graphic-screens 

    ... user can switch ansi-color-sequences

    ... admin can write own menu-scripts (command "smenu")

    ... also supports external commands. There's a configuration file
        for those commands. The contents of that file is merged with the
        list of internal commands. The user won't notice a difference
        between both sorts of commands.

    ... is able to communicate in various languages by default.
        The package includes help files and command sets for an english, 
        french and german version (spanish is in development)

    ... has a very convenient way to offer public domain stuff. Boards
        containing that stuff are treated like all the other boards. But
        inside articles of those boards, a KEYWORD and a path to the
        freeware package will point to the stuff.

    ... makes use of SX/SZ/SB and RX/RZ/RB as file transfer protocols.
        Of course, ASCII up-/download is also implemented.

    ... a special file-area (command "file")
 
    ... supports CDROM devices. The "00_index.txt" or "files.bbs" are used
        to build an index.

    ... comes with a line editor, especially made for BBS online use
        on slow rated communication lines.

    ... even has it's own fullscreen (MIME) RTF editor, that is able to
        handle 8 bit texts.

    ... of course can also offer all editors available on the system.
        There's a configuration file to do so.

    ... is able to process Bellcore RTF (Richtext Format) and texts
        formatted with Quoted-Printable.

    ... creates MIME-Headers for mails. It's multimedia time!

    ... allows to change the header field of news articles and mails.
        It depends on users level, which entries he/she's allowed
        to edit.

    ... internal services have a fully 8 bit transparency. Therefore
        ISO 8859-1, IBM-Keymaps are no longer a problem.

    ... builds up threads to make it easier to follow discussions through
        the newsgroups.

    ... has a subscribing mechanism, so users may choose groups they
        want to join and unsubscribe from all other groups.

    ... offers games to the users. Again, there's a config file, which
        includes the list of online games (rogue/nethack etc.).

    ... is able to generate statistics on calls, downloads, articles,
        nearly everything.

    ... bbs-check for user-idle-time (autologout-function)

    ... builds hitlists on calls per user, downloads per file, and so
        on.

    ... user can use offline-reader-support (qwk+soup/slnp)

    ... runs a users database with online maintenance facility.

    ... is able to offer certain file-groups (config-command/groups) and/or 
        commands to users of exclusivly (see ./etc/list.udc).

    ... has an AREA mode to split up the barrage of newsgroups into more
        handy collections of groups or hierachies.

    ... a special command ("tree") make a newsgroup-tree for a newsgroup-
        selection 

    ... decodes articles encoded with UUE/UUECODE and offers the rebuilt
        binaries to be downloaded by the users.

    ... en- and decodes articles using the ROT13 algorhythm.

    ... can call external CHAT-server programs like irc.

    ... can call the unix-talk and ircII

    ... experimental RIP1.54-Support

    ... has a special setup for every single user:

        TERMINAL -> ANSI, VT100, VT52, DUMP, COLOR-ANSI, etc.

        EDITOR   -> LED, WENDY, (VI, EMACS, ... whichever)

        PROMPT   -> BOARD, TIME, CHARGE (all with or w/o BELL)

        OUTPUT   -> CAT-/MORE style, DIRECTION old->new or vice versa,
                    NUMBER of lines, HEADER short or complete, NUMBER of
                    boards (DIR command), CONVERSION (ISO 8859-1, IBM)
                    Lisa.... etc.

        INTRO    -> INTRO messages, STATE (number of mails, articles),
                    NONE at all.

        SCANNER..-> CHECK time&date, DATE only, CHANGE scanner date, QWK+
                    SOUP/SLNP, Alias-Mail-Address....


    ... supports the following commands by default:

	+               -               *              !               
	Address        Admin           Area            Archives        
        Assistant      Board           Baudrate        Chat            
        Combine        Configure       Dir             Date            
        DB             Delete          Demo            Download
        Direction      Filearea        Finger          Forward         
        FMenu          Games           Goodbye         Graphics        
        Help           Info            Irc             Language        
        Limit          Lynx            Mail            Macro           
        Man            Message         Menu            Moan
        New            News            Offline         Passwd          
        Plan           Portinfo        Protocol        PM              
        Read           Relogin         Rot13           Setup    
        SMenu          Signature       Smiley          State          
        Statistics     Subscribe       Survey          Sysinfo
        Talk           Time            Tree            Users      
        Upload         Uudecode        Version         Write          
	WMenu          WWW             Weather         Relogin

    ... and more.




3. DISTRIBUTION

    The latest version may be obtained via ftp:
     server	: ftp.boerde.de
     path	: /pub/systems/linux/bbs-systems/tbbs
 
    The main-package (about 1.5MB compressed) is:
      tbbs1.3pl??.tgz

    Here you can find binarys and supporting-tools:
     contrib.1.3pl??.tgz	ca. 1.7MB  special lynx-version + slang etc.
     tbbs.1.3pl??.bin.tgz	ca. 1.6MB  binarys from src- and contrib-pack 
     www_rip.1.3pl??.tgz        ca. 1.5MB  html-pages +cgi + Rip-Support-screens
     Mediapolis.tgz		ca. 150k   more Rip-Screen (see readme-files
                                           for copywrite-details)
 	
    In a special sub-path (./usr.support), you can find a little set of 
    ansi- and rip1.54 drawer and my own (german) soup/slnp-Reader for
    ms-windows (r).
    More tools and others bbs-developments (ix/mbox, rip-terminals etc.) are 
    in  "/pub/systems/linux/bbs-systems/misc.development".


    
    Also, the latest release is offered on my BBS in Germany:

    +49 391 2597283   USR 28.8k BPS 
    Login in as "gast" or "guest". The Filearea, you can find are all packs.  

    Also nearly next to latest 'basic'- version are on some FTP sites. If you 
    can't locate it in your country, look at <ftp://sunsite.unc.edu/pub/
    Linux/BBS/bbs>.
    


                  
4.  INSTALLATION

    Since  you  read  this,  I  assume you have managed to unpack the
    whole stuff, you have copied it into a directory and you  are
    in the ./src -directory now. 

    By the way, you should/must be root while handling the  whole
    installation process!


4.1 binary-package / configure
    
    All binarys (since version 1.3pl8.x) reqired ELF-Support (and TCP/IP) 
    from kernel! 

    First, check the 'ld.conf' in /etc! Check out, is the bbs-lib-path 
    active (edit this file). Now run "ldconfig" (or reboot your system).

  
    Before you configure your bbs-system, check out the nntp-server ("telnet
    newshost nntp"):
	>      nina:/local/tbbs/src # telnet nina nntp
	>      Trying 193.175.28.86...
	>      Connected to nina.boerde.de.
	>      Escape character is '^]'.
	>      200 nina.boerde.de NNTP[auth] server version [...] ready
	       ^^
	>      at Tue Oct 22 14:33:17 1996 (posting ok).
        	                            ^^^^^^^^^                                       
    Are you sure, you have installed "smail"-Package ("/usr/lib/sendmail"
    and "/usr/lib/smail/mkaliases" and "/etc/aliases" are correct)? When it
    fault, install first this packages or make valid symbolic-links!  

    With 1.3pl9.8 is it possible to use sendmail. See in list.config,
    section [CFG] for all switches.
 

    Now, start the basic-configurations-script 'tbbs.setup'. With the first 
    start, this script  will make all checks-, permissions- and system-entrys 
    self (in system-entrys with user-response).  
    Check out all entrys. 
    Most important are:
     - system/system-Name: 
                            the bbs-name (hostname or a special name ;)
     - system/organization:
                            your organization-name (this will insert in all
                            mail+news-header) 
     - system/UUCP/SMTP-Site:
                          site-name:
                            host-name (not with domain) 
                          Domain:
                            You (complette) host-name (with domain), where the bbs 
                            runs. This is specially important!
     - news-access/nntp-server :
                           Enter you nntp-host (with domain) 
     - news-access/alternative-nntp-server:
                           Enter you second nntp-server (when nnpt-server1
                           not). If no second nntp-server in the
                           LAN available, enter here your first nntp-server 
                           or a host without nntp-support!

     - news-access/ nntp-service:
                           If the nntp-service-port difference 'nntp',
                           enter here your service-name (for example "nnrp",
                           "nntp"...). Default is "nntp".


     check out all 'sysop-pseudo-adresses' in your smail-aliases
     ("/etc/aliases"):
     -------- snip --------
	bbs_admin: sysop@yourdomain.de
	qwk:sysop
	T-BBS_MAILER-DAEMON:sysop
	bbs:zpostmaster
	zpostmaster: bbs_admin
	tbbs_expire-daemon:zpostmaster
	tbbs_log-daemon:zpostmaster
     --------- snap -------
        (When you make changes and smail is used: Don't forget to run 
         mkaliases!)  


     
     Now, login at "/dev/tty4" from getty with "bbs". The bbs-system will 
     make a user-base with "Administation"- (Sysop) and "Gast" or
     "Guest"- Account. The secure-login is only possible with "tty4". With 
     this port is always sysop-access. After Sysop-Login set your password
     with command "password".
     Check out the command "config" (german: "konfig"). See in
     ./etc/list.config, section [MAIL_DOMAIN]. Enter your top-level-domains 
     for recognize national/local mail+newsgroups, three toplevel-domains 
     are possible. See in list.config for details.

     Run the command "Check". This will check all supporting-tools (packer
     etc.) and other permissions. When failure, install the missing tool! 

     New!!!
     Check Out './etc/list.config'. This configuration-file is splited in
     differently parts ( []-sections). Here you can set all additional global
     definitions. Lines with '#' or ';' at the beginning determine a comment. 
     Small or big-chars are ignored (not in section [GBL_MSG]).

     section: [CFG]
        ;when you use sendmail, please set smail=no !!!
        smail yes

        ;define, when (smail=yes) -> your mkaliases-path (only smail)
        mkaliases /usr/lib/smail/mkaliases
       
        ;where is the sendmail/smail-aliase-file?
        aliases /etc/aliases

     section: [MENU]
        enabe or disable a menu-system. You must alway anable a menu-system!

        smenu yes   // this in just active, ./etc/languages/smenu/$user-lang is
        geonet yes  // this is alway on !!!
        fmenu yes   // Fido-Menue#2 (Multi-Screen)
        wmenu yes   // Welcome-Menu for Newbee's
        menu yes    // Fido-Menu#1 (One-Screen)

     section [LEVEL]:
        this is the startup-level for new-user (command 'account')
        level 1..7 (do not enter level<1 or level>7!)

        start 5   // user has automatic level=5 (with account-command) 

     section [MAIL_DOMAIN]:
      with this sub-strings the bbs-system recognizize national-mail
      (for level < 7)
      only one top-level-domain is use, make nat1=nat2=nat3     

      nat1 .de
      nat2 .sub.org
      nat3 .com
 
      User with 'national-mail-level' (level <7) can write to all "*.de"  
      "*.sub.org" and "*.com"-Domains. 

     section [MAILING_LISTS]:
      The additional tool 'bbs.update +l' can make all Mailing-Lists for
      administration. When you will use this option, you must edit the name
      of the mailing-list-file. See list.config for details.

     section [GBL_MSG]:
      Here are all msg-strings, before the msg-base is loading.....
      Don't change label at the left-side!!!!!!
    

     section [SLEEP]:
      Wait-time-definition for different screens (in milli-seconds/ms)
      When you will disable this screen, enter '-1' the user can break 
      this time-loop 'with a key'




     The bbs-system is now ready configured!
     You can now login form another terminal with 'guest' etc.


     When you want Rip1.54- and BBS-WWW-Pages-Support install (simply
     decompress in the correct path) the "www_rip.1.3pl??.tgz" package. 
     A special Lynx-Version is found in the "contrib.1.3pl??.tgz"-pack. 
     All lynx-binarys are already in a bin-pack.
    

     At last, check out your 'bbs'-crontab. See an expample in
     "~bbs/cron/crontab.bbs".


     "tbbs.setup" create all entrys in "~bbs/etc/config". Don't edit this 
     files! It create a new dummy-dir "/usr/local/home/guest" and set the
     permission to 'not bbs'. This directory must exist. It is only a
     dummy-dir (for enviroment and external apps).

     

4.2 SRC-PACK (BASIC-BBS)
    
    First, check out the "userdefs.h" (in bbs-main-path). 
    Now, change the directory to ~bbs/src and make all dependencies (run
    "make dep"). When this is finished, make compile all basic-binarys with
    "make all". You can start with "make most" all make-steps together

    For configrue you basic-bbs-system, see section 4.1!

    

4.3 CONTRIB-PACK 
    
   The contrib-package includes a special bbs-lynx-version, the slang-lib
   (GNU-LIB) and others.
   For Lynx-color-support you must compile Lynx with "make linux-slang"!
   Special details for this packages you find in the lynx- and slang-paths.




4.4 SUPPORTING TOOLS

  The basic-pack include a different tool for crontab, configure or cgi-
  script- or mailhandling.
 

4.4.1 The MAILING AGENT (XMD AND BBSMAIL.SPOOL)

    The names of tbbs-users are realnames. If your name is
    Jack Daniels,  you are called  "Jack.Daniels@host.domain"  inside
    the Internet world. Since normal mailing agents can't handle such
    addresses, the BBS needs it's very own agent.

    It's called XMD. If your regular mailer sends all undeliverable mails 
    return to sender. All xmd-activity are logged in "/usr/adm/xmd.log". XMD 
    deliverd all mail in a special spool-directory "~bbs/spool/mail". 
    The "bbsmail.spool"-daemon (run periodic from bbs-crontab) send all
    spooled mail to the recipient (bbs-user).

    XMD is not ready to run directly! All XMD-Entrys in "/etc/aliases" are
    automatic generated and updated from "bbs.update +a" (see section 
    4.1.3).
   


4.4.2 MAIL-DELIVERY-TOOL (bbsmail)
 
   This tool is only for internal usage. It sends Mail from bbs-user with a
   pipe to local mailer-agent. This tool creates a new Header, check the
   required user-level and creat when failure all failure-mails.
   In a future version this tool will connect a SMTP-Server.



4.4.3 UPDATE-TOOL (bbs.update)

     This tool is created for additional bbs-support. You can make 
     the most admin-activity with this little tool. 
     It contains different tools, witch you can select with options: 
     	
	misc (this is for crontab etc.):
	+a       automatic-update for bbs-entry (in '/etc/aliases')
	+o       for a-option: test for more (multiple) user-entrys
	+b       bbs-entry with Nickname; additional (in '/etc/aliases')
	+c       check (is a bbs-user oneline?) and clear all bbs-tmp-files
        +p       create all mailing-lists for admin (see ./etc/list.config)
	
	user-expire (for crontab):
	+e       automatic-user-expire (change expire-date by setup)
	+f       for user-expire: enable check for invalid user-entrys
	+d       for user-expire+f-option: enable check for call-number/birtday

	statistic (for crontab, it make staistic-mail for admin):
	+r       make rmail-statitic-mail for postmatster(sysop)
	+q       make qwk/soup-static-mail for postmatster(sysop)

	for www-cgi (for WWW-pages - protected with a password for
		admin-access):
	+w       make top-caller-statistic (for WWW)
	+v       make mouth-statistic (for WWW) 


	ip-list (for Lynx: here you can enable, when the user have full 
                 IP-Access an can send binary-mail; see this list for
                 more details):
	+x       update a user-list "./etc/list.ip_access" for enable ip-access
	+y       for '+x'-option (enable IN-members+ip-access for all bbs-user)




4.4.4 WWW-ADMIN-TOOL (bbs.list)

 
     This Tools are only for WWW-Pages and CGI-Scripts. They create a 'one the
     fly' current bbs-lists (for admin) via WWW (for example).

       ----- snip (cgi-script) ------
	#!/bin/sh
	# this script create a list of all bbs-user
	LIST="/local/tbbs/bin/bbs.list +a"
	echo Content-type: text/plain
	$LIST
      ----- snap --------------------

    More options are "+v" (mounth-statistic) and "+w" (top-caller).
    This tool run only from [uid==nobody] (www-server)

    See package 'www-rip.1.3.??.tgz' for details.


4.5 ADDITIONAL SUPPORT

4.5.1. QWK/SOUP-SLNP SUPPORT    

    Off-line mail reading is an integral part of BBS calling.
    Conference traffic and selection on all networks have grown
    dramatically in recent years that on-line reading is a thing of
    the past.  Off-line mail reading offers an alternative to reading
    mail on-line -- It offers speed that cannot be achieved with
    on-line mail reading.

    The basic-uqwk-tool is developped by steve1@genesis.nred.ma.us. My 
    current qwk/soup-version based on this source. It is additionaly 
    developped for this bbs-system. I have implemented an nntp-support, bug-
    fixing and more.

    The qwk-tool ist only usable for a bbs. User can create, download or
    upload news+mail packages with a qwk- or soup/slnp-format.
    A qwk-format can't deliver mail-adresses and subjects longer as 25chars!
    It can't deliver References and Follow-UP-lines. The user must be
    informed, that he can use a 1. and 2. line with "To: " and "Subject: ".
    The SOUP/SLNP-format has not his limits. It is better to use this 
    format. A little sort of readers support soup/slnp (for example:
    XP-Pro).

    At this time I develop a new soup/slnp-reader for ms-windows (r). It is
    in an alpha-state and only in german! You can "read" find on my ftp-server
    (directory: /pub/linux/systems/bbs-systems/tbbs/1.3/usr.support/sread).
    In a future version this tool will support netcall with soup and more.

    



4.5.2 LYNX

    The contrib-pack contains a special lynx-version with additional color-
    support, access-controlling and another signal-handler! Do not use a 
    'normal' lynx-version for this bbs-system!
    This lynx-version is without bbs-enviroment identical with the 'standard-
    lynx'. The same binary run also for all (shell+bbs) users.
    All bbs-users have the "~bbs/etc/lynx.cfg"-configuration-file. Change
    this for setting your HOME-WWW-Server etc. All 'other' (shell) user
    use the '/usr/local/lib/lynx.cfg'-file!

    Lynx recongnizes when it is a bbs-user. He divides the 'world' in tree
    parts ('guest' , 'user', 'member').
 
    access:  guest < user < member

    guest:
     This is a User with login "guest" | "gast". He has level=0 and
     particulary limited access. 
     He can only make links in "./etc/list.www.allow.guest". Enter here 
     only name-strings; it is a simple compare-function ;)

    user:
     When a guest make a account (command 'account'), he become a own
     mail-folder and level=5 (default-setting in "postfach.c"). He is then 
     now a 'user'.
     He can make all links in "./etc/list.www.allow.others". The format is 
     the same (see list.www.allow.guest).     
     
    member:
     The 'bbs.update +x' (run periodic from crond; 1x per week) update a
     special bbs-user-list. Here you can control, when the user can make
     all links and when he can send binary-mail!

     The format is (set only the 'x' in the current column!):

	 ID BBS-User            IN-Mitglied          IP		       UUE
	------------------------------------------------------------------
	011 Sylvio.Runge           x                    x               x
	                           ^
	                          unused              he can make      can 
	                                              all links, he    send a 
	                                               is a 'member'  binary-
	                                                               mail
	
	022 Thomas.Mueller          -                    -               x
	                                             he is a 'user'    and
	                                                             can send
			   	                                   binary-mail
      
      The 'bbsmail'-Daemon detected, when a user can't send binary-mail
      (UUE, PGP, BASE64). He creates a failure-mail and send it return to 
      the poster.
 
                
4.5.3 FILE-AREA

      This bbs-system contain a internal filebase-command. First make the 
      symbolic-links to all file-directorys (ftp-server etc.) to the 
      "~bbs/download/"-directory. Enter in a special "*.INF"-file the 
      description or/and the access-group. 
      
      When the 'file' is "file_or_directory_name" then is the name  of the
      "*.INF"-file "file_or_directory_name.INF". The first line (of the
      "*.INF"-file contain a description, an additional line the fileuser-id
      (1..5). When this line is missing, all user have access (with uid==bbs
      ==1000). A group-setting in a top-level-diretory mean an access-denied
      for users withoth this group.
      With admin-access you can control this group-settings with the command 
      "admin" (section groups). All user-groups (name and group-id's) are 
      define in './etc/users.groups'.
    
      All uploads are spooled in "~bbs/incoming" (with full directory etc.).
      To this area, only admin have access (shell-access). A special
      symbolic link "~bbs/upload" -> "~bbs/download/incoming" solve this 
      problem. From time to time copy all upload from 'upload' to
      'download'.

      A bbs-user can only see directory in "~bbs/download".


      In a later version, I will implement this all in special file-tagger 
      for admin. In this version this is not ready to run :(


      This bbs-version contain a special-tool "sfileman.index". With a
      option "-index" you can create and update a search-index (for the 
      filebase). A option "-listen" is nesessary to build complets 
      file-lists for all download-directory. The lists are spoold in
      "~bbs/download/BBS-Listen/local/areaname.zip". This Daemon is ready to
      run from crontab (1x per week).

   
      
  

4.5.4 RIP1.54-Support

     This bbs-system contain a _experimental_ rip1.54-support. When you 
     want enable this support, install all RIP-Screens (simply decompress).
     The package 'www_rip....tgz' contain all rip1.54-basic-screens. With 
     this you have the menu 'RIP-menu'. This menu have a basic-selection
     of all commands. 
     With RIP, the news-support is at this time disables (not time, no time
     ;) 
        
     When you want another rip1.54-menu-selection, you must install the
     Metropolis.tgz-Pack. For this RIP-Screens see, copyrigth-details in this
     special-pack.
 



4.5.5 OWN SPECIAL MENU: ANSI-GRAPHIC AND STANDARD (SMENU)

    With this option, you can create simply your own menu. You draw 
    you screens and write a simple-menu-script. 

    The new-user (guest) becomes a advanched selection (pos.4):
    > 	Please select the BBS-Style?
    >	 1  - GEOnet     : all commands
    >	 2  - FIDO-Menu-1: only for beginner
    >	 3 -  FIDO-Menu-2: advanched menu-screens (Intermediate)
    > 	 4 -  FIDO-Menu-3: Menue-Screens are created from Admin; Sysop's Revenge ;))

    A regular user can enable it with the command "SMenu". Is a menue
    (global) set to disable, see in 'list.config', section [MNU].



    The system read your script an 'run' this. You can make loops, 
    can read chars etc.

    Here are all possible commands:

	 controlling:
	 cls				clear screen
	 setxy xpos ypos               	set cursor to position xpos,ypos
	 show	screen                  view ANSI-graphic (in ./scr)			
         read  textfile.txt             view a textfile with more-function 
                                        etc. The location of all text-files is 
                                        ~bbs/etc/languages/smenu/english/txt/ 
	 getch                         	read char in buffer
	 marke:				set label "marke:" 
	 goto marke			jump to label "marke"
	 exec menue			run menu-script "menue" 
	 QUIT				questionary for logoff-bbs...
	
	 ready-Fido-menue ("FMenu"):
	 FIDO_MSG			FMenue: message-boards (mail+news)
	 FIDO_EMAIL			FMenue: email
	 FIDO_ISYS			FMenue: info-systems 
	 FIDO_MULTIUSR			FMenue: multiuser
	 FIDO_MISCSRV			FMenue: misc services 
	 FIDO_NEWS nr			read, write in/to news-area 'nr' with 
                                        lynx (area "nr" (nr = 1..5), see 
                                        "./etc/sigs+areas/list.areas" 
	
	 services:
	 FILE_SYS			Filearea
	 usr_setup			setup-menu
	 usr_stat			user-status
	 usr_limit			review of user-limits
	 usr_level			review of user-levels
	 usr_user			command "user"
	 sys_port			command "who" (portinfo)
	 sys_lynx			run lynx (http://....)
	 sys_irc			run IRC
	 sys_news			command "news" 
	 sys_sub			command subscribe; subscibe newsgroups
	 sys_wmenu			run and set "WMenue"
	 sys_fmenu			run and set "FMenue"
	 sys_geonet			go to "Geonet"-command-mode
	 sys_info			comamnd "info"
	 sys_qwk			QWK/SOUP-menu (offline-reader)
	 sys_account			make a new valid Account (Befehl Postfach)
	 sys_chat			Chat 
	 sys_moan			MOAN/Meckern (mail to sysop)
	 sys_games			games-menue
	 sys_calls			caller-list
	 sys_sysinfo			system-info-screen
	 sys_language			switch a user-language
	 sys_talk 			unix-talk

         Article and Mail (PM) :
         mail_rw			read, reply or delete mail (PM)
         mail_wr                        write mail 
         mail_dn			download all email (pm)
         mail_up 			upload a mail to....

         News: 
         see in section "FIDO_NEWS nr"
       

  

	- Great or small chars are equal!
	- Menu-screens and scripts are _always_ with small chars (in the
	  filename).
	- Lines with "#" at the beginning of the line are remarks!

       You own screens must have in "./etc/languages/smenu/language/scr/..". 
       When  the user has enabled ANSI-GRAPHIC he start up with "main.ans", 
       else he start with "main".
 	
       For more details see a example in "./etc/languages/smenu/deutsch/"
     



4.5.6   ADD A NEW LANGUAGE 

   You can expand the langauges-support with 'mk.lang'. It's simple.
   The 'mk.lang'-tool check out all depenties and links and msg-base
   entries etc..
 
   Steps:
    - add your additional languages to "./etc/list.langages". See this
      file for details. You must only add a new line.
    - run "mk.lang" (uid==0): This tool make all links and entries
      automatical

    Now, you can translate all new files (see in './etc/languages/....').
    Replace step by step all symbolic links with your translation.

    When you edit the msg-base ("./etc/languages/msg/.."), be carefully
    with all entries (all entrys have the same lenght?). When you change
    an entry, ensure first that first the shared-memory-block is clear. 
    Use the unix-commands "ipcs" and "ipcrm", or run faster "bbs.update +c".

    When you have a new language, please send it to my mail-address, so that 
    the system can support this language by default.

    Since version 1.3pl9.10 mk.lang add all new MSG-entrys in another
    language (strictly not german) in "/tmp/t-bbs.newmsg.log".     
   



5.  ACCOUNTING

5.1.  The users DATABASE 

    First of all,  you are  NOT supposed to do anything with both
    of the database files  [./etc/users.*]  but a backup from time to
    time!  The entire maintaining has to be done from inside the BBS!


    Users gain access to their data by using the BBS command #280
    called "SETUP". All choices are well documented there, so there's
    no need to discuss any of the options now.

    For you as a sysop, it's a completely different story though!
    Your key to the whole thing is the command  #129, named  "ADMIN".
    Type in  [admin] and choose  [4] from the list.  You are prompted
    to enter a "UserID" or a "Username".  Type  [1] and press <ENTER>
    to get a list of your very own data. It should read like this:

            User-ID: 255
           Username: Sylvio Runge..................
           Passwort: ******
         SH-Account: ..............
              Alias: runge.........................
            Wohnort: 39106 Magdeburg...............
            Strasse: Irgendwo 234............
    Telefon (voice): 1414-124514........
     Telefon (data): 3314-141411........
       Geburtsdatum: 07.12.1969
           Terminal: 5....
     Lisa-Smalltalk: 1....
Sprache (0:Abfrage  1:deutsch  2:englisch  3:franz.): 1....
             Editor: 1....
              Level: 5...
               More: 1....
               Bell: 0....
             Prompt: 2....
              Lines: 24...
          LastLogin: 22.10.1996
           LastTime: 22:08
            Account: 00.00.0000
            Bretter: all.......................

    While maintaining your BBS, you'll have to change some of the
    data.  Not your own data of course,  but the data of your  users!
    Here are  some  changes  you will have to make very often in  the
    future.  Users tend to forget passwords.  Simply fetch a new  one
    for the user and enter it at the "Password:" line.

     Also very important is the "Level:" entry. There you give  or
    take access rights to/from users.  A list of user levels is given
    by the BBS command #215, called "LEVEL" - surprise, surprise!

    Don't set a level for a user to level=8. The bbs-system does not support
    a 'real' shell-account!


     Another demonstration  of  sysop  power is  hidden behind the
    "Account:" line.  If you enter a date here and the user calls  in
    after that day, his/her user level will be decreased. That's part
    of stricts accounting measures,  which you might use to get your
    users paying fees/charges on time. But if you enter  "00.00.0000" 
    instead, the entry will be ignored.



     So far the regular maintainance. Now for some rescue measures
    which might save your database.  If YOU have forgotten your pass-
    word  and there isn't any way to get into the maintaining program
    there is an easy trick to help you out.  Simply change the  level
    of the  #125 command in  [./etc/langauges/cmd/???].  Set it to level 
    0 and then restart the BBS.  Everybody (including yourself) is now 
    able to use the "admin" command. Do so and change your password. After
    that, you should better reset the level for #125 immediately!


    If the database seems to be destroyed, there is no way to get
    it repaired. The one and only thing you can do, is to delete  the
    database files [./etc/users.*] and restart the BBS. It will build
    up a new database for you ... of course, all data is lost!


    For a fileuser-group-control use also the "ADMIN"-command.
    All special-accounting-effects are described in section 4.5.2 (LYNX).
 



6.  CONFIGUREABLE FILES

6.1.  Various Lists

    When I developed this BBS, the very goal was to keep it port-
    able and reconfigurable without changing the source code.  That's
    why  there is a large list of files and scripts, containing shell
    commands, external utilities and interfaces to other services.

    Those files are named [./etc/lists.*] and [ ./etc/*.sh].  The
    first  group is, what we are talking about now! How to handle the
    contents of those files, is described there. But what you need to
    know is, that you  HAVE  to edit every single file before you can
    go online with the BBS!





6.2.  The List of PACKERS/ARCHIVERS

    We must take a closer look at this certain list, because it's
    a bit more complex as those above (4.1.). 

        Packer         Path                    Cmd    TAR      Suffix
        =============================================================
        Compress       /usr/bin/compress       -b16    +           .Z
        Lharc          /local/bin/lharc        a       -         .lzh


    Most of the stuff needn't be discussed,  but what about "Cmd"
    and "TAR"?  Well, "Cmd", of course,  describes a flag that has to
    be set when running the  "Packer". The "TAR" entry tells  BBS
    whether it has to use [tar], to bundle a list of files,  or  that
    the  "Packer" is able to bundle the stuff. The  EXAMPLES show how
    the BBS will interpret the two entries above.

        EXAMPLES:

	1. Packer Compress

        tar cf 00-00-00.tar *.*
        /usr/bin/compress -b16 00-00-00.tar    ===>    00-00-00.tar.Z


        2. Packer Lharc

        /local/bin/lharc a 00-00-00.lzh *.*    ===>    00-00-00.lzh


    You'll find examples for nearly every packer and archiver  in
    the file. Don't forget that it doesn't make sense to have a bunch
    of brandnew packers, but no user is able to unpack their output.



6.3  BBS-Enviroment-Setting (list.export)

    For external applications, you can set here the bbs-enviroment (lynx,
    irc, bbs-mail etc.). For details see in './etc/list.export'.
    By the bbs-system, a litte set of variable are presetting. Don't change
    this settings (nntp-server, BBS_HOME.....). This is vital! 
    The hidden comand "#h" you can check all enviroment-settings.
 


6.5 List all invalid User-entrys (list.postfach.muell)

    Here you can enter all invalid or forbidden names etc. Newuser can't
    make accounts with this entrys. The expire-daemon ("bbs.update +e +f")
    make a level-decreace a users with this entrys (with level 0 the user
    are expired).
    

6.5 List all dirty words  (list.dirty.dictionary) 

    Since the 'Communications Decency Act 1995 (P.314)' has become a 
    reallity all service providers have to be on their guard. To avoid
    any hasards, this list is checked against to locate indecent words
    in all user written documents ...
    Please use only small chars! The bbs-system convert all others self 
    in lower-chars.



7.  ANNOUNCEMENT FILES

    Everytime a user calls in, the BBS searches for a file called
    [./etc/logo]. If it exists,  it's displayed to the user. It isn't
    supposed to include announcements, but to present your BBS jingle
    or something of that sort. This logo is displayed, before a user
    logs in the bbs-system.

    Better,you change the ANSI- or NONANSI-logo "./etc/ansi/system.ans"
    "./etc/ansi/logo.ascii". 
    

    To inform your users about BBS matters,  two  different files
    named "./etc/languages/guests.intro/.." for your guests are offered
    and "./etc/issue" (this see a user at a bbs-login).

    And we have a third file of that kind. You can put in a brief
    roundup of your systems data at  [./etc/langauges/sysinfo/].  
    If you look at that file,  you'll see some  RTF  commands  within  
    it. They were inserted by WENDY,  the RTF  editor.  You  can  use 
    those RTF features for all of your  announcement  files. It looks 
    good!
        
    You'll also have  to  look  at  the   [./etc/languages/???.info/] 
    files.  Those are the basement of our new INFO system  especially 
    created to get beginners started. The sturcture of  such an  INFO  
    file is pretty simple.  It's a text file,  where the  FIRST  line 
    is shown in the INFO menu.


    When a user makes a new account (command "account") the system send 
    automatic a newuser-welcome-mail (see "./etc/languages/mail.wel - 
    come.user/...") and a info-mail for the administration. You can edit 
    the text for this welcome-mail (with wendy etc.). 

    Before a user fills out the form, he can read a info-text for account-
    ing. You can find this in "./etc/languages/newaccount/..".


    When a user logout, he can see a special logout-screen. you can find this
    in "./etc/languages/logout/...". Dependent from the terminal,
    he can see an 'normal' and 'ANSI-GRAPHIC'-Screen. The  special
    ANSI-Graphic "focus.ans" make a zoom-out-effect ;)  Don't clear this
    file!



8. WARNINGS
 
 -1- No user is allow for 'real' shell-access from bbs (user-level < 8 )
 -2- The bbs-system must have enough free space on hard-drive (min. 40MB)
 -3- make a backup of all ./etc/users*-files !!! (for point 2)
 
 

9. FAQ
 
9.1 USER

Q: Why can't activate ansi-color-graphic?
A: Select the 'ANSI-Color' terminal, check out your setup (output/IBM/IBM-
   special-chars). Now you can switch ansi-graphic with the command 
   "graphic" (GEOnet-mode).




 
9.2 ADMIN

Q: I have a binary-pack. Where do it install?
A: This is the same. Make a new directory (not longer as 40 chars). The
   PATHS are by default not hard coded! Use the "tbbs.setup"-Script to
   make all necessary links, entrys etc. (this is make automatical). 
   The paths are hard-coded, when you chage "userdef.h" (BBS_HOME-Selection) 
   and recompile all binarys.

Q: I can't login as sysop. What is the current password?
A: First admin-login is from "tty4". With this terminal you can always
   (withouth passwort) login as sysop (administration). 
   You can use later the command "password" (setup).

 
Q: I have only 4MB RAM and can't run the sytem. It is verry slow. Where 
   is the failure?
A: This bbs-system can't run with so little RAM. Please use volker's
   bbs-system ix/mbox (see at sunsite.unc.edu). This has no shared libs
   and memory-support and is not so large. 


   
Q: Is there a Unix/Linux ANSI paint program ?
A: At "sunsite.unc.edu" (/pub/Linux/system/BBS/bbs) you find different ansi-
   draw-tools (*draw*.tgz??). The "duhdraw"-application is at this time
   the best linux-port.
   You can also use an DOS-ANSI-Draw-Tool for example "The Draw" (see at 
   ftp.boerde.de: /pub/system/bbs-system/linux/tbbs/1.3/user.support/draw). 
   It works fine in a VM86-enviroment (dos-emulator) :)

Q: Where is the tbbs-mailing-list?
A: The mailing-list-address is <tbbs@mail.boerde.de>. When you want add
   or remove to this list, please mail to <runge@boerde.de>.


Q: I can't start a Rip1.54-session! What is the failure?
A: Install the "www_rip1.3pl??.tgz"-pack (simple unconmpress in ~bbs). Get
   the Mediapolis.tgz-pack for additional RIP1.54-Screens. 
   You must use a RIP-1.54-Terminal (RIP2.00 will not run). All RIP-Support
   is experimental (news with rip will not run with nntp!).



Q: I can't find the 'special'-Lynx-version!
A: Get the binary-pack (tbbs1.3pl??.bin.tgz) or compile+install the 
   contrib-pack (see at ftp.boerde.de ). Note, compile lynx with "make
   linux-slang" for color-support!


Q: Lynx say "unknown terminal..." etc. What does it mean?
A: Check your termlib-entry's!  You must have all default- and additinal
   terminals ('ansi', 'color-ansi', 'vt100', 'vt52', 'dumb', 'tvi950',
   'mac', 'qvt101', 'xterm'). When you have troubble, see in
   "~bbs/INFO/config.runge/terminfo/" !
   Also make sure that the terminal is defined in the terminfo database.
   (With the first run, all termcap-entrys check "tbbs.config" self!).
  





10. FUTURE DEVELOPMENTS

   At this time i develop a new bbs-packet-protocol (s++). It will allow the
   use of netscape etc. at the 'ms-windows' user-side. A special bbs-client 
   will support news, mail, chat etc. (similar wincim on compuserve). All 
   this will based of an special winsock.dll/wsock32.dll. The problem is 
   smooth my spare time are limited  :)




------------

The QWK-format is Copyright 1987 by Sparkware.
All Program names mentioned in this document are either Copyright
or Trade- mark of respective owner(s).


========================

config.h

In item 4.2 ich glaube es sollte stehen, dass ~/bbs/lib muss in
/etc/ld.so.conf sein.


...cmd

> 1) Wofuer ist /etc/list.ip.access ?
> 2) Wofuer ist /etc/list.timeouts?
>


> In Manual sollte stehen, dass man muss aufpassen, wenn in eine Sprache
> die Security levels fuer ein command aendert, dass es das selbe gemacht
> wird in die andere Sprache die das BBS benutzt.
Stimmt, das ist wichtig




>
> Wo kann man die 'defaults' fuer gasts und andere users aendern ? ( z.B.
> editor, language, usw )
>
Das ist mehr oder weniger fest im source codiert (postfach.c und intro0.c).
Ist eine gute Idee, werde ich bei dem naechsten Update mit beruechsichtigen
(eine Maske erstellen fuer Default).





Timings bei logo, wenn LOGO geloescht, kein TIMING aktiv!
