
 ***** ***** ** ** ***** ***** ****  ***** *       *    * ***** ****  ***** ***** *   *
   *   *     * * * *   * *   * *   * *   * *       *    * *   * *   *   *   *      * *
   *   ***   *   * ***** *   * ****  ***** *       *    * *   * ****    *   ***     *	V1.0
   *   *     *   * *     *   * *  *  *   * *        *  *  *   * *  *    *   *      * *
   *   ***** *   * *     ***** *   * *   * *****      *   ***** *   *   *   ***** *   *

TEMPORAL VORTEX BBS SOFTWARE FOR LINUX			telnet://temporal-vortex.com
Copyright (C) 2001  Jeff Ledger & Matthew Martin	http://temporal-vortex.com

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.


(1) WHY DID WE DO THIS?

-Jeff-	I was a BBS Sysop back in the early 80's.  A time when private BBS systems
	were the primary method of keeping up with the latest gossip.  Before the
	Internet became what we have today.   Now, years later, I am teaching
	computer technology at a public school to high-school students.  I was
	shocked to discover that BBSing was something most of my 10,11, and 12th
	graders had barely even heard about, much less actually logged into a BBS.
	I decided to do something about this.  I made a little BBS history part of
	their education.  After spending months evaluating and fighting with various
	BBS software, I struck on the idea of writing my own "old-fashion" BBS using
	Slackware Linux as the base.  

	If you are running a copy of TVBBS, or if you have questions, comments, or
	some suggestions, I'd love to see them!  Drop me an email at jledger@cyberstreet.com. 


(2) WARNING!!!!  Caution! those with pacemakers, etc!

	
	This BBS was designed using Slackware Linux 7.  While it should run fine under
	any Linux which provides /bin/bash & perl, I cannot guarranty what will happen
	if you get too far away from the documentation.

	It will be very helpful if you have knowlege of shell scripts,
	and perl in getting your BBS online.  I will assume for the rest of the documentation
	that you have run BBS'es before, and have a fair working knowledge of Linux.

	<*> YOU WILL WANT TO EDIT <*>

	If you have never setup a BBS before, this may not be the best software for you.
	This BBS was designed for MAXIMUM FLEXIBILITY, but is not for the weak of heart.

	Understand that Temporal Vortex BBS software is a work-in-progress.
	We know there are many bugs, and we have a TODO list a mile long.


(3) What's so great about Temporal Vortex BBS software?

	I reviewed every BBS software program I could get my hands on for Linux.
	Some were better than others, but all of them lacked to ability to be
	completely modified.

	Temporal Vortex is designed using a combination of PERL & BASH scripts.
	Everything can be tweaked to every whim.   A BBS is an extension of 
	the personality of the System Operators.  Software should never confine
	your creativity.  We vow to never lock you into a box.

	As of May, 2001 Temporal Vortex has the following features if you install
	all currently available modules.

	Multiuser Chat Room.
	Public Message areas.
	File Upload & Download using Zmodem.
	Online Games Support.
	Unlimited Potential and Flexibilty.

		
	This RELEASE of TVBBS is configured for one message base, and one chat room.
	This is NOT a limitation of the software.  This was released this way to
	promote ease of installation and to keep from overwhemling you.

	In fact, our copy of TVBBS is running the same code, but with the process
	of duplication, we have 3 message areas, a primary chat area, and two
	private chat rooms.


(4) What do I have to have to run this?

	That's the beauty part.   Very little.

	We currently run Temporal-Vortex BBS on a Pentium 90 with 16mb of RAM.
	It is hosted on a dedicated ISDN connection with a static IP address.
	It usually uses about 1.3% of system resources.  (Console Mode)
		
	You should be able to duplicate this spending $50.00 on ebay for gear. :)
	We could have run this on a 486.


(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)(_)


Getting Started:
----------------

*IMPORTANT CONFIGURATION NOTE*

If you uncompressed the tvbbs.tar.gz file from the / directory,
you should have a /bbs directory with all the files configured and
ready to go.   Let's talk about each file for a moment.


Note: The CHMOD's shouldn't need to be done.  
They are here for your edification only.

/bbs/bulletin.ans		ANSI screen after newuser signup.
/bbs/chat			Perlscript for the chatroom		CHMOD 755
/bbs/comment.ans		ANSI screen top for comment to sysop.
/bbs/doors.ans			ANSI screen menu for a door menu.
/bbs/download			Perlscript for user downloads		CHMOD 755
/bbs/downloads [directory]	Storage location for downloadable files
/bbs/emptyram			Perlscript used by the BBS.		CHMOD 755
/bbs/feedback			Perlscript for comment to sysop.	CHMOD 755
				(Edit this file to change email address.)
/bbs/filelist			Perlscript to list downloads    	CHMOD 755
/bbs/filelist.ans		ANSI screen for files to download.
/bbs/lastlogin			Datafile records last user to login.
/bbs/main			Perlscript for main menu.		CHMOD 755
/bbs/mainmenu.ans		ANSI screen for main menu.
/bbs/newuser			Perlscript for newuser signup		CHMOD 755
/bbs/newuser.ans		ANSI screen for newuser signup.
/bbs/preuser.ans                ANSI screen before user login.
/bbs/ramdisk			Perlscript to configure a ramdisk.
/bbs/runbbs			Perlscript to configure bbs.		CHMOD 755
/bbs/start			Perlscript for login to bbs.		CHMOD 755
/bbs/tvbbs			Perlscript to start the bbs.		CHMOD 755
/bbs/tvpl			Datafile containing accounts.		CHMOD 777
/bbs/upload			Perlscript for user uploads.		CHMOD 755
/bbs/who			Perlscript for whos online main		CHMOD 755
/bbs/whosonline			Perlscript for whos online chat		CHMOD 755
/bbs/General	[directory]	Directory for message area #1		CHMOD 777
/bbs/General/1.msg		1st message in message area.
/bbs/General/clear.ans		ANSI screen to clear screen.
/bbs/General/first		Datafile containing first MSG#		CHMOD 777
/bbs/General/intro.ans		ANSI screen for message area.
/bbs/General/number		Datafile contraing next MSG#		CHMOD 777
/bbs/General/post		Perlscript to post messages.		CHMOD 755
/bbs/General/read		Perlscript to read messages.		CHMOD 755
/bbs/oneliners	[directory]	Directory for oneliners.		CHMOD 777
/bbs/1.ol - 8.ol		Datafiles containing oneliners.
/bbs/clear.ans			ANSI screen to clear screen.
/bbs/number			Datafile for mainmenu display.		CHMOD 777
/bbs/oneliner			Perlscript to edit oneliners.		CHMOD 755
/bbs/ramdrive	[directory]	Folder for keeping track of		CHMOD 777
				online users.  *See Ramdrive*


Ramdrive
--------
	
	The "who" and "whosonline" scripts display the users who are
	online at any given time by displaying the files listed in
	/bbs/ramdrive.  We write the user's name in the form of a 
	garbage file in this folder. You will need to configure a
	CRON job to delete all files in the ramdrive every so often.

	We use the following line.

	00,05,10,15,20,25,30,35,40,45,50,55 * * * * /bbs/emptyram >> /dev/null 2>&1

	Because the /ramdrive folder is updated constantly when
	the bbs is used.  It is suggested that you use the "ramdisk"
	script to turn the /ramdisk folder on the hard drive into
	a real ramdisk.  You don't have to do this, but it is recommended.
	You will want to add the "ramdisk" command to your rc.local.



	Special Note:	Some of the following information was adapted from
	-------------	research done by the authors of "Mystic" BBS.  We want
			to take this chance to thank them for their efforts.
	

	Creating Linux BBS User
      	-----------------------

	Once the installation program has finished, you will want to create
	a new user for your system.  The new user you add will be the account
	used to access the BBS once someone is connected to your Linux box.

	To add a new user type "adduser bbs" and it should create the user
	"bbs" for you.  Hit Enter when asked for a password until it accepts it.

	Now you'll need to edit the /etc/passwd file with a text editor.
	Find the listing for the bbs user you just added (should be at the
	bottom).  The entry will look something like this:

		bbs:x:1000:100:bbs:/users/bbs:/bin/bash

	The above fits the following format:

		loginname:password:usernumber:usergroup:username:homedir:shell

	The password, homedir, and shell fields need to be changed.  Remove
	the password all together, then change the homedir to the directory
	/bbs.  Finally, set the shell to run the "tvbbs" script in the BBS
	directory.  The result should look something like this:

		bbs::1000:100:bbs:/bbs:/bbs/tvbbs

	Special note: Do not change the numbers.  "1000:100" is an example.
	Your numbers could be anything, leave them be.



	File Ownership Issues:
	----------------------
	
	When administering your bbs as root any files you create will be 
	created as root you will be required to change the ownership of all 
	bbs related files back to the bbs user and group. To do this, you 
	would execute the following command:

		chown -R bbs /bbs 

	BE CAREFUL HOW YOU EXECUTE THIS COMMAND!  TYPE IT CORRECTLY!

	Run the above line as root every time you make a change to the bbs 
	as root.  



	Automatic BBS Login
	-------------------
     
	Now it's time to configure your system to start the BBS automatically
	when a user telnets to your machine.
     

	Step 1.

	As root, go into /etc and edit inetd.conf, first add this line.

		telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetsnoopd

	This will define the parameters for the telnet login which will utilize
	the telnetsnoop feature in linux. 

	Next, you need to create a back door into your system if you want to 
	be able to log into your box normally via telnet without accessing the 
	bbs.  To start this process, insert the following line into inetd.conf.

		telnetbd stream tcp     nowait  root    /usr/sbin/tcpd  in.telnetd

	Note the telnetbd at the beginning, this is the name of the service. 
	It doesn't have to be telnetbd, but its good to keep it close to  
	'telnet'.

	The next file we will edit is /etc/services.  This is where you put 
	the above definitions to work.

	The first entry you need should already exist, so no need to change 
	that:

		telnet          23/tcp
		telnet          23/udp

	Next is your back door service, place this near the end of the file 
	and put in the port number that you feel is most comfortable for you.  
	For the example below we are using port 2000.

		telnetbd        2000/tcp
		telnetbd        2000/udp
 
	Next we need to configure ttysnoop to start up the bbs, we do this by 
	editing /etc/snooptab and putting the following line in.  Note the 
	last entry in this line, this points to a script in your main bbs 
	directory.

		*               socket          login   /mbbs/runbbs     
     
	You may already have a line which loads /bash, if you do, simply
	change it to our example above.
     
	That's it!  Now reboot and test your telnet connection using ports 23 & 2000.


	Feature Notes:
	--------------

	I run the BBS with a dedicated linux box with a dedicated monitor.  This is
	the setup which will be ideal for the bbs.  I keep the linux monitor on and
	logged in at all times.   TVBBS will send a message to console during the
	login/logout of users, as well as send a "Paging Sysop" from the chatroom.

	
