Chapter 2 The system ========================== 2.1 Directories in your system ---------------------------------- * TEXTS All texts written in the local meetings are stored in this directory. For every meeting there is a header-file and a pure text-file. Read more about that in chapter 4.2. Normaly, you don't have to care about this directory at all. NT Pro handles it all and makes sure everyting is in order. * DATFILES All datafiles that are specific for your BBS, for example the meetings, the areas and the users, are stored here. The only files you really have to care about in this library are Command.DAT (in which you define all commands for your system) and Language.DAT (where all text-strings are located). Read more about Command.DAT in chapter 3.2, and about the other datafiles in chapter 2.2. * SOURCE In this directory, we've put the NTPro_Vxxx.Defines file which shows the memory structure for NT Pro and the structure for its datafiles. Sometimes, you'll need it when you want to write your own doors for NT Pro, with or without the ntpro.library. * PRGS This is just a default directory to store all uploaded files in. If you choose your own locations for the fileareas, you can delete the PRGS directory. * SCRIPTS Nothing system-dependant lays here, it's only suggested that you have a special scripts-directory to place all BBS-related scripts in. * TXTFILES This directory is the place for all default textfiles shown in your BBS. You'll find the login-, logout- and bulletin-texts here for example. NT Pro will (for textfiles shown INSIDE the BBS, when NT Pro knows if the user has ANSI on or off) choose between a .TXT and .GFX extension to search for. If a user has got ANSI on, and the GoodBye textfile is going to be shown, NT Pro will try to open GoodBye.GFX before (if failed) it will take the normal non-ansi GoodBye.TXT file, for example. Please look around and edit the files you want to! * DESC All long descriptions on uploaded files are stored here. They'll get the name of the file uploaded, plus an extra extension '.DESC' to show this is a pure textfile shown for users who wants to read the long description for a file. * AREXX Yet another suggested directory. This one is for your Arexx-scripts and documentations. 2.2 Files in your system ---------------------------- To make it as simple as possible, we walk through each directory in your system. NT: * SERVER This is the communications central of NT Pro. The server keeps track on every read/write of datafiles for NT Pro and also all communication between the different nodes that are running. You start the server with the Workbench command RUN and it will immediatly start to read all .DAT files (located in your DATFILES directory). It will also read NT.CFG for your modem setting and accesslevels etc, Language.DAT for the textstrings in the system and Command.DAT for all possible commands in the BBS. The server is always the first program you start when you want to open your BBS. If you want to run the server from a script, and don't want the script to go on until the server is ready, use the WaitForServer program (read more about it a bit below). The server opens NT Pro's screen. There are several arguments to choose between to select screenmode etc, and you see which are available in your version by typing "SERVER ?" in your CLI. If there's a problem when reading the .DAT files, it may be because of a broken datafile. Exchange the broken one with a backup. Always remember to have a safety-backup of at least all the .DAT files and NT.CFG. It shouldn't be older than about 3 weeks. After you've used a backup as a "fake datafile", you might have to use the Service-command to put text-pointers, file- pointers etc in order. * WAITFORSERVER This command is used in scripts, for example in your startup- sequence or user-startup when you don't want that the script should keep on running before the server is done reading all its datafiles. This because the server is started with the Workbench command RUN, and it's no good to start NTSer/Con before the server is ready for them. * NTSER This is the serial part of your system. You have to RUN one NTSer for each serial node you want to start. You can give NTSer a few arguments, which are listed below, but more arguments may be available in the NT Pro version you've currently got, so please try "NTSER ?" in your CLI for a complete list of them. C= is used to tell the server to use another configuration for this node, than the default read NT.CFG. If you run a multi-node BBS, you must have one config for each serial node. That because DEVICE= and UNIT= are amongst the settings in the config file. P/PRIORITY decides this node's priority level. Normally you don't have to change this, if you don't want a special node to have a very high or low priority. The priority level decides how mush CPU-power this task will be given. T/TRAPDOOR is used if you want to start NTSer from an external frontdoor, ie TrapDoor. NTSer must also receive the current BAUDRATE for the connection and will asume that a carrier is already present when it starts up, and will immediatly show the Welcome text for the user. The window for this node won't be opened until a carrier is really present this way. When the user logs out, the window will be closed. B=BAUDRATE is the parameter NTSer needs if it is started in TRAPDOOR-mode. Read more about that above. WB/WINDOWBACKDROP works in the same way as SCREENBACKDROP with the only difference that it is only this particular window that is affected. Different windows may have different window-values and some may therefor be started in backdrop mode. H/HIDDEN is an argument that also may be switched on/off from the NTSer command-menu (when there is no user present). If hidden-mode is on, no text will be displayed on your side of the screen, and this will speed up slow boards a little bit. The only thing you, the sysop, will see is a screen with different interesting information about the user. (Ie. His phonenumber, address etc.) If you have window-titel update switched on, in your NT.CFG, you will still see what he is doing on the window bar! * NTCON This is the local part of your BBS. If you want to do a local login to your BBS, start NTCon by typing "RUN NTCON" in your CLI. Immediatly, a new window will be opened on the NT Pro screen, and you may enter your BBS. When you logout, a question will come up to determine if you want to do another login at once or to close NTCon. As NTSer, NTCon also takes some arguments, and they are almost the same as for NTSer. You see which are available if you try "NTCON ?" in your CLI. * KILLSERVER This program is used when you want to quit the server totaly. It should only be started when all nodes are shut down and all diskactivity has stopped. The command will clear all memory NT Pro has reserved and will also close the NT Pro screen. * GETLINE This program is used to temporary borrow a nodes serial port. Send the nodenumber as an argument to GETLINE. If a user is logged in on that node, GETLINE won't touch the node until the user has logged out. You will notice a message on the node's window that it is locked by GETLINE and nobody can login before it's unlocked again with RELLINE (see below). * RELLINE Is used to unlock a node that is locked by GETLINE. It will open the serial device and give the node to NT Pro. As with GETLINE, use the nodenumber as an argument to RELLINE. TEXTS/ All texts from the meetings in your BBS are stored here. For each meeting, there are two files. One datafile which holds the actual texts, called TEXT, and one file which keeps track of all textpointers etc, called HEAD. If we take the Mailbox as an example, there is a TEXT0 and a HEAD0 file for it here. The TEXT0 file is only containing a lot of text dump, and the HEAD0 stores all the subjects, receivers, and a lot more. If you are interested in the TEXTx/HEADx file structures, take a look in the NTPro_Vxxx.Defines file which is to be found in your NT:SOURCE/ directory. DATFILES/ * COMMAND.DAT This file includes information about all commands that are available in your BBS. Here you define your own commands, change the old ones, etc. You'll find information in the file about how to edit it, which you do with a simple ASC-II editor. * LANGUAGE.DAT In this file, all textstrings NT Pro shows, are defined. You may edit this file with a simple ASC-II editor, and you'll find all information about how to do in the actual file. * AREA.DAT This file keeps information about the fileareas in your system. Normaly, you don't have to care about it, but if you're interested in its structure, please have a look in the NTPro_Vxxx.Defines file (located in NT:SOURCE/). * FILE.DAT In this file, all information about uploaded files are stored. The more files you have in the BBS, the bigger this file grows. Normaly, you don't have to care about it. * MEET.DAT Information about your meetings are stored here. Normaly, you don't have to care about it. * STATISTIC.DAT Some statistic data are stored here, to keep track of (for example) which users that have logged in lately. Some of the values stored here are the same as those you reach through the SYSINFO command in your BBS. NT Pro takes care of this file. * STATISTIC0.DAT This file is a cleared STATISTIC.DAT and is only used when you want to restart the board from scratch. Then copy it to STATISTIC.DAT and all old statistic data will be erased. (The CLEARNT script takes care of that) * SYSTEM.DAT This file stores a lot of values like total number of users, files, meetings etc. NT Pro takes care of this file so normaly you don't have to care about it at all. * SYSTEM0.DAT As with STATISTIC0.DAT, this is an empty and cleared file which should replace the SYSTEM.DAT file at total BBS scratch start. (The CLEARNT script takes care of that) * USER.DAT All users are stored here. If a user in the middle of the file is deleted, next new user will take his user-number. This because we don't want the USER.DAT file to grow like grass. * VOTE.DAT This file stores all statistics from the VOTE command in your BBS. It also stores the bitmap that shows what you have voted on each question. L: * FIFO-HANDLER This file should be started with RUN before your BBS-startup. It's FIFO which handles the communication between NT Pro and all external commands. FIFO is copyrighted by Matt Dillon. (Greetings to our favourite Amiga programmer!) LIBS: * NTPRO.LIBRARY This library includes a lot of functions that NT Pro uses regulary. Insted of having them in NTSer/Con we've put them in this library which also makes it possible for external programs to use them. Information about the NTPRO.LIBRARY and its functions can be found in a complete package that you'll find at the NT Pro support-BBS. (See chapter 10.1) * FIFO.LIBRARY This is the library the FIFO-handler uses to create and handle ports between different programs, to communicate through. S: * NT.CFG This is a configuration file that is read by the Server att BBS startup. It includes various information about this node's modem, access-levels etc. You may edit it, with any simple ASC-II editor, to fit your special needs. For multi-node systems, you must have different NT.CFG files for each of them. Read more about that a bit above in this chapter (about NTSer/Con). TXTFILES/ All files in this directory are pure textfiles which should be edited to fit your needs with a ASC-II editor. The files has normaly the extension .TXT in their name. All texts that are shown after Welcome.TXT (ie. when the user has logged in) can also exist in a .GFX version. The .GFX files are shown instead of the .TXT files for users that have their ANSI-flag set on. All files that are shown inside the system can have a lot of different control-codes in them. Which codes are available, you see in the enclosure that we have included in this package. (You may, with help from the control-codes, start scripts, interactive programs etc from your textfiles!) In TXTFILES are also all files that are defined in your COMMAND.DAT file as BEFORE= or AFTER= files. Read more about this in the beginning of COMMAND.DAT. * BULLETIN.TXT/GFX Shown when the user has just logged in. * COMMANDS.TXT/GFX A list over all commands in NT Pro. You should edit this by your own when you make changes in the COMMAND.DAT file. It is shown for users that use the command "LIST COMMANDS" in your BBS. * EDINFO.TXT This textfile is for you, SysOp, about how to edit the INFO.TXT file. It is a bit special. When you've learned it, just delete this file (EDINFO.TXT). * EDITHELP.TXT/GFX This file is shown in the Line-Editor when a user requests help by writing "!?" on an empty line. You may edit this file, but all commands are constant and they can't be changed. * FEATURES.TXT/GFX This file shows just a bit of all the features NT Pro has got. Please put it in your INFO.TXT file so your users can read it and be amazed of it! * GOODBYE.TXT/GFX Shown when a user is leaving the BBS. After that is done, a copyright notice will be shown, which you can't remove. * HELP.TXT/GFX Shown when a user is using the HELP command in your BBS. Please edit the file to fit your needs! * INFO.TXT This textfile is very special. It works as a menu from which the user may be taken to different textfiles or even more menus! Read more in the file EDINFO.TXT about how to edit the INFO.TXT file. * INUL.TXT/GFX This file is shown after a file is uploaded and placed in its filearea. If it's a batch upload, InUL.TXT will be shown after each file is moved to its filearea. From this file, you may send special control-codes (which are to be read about in the enclosure we've included in the NT Pro package) to start programs with the uploaded file's path+name or number as arguments! * NEWUSER.TXT This textfile is shown before newusers is about to fill out all the new-user questions. NT doesn't know if the user is having ANSI on or off at this point, and thereby you can't have a .GFX version of this file. * OUTOFTIME.TXT/GFX Shown to a user that has spend all his time for this login. * OUTOFTIMEWARN.TXT/GFX Shown to users as a warning when their time is running out. In NT.CFG, you declare how long before the hangup they will be shown this file. * TIMEOUT.TXT/GFX This file is shown when the user has been inactive for a long time and should be thrown out. You decide for how long a user may sleep before he is thrown out, in NT.CFG. * WELCOME.TXT Shown right after connection has been established. Keep the name of the board here, amongst with some information about it maybe?! 2.3 Some tricks to keep everyting in order ---------------------------------------------- Create a path for all online doors in your BBS that makes them all accessable thorugh the assign DOORS: or something. You can also, with the right utility, create a path for ALL your file- areas. This can be done with the program PathAss (search at the NT Pro support BBS) or with any other simular program. Then you'll reach all files through ONE search path, for example FILES:. Very good for the sysop who wants to unpack a file and has all his fileareas spread around on his harddrives and don't know where a special file is. In this way, you only must know the filename! Use different directories for all fileares! Keep all Arexx-scripts in the AREXX directory, normal scripts in the SCRIPTS directory and executable doors in DOORS:, and you'll have a easier-to-serve system at once.