home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
comm
/
mtlk0920.lha
/
ASI
/
doc
/
MTalk.doc
< prev
next >
Wrap
Text File
|
1992-08-10
|
19KB
|
502 lines
===============================================================
Multi-Talk V0.920 - Multi-user Teleconference for the Amiga(tm)
Documentation
- August 4, 1992 -
===============================================================
Copyright (c) 1992 by Sam Yee. All rights reserved.
======================================================================
COPYRIGHT
=========
The program, Multi-Talk and its documentation are written and
copyrighted by Sam Yee. The UNREGISTERED version of Multi-Talk may be
distributed freely providing the following restrictions are satisfied:
o Distributors may not charge more than the cost of a diskette used in
the distribution of this program.
o Distributors may only distribute the unmodified copy of the original
program, along with its documentation, and copyright notices intact.
o Commercial distribution is only possible with written permission
from the author.
The REGISTERED versions of Multi-Talk may not be redistributed.
Redistribution is illegal, immoral, and strictly prohibited.
======================================================================
DISCLAIMER
==========
This program and its documentation are provided "as is". No
warranties are made with respect to the accuracy, reliability,
performance or operation of this software and information. You are
using this program at your own risk. The author is not liable for any
damages that may have been caused by using this software.
======================================================================
INTRODUCTION
============
MTalk (short for Multi-Talk) is a multi-user teleconference system for
the Amiga(tm) series of computers. It can run on any bulletin board
system (BBS) that supports standard input and output. It can also run
without a BBS. The reason why MTalk was created was because there
was, until now, no decent conferencing software for the Amiga(tm)
which provides the features and flexibilities of MTalk.
All documentation in this file is directed to the system operator, not
other users of MTalk. Users of MTalk should read the on-line help on
how to operate it when it's running.
Note, since MTalk is so complex, it's likely I will miss documenting
certain things. If you feel I have not covered certain aspects
enough, please send me mail, so I can revise this file.
======================================================================
LIMITS
======
1. Unlimited users.
2. Unlimited channels.
3. Unlimited independent conferences.
4. 512 characters, including the null character, per command line.
This will be configurable on later versions.
5. 10 history lines. Also this will be configurable at a later date.
Note that the limits 1, 2, and 3 are only applicable to the unlimited
users version of MTalk.
======================================================================
REQUIREMENTS
============
This program runs on any Amiga(tm) with version 2.04 of the OS. A
system with 512K would suffice. The minimum memory requirements for
the first user is the size of the executables (MTalk and MTalkServer),
size of any data files, plus ~15K. Each additional user requires
~15K, plus an additional serial port. Note that memory usage
increases when the data files' size increases, or the size and number
of history lines increase, etc.
======================================================================
INSTALLATION
============
You must put MTalk and it's accompanying files into the assigned
directory called DOOR:ASI. DOOR: is the proposed directory for doors
(or BBS utilities) used by many system operators and door programmers.
ASI is a directory where you should put the BBS utilities written by
me. You must also create several directories within DOOR:ASI. The
directories are:
DOOR:ASI/bin/ -- Where all executable files go.
DOOR:ASI/config/ -- Where all configuration files go.
DOOR:ASI/data/ -- Where all the data files go.
DOOR:ASI/doc/ -- Where all the documents go.
DOOR:ASI/help/ -- Where all the help files go.
DOOR:ASI/key/ -- Where all the key files go.
DOOR:ASI/script/ -- Where all the scripts go.
DOOR:ASI/text/ -- Where all other text files go.
DOOR:ASI/user/ -- Where all the data on each user go.
The files pertaining to MTalk are as follows:
DOOR:ASI/bin/MTalk
-- This is the client program each user calls.
DOOR:ASI/bin/MTalkServer
-- This is the server program for each conference.
DOOR:ASI/bin/MTalkKillServer
-- This is the program to abort any server.
DOOR:ASI/config/MTalk.DOORTAB
-- All the doors configuration data will be stored here.
DOOR:ASI/config/MTalk.LVLTAB
-- All the access levels for the built-in commands are stored here.
DOOR:ASI/config/MTalk.default.prefs
-- Default preferences for new users. To create this file, simply
enter MTalk, use "/pref" to edit the options and "/pref save"
to save.
Now type "copy DOOR:ASI/user/<user_name>/MTalk.prefs TO
DOOR:ASI/config/MTalk.default.prefs".
DOOR:ASI/data/MTalk.ACTIONS
-- All the action data is stored here.
DOOR:ASI/data/MTalk.FILTER
-- All the filter data is stored here.
DOOR:ASI/help/MTalk/
-- Help files for all the built-in commands, plus door commands.
DOOR:ASI/key/MTalk.key
-- The key for a registered version of MTalk.
DOOR:ASI/script/MTalk.startup
-- The startup script. When a user enters the conference, this is
executed.
DOOR:ASI/user/<user_name>/MTalk.prefs
-- Preferences file for the user.
DOOR:ASI/user/<user_name>/MTalk.startup
-- User's custom script file. Not yet editable through MTalk
directly.
======================================================================
RUNNING MULTI-TALK WITHOUT A BBS
================================
A way to run MTalk without a BBS is to use an auxiliary device
handler. This type of handler allows a program to send and receive
data to and from the serial port. The AUX: device by Steve Drew,
from Fish Disk #79 does a nice job. Note that AmigaDOS' AUX: does not
work properly.
Type the following commands in Shell:
------------------
mount AUX:
MTalk <AUX: >>AUX:
------------------
Execute the last command only when the dial-in user has connected.
When MTalk is running, all of its inputs and outputs will be going
through the serial port.
======================================================================
USAGE
=====
MTalk
-----
Usage: MTalk <key> <value> ...
important keys:
NAME User's real name. The name can be "First Last", or
First_Last. The name must be 35 characters in length or less,
or else truncation takes effect. If the alias of the user is
not supplied, the NAME is used as the alias as well.
ALIAS User's alias/handle/nickname/etc. The name format is same as
that of the real name (above). If the real name is not given
the alias is used as the real name as well.
LEVEL User's access level. This should be passed from the host BBS
software. Access to conference commands is strictly based on
access levels. Default is 0. The minimum and maximum user
levels are 0 and 32767.
SERVER Server number, only applicable to the unlimited users version.
Default is 0. This is used for separate, independent
conferences. For example, you might have SERVER 0 handle a
conference for teenagers and SERVER 1 handle a conference for
older people. This is particular useful when these two groups
of people don't mix. You know, older people are generally
more mature and will possibly not mix well with younger
immature teenagers. When a user in the teenagers conference
checks out who is on-line in the conference, he or she will
not see who is on-line in the older people's conference.
Whispering across conferences is not possible.
Think of channels as rooms, conferences as houses, and servers
as house keepers. The more servers, the more houses!
Note that "MTalk" without any arguments will have a random name given
to the user, in the form of "User_x", where x is from 0 to 99. Other
keys and values are used to pass to doors you have have set up.
Keywords are not case sensitive. Note that the name and alias will be
copied from the arguments and changed, from the form "user_name" or
"USER_NAME" to "User Name". That is, the first letter of each word
is capitalized and the rest of the word will be in lower case. Also,
any "_" characters will be replaced with spaces.
Example:
MTalk NAME "Joe Sixpack" ALIAS "Drunken Sailor" LEVEL 1 PORT TR0
MTalkServer
-----------
Usage: MTalkServer [<server_num>]
<server_num> is used for multiple, separate, and independent
conferences. MTalkServer without an argument starts a server with an
identification number of 0. Note that you don't have to "run" the
server, it starts and detaches from the shell. The argument is
only effective with the unlimited users version. Once a server is
started, you may type "break <server_process_num" or use the
MTalkKillServer command to tell the server to quit. The server can
only quit if there are no users in the conference.
Example:
MTalkServer 1
MTalkKillServer
---------------
Usage: MTalkKillServer <server_num> ...
Stop any of the servers that had been started.
Example:
MTalkKillServer 0 1 2 3 4
======================================================================
DOORS
=====
MTalk was developed with configurability in mind. With the door
feature, you can set up a multitude of external CLI commands or
information files that the user can access. Access to these commands
will be based on user levels. They are executed the same way built-in
commands are. Read the file "DOOR:ASI/doc/MTalkEditor.doc" to learn
how the doors are configured.
======================================================================
SCRIPTS
=======
Like a Shell, MTalk supports command scripts. There are two types of
scripts. The first one is global, which every user executes when they
enter the conference. Sysop commands can be executed in this script.
The script is stored in DOOR:ASI/script/MTalk.startup. The default
command aliases are defined here. Change them as you wish. The
other script is the one that can be customized by each user. Note
that at the present, there is no way for the user to edit this file
from the conference. You may want to provide an editor door to
accomplish this task. The user script is stored as
DOOR:ASI/user/<user_name>/MTalk.startup.
The global script is similiar to "s:startup-sequence", while the local
script is similiar to "s:shell-startup".
======================================================================
ACTIONS
=======
Actions are special "commands" that each user can perform on himself
or herself, or other users. The actions file is in ASCII, and is
called DOOR:ASI/data/MTalk.ACTIONS. Each action entry has the
form:
[<action_name>],<user_level>,<require_2ndperson>,<1stperson_text>,
<2ndperson_text>,<3rdperson_text>
Note that each action must be on one line. Line feeds separate
actions.
The fields are defined as:
<action_name> is the name of the action, eg. "kick"
<user_level> is the minimum user level required to do this action.
<require_2ndperson> is "y" or "n" indicating whether this action
requires it to be done to someone.
<1stperson_text> is the text the action performer will see.
<2ndperson_text> is the text the person you are doing the action to
will see.
<3rdperson_text> is what the rest of the users will see when you
perform the action to.
<1stperson_text>,<2ndperson_text>,<3rdperson_text> can have the
following tokens:
%r - Will replace the token with the name of receiver of the action.
%s - Will replace the token with the name of the action performer.
%t - Will replace with "his" or "her", according to the sex of the
receiver.
%u - Will replace with "his" or "her", according to the sex of the
performer.
%v - Will replace with "him" or "her", according to the sex of the
receiver.
%w - Will replace with "him" or "her", according to the sex of the
performer.
%x - Will replace with "he" or "she", according to the sex of the
receiver.
%y - Will replace with "he" or "she", according to the sex of the
performer.
Construction Example:
---------------------
[ask],0,y,What's your sign?,%s is asking you for your sign!,
%s is asking %r for %t sign!
Application Example:
--------------------
Three users are on-line, namely "John", "Mary", and "Peter".
Situation #1: John asks Mary for her sign.
John> .ask Mary
-+- What's your sign? -+-
Mary>
-+- John is asking you for your sign! -+-
Peter>
-+- John is asking Mary for her sign! -+-
Situation #2: Mary asks John for his sign.
Mary> .ask John
-+- What's your sign? -+-
John>
-+- Mary is asking you for your sign! -+-
Peter>
-+- Mary is asking John for his sign! -+-
======================================================================
PROFANITY FILTER
================
A lot of people like swearing, but most of them don't think before
they do it. As a result, their listeners may get insulted. This is
where the profanity filter comes in. The way the filter works is
this: A swear message gets through only if both the sender and the
receiver has their filter turned off. If either one has it turned on
it won't get through. Think of it as a pipe, where water cannot flow
through if either end of the pipe is blocked. The filter file is
DOOR:ASI/data/MTalk.filter. The file is in ASCII containing words
(with or without wildcards) that are to be matched with each of the
words the user typed.
An example of a filter file is:
--------
bitch
ass
ass#(!|.|,|'?)
ass#(-)hole#(!|.|,|?)
--------
Let's suppose that a user called "Badmouth" types:
Badmouth> you bitch
Swear word(s) detected!
Badmouth> ass
Swear word(s) detected!
Badmouth> associate
--sent---
Badmouth> compass
--sent---
Badmouth> asshole
Swear word(s) detected!
Badmouth> ass-hole
Swear word(s) detected!
In order to create an effective filtering system you must know about
AmigaDOS pattern matching. If you are unfamiliar with them, either
leave the default filter file alone, or get a friend, who is familiar
with them, to edit the filter file. If you feel that there are other
very offensive words that I have missed, please let me know.
======================================================================
COMMANDS
========
All the command are documented as on-line help. They are stored in
DOOR:ASI/help/MTalk/
======================================================================
UPDATES
=======
Registered users are privileged to free updates (excluding magnetic
media cost and postal charges), when they are ready, for ONE year,
from the day of purchase. Bugs will be fixed, but I make no
promise that new features will be added. After a year, updates will
require a minimal fee. Note that since I'm still a student, I don't
always have free time (especially during semesters) to update the
software.
======================================================================
FUTURE MTALK RELATED PRODUCTS
=============================
Link -- Allow systems supporting MTalk to link with each other.
Dial-in -- Allow MTalk to be a host (without a BBS) so that users can
call in without a local user there to do the connection.
The host would include full credit/time accounting.
======================================================================
ACKNOWLEDGMENT
==============
Patrick Young -- For giving me the incentive to develop Multi-Talk.
R.I.P Resonance BBS.
David Riley -- For inspiration, and both destructive and constructive
criticism. Also for testing Multi-Talk and for editing
much of my documentation.
Greg Bastow -- For providing an excellent BBS for the Amiga Community.
Tunnel Vision BBS
(4 lines 604-535-9784/9785/9826/9846, 1.2Gigs, Fish!).
Dana Huggard -- For letting me beta-test my software on his BBS. and
for helping me distribute my utilities. Terra Firma
BBS (604-434-3665 1:153/765)
Steve Cole -- For being the first user of Multi-Talk and bug reports.
Also for offering to help me distribute my utilities.
The Forge BBS (11 Lines, 1.9Gigs, 2xHST)
Mike Oliphant;
Tom Conroy -- For technical help on programming, and for the DLG(tm)
BBS software. Good job, guys!
======================================================================
PRODUCTS RELEASED AND UNDER DEVELOPMENT
=======================================
Released:
- ECopy V1.00 (Hard/floppy drive utility)
- TeleWho V1.00 (DLG(tm) BBS utility)
- TelePage V1.00 (DLG(tm) BBS utility)
- RawIN.lib V1.00 (Input handling library for BBS door programmers)
- Multi-Talk V0.920 (Multi-user teleconference system)
- TeleReg V1.00 (User registry database allowing concurrent users)
Under Development:
- TeleBank (DLG(tm) BBS utility, a time/credit accounting system)
- an outdialer (BBS utility for dialing out from a multi-line system)
- GooeyTerm (Graphics terminal program)
- .snd/8SVX-IFF sound player (joint effort with Jeremy McDonald)
- numerous other minor utilities
Most of these programs are public domain, while the rest are
shareware.
======================================================================
TRADEMARKS
==========
Amiga, and AmigaDOS are trademarks of Commodore-Amiga.
DLG is a trademark of TelePro Technologies.
======================================================================
LAST WORDS
==========
Questions, ideas, comments, bug reports, etc. should go to:
Home Address: Sam Yee
4595 Nanaimo St.
Vancouver, B.C.
Canada V5N-5J5
Internet: samy@sfu.ca (starting September '92)
flui@sfu.ca (before September '92)
FidoNet: 1:153/765 (Terra Firma BBS 604-434-3665)