Chat Documentation


NOTE: This documentation is really out of date, alot of
commands are not described in here. Look at /HELP and \HELP
while connected to the chat room for more information.

READ THE FAQ!

=========
Contents:
=========

    * What is Chat?
    * Shareware Fees/Information:
    * Where can I get the latest version:
    * Restrictions/Requirements/Fine Print/Etc.
    * What is needed to run Chat?
    * How do I connect to Chat?
    * User Command Summary:
    * Administrator Command Summary:
    * Customizing Chat:
    * Configuring the IP Filter Option
    * About the Author:
    * Acknowlegments:

  Enclosed files:
    * Sample Session - Sample Login and Use of the Chat Room
    * Chat Release Information - Information about each version
    * Chat FAQ - Frequently Asked Questions

=============
What is Chat?
=============

Chat is a application that lets a Macintosh with MacTCP
serve as a simple internet chat room.  Once Chat is running
on your mac, multiple people can Telnet to your mac and
have online discussions.

The user portion of Chat has no macintosh user interface,
the only way to use it is by telneting to your mac.
However, the adminstrator can perform most of the tasks
necessary through the macintosh interface.

Chat can support as many connections as it has memory for -
and MacTCP will allow.

===========================
Shareware Fees/Information:
===========================

Chat is what is Shareware ($10 per machine for up to 5
machines). This only applies to  the machine that chat is
actually running on, you can have as many connections as
you want. (The more the better!) If you are a student or
something, and  legitimately cannot afford to send me the
shareware fee, send me a Postcard from your
home/college/current town instead.

The site license, if you want to run chat on multiple
machines is $50.

If you work for a software company, and cannot/do not want
to pay the shareware fee, I would accept a sample copy of a
product that you produce.

I would appreciate at the very least an email message from
anyone who uses chat, or has done anything interesting with
the source.

See "About the Author" for Email Address and Postal Address.


===================================
Where can I get the latest version:
===================================

Chat can be ftp'd from most of the major archive sites,
include any Info-Mac mirror. You can also always get the
latest version from pluto.cc.umr.edu in the /pub/chat
directory. The source to Chat is available in that
directory as well.

For World Wide Web users, the chat home page is:
    http://pluto.cc.umr.edu/chat.html


=========================================
Restrictions/Requirements/Fine Print/Etc.
=========================================

The Chat application may be uploaded to any online service,
provided that the entire archive is uploaded and no changes
are made to it. The source to Chat may not be uploaded to
any other FTP site or to any online service without
contacting me first, currently the only place you can get
the source is from my ftp site (pluto.cc.umr.edu).

If you want to include chat on any mass distribution
medium, such as a CD-Rom, or want to include it with any
other applications distributed with a book for example;
contact me first, I will make sure that you have the latest
version. In addition, I would appreciated, though I do not
require, a sample copy of the CD/book/etc.

If you want to redistribute the source to chat with Changes
or as a new program, please contact me via email first. I
would like to take a look at the application. Also, any
redistributed application or source must aknowledge both
me, and Peter Lewis in the source, and the About Box.

===========================
What is needed to run Chat?
===========================

You must have MacTCP 1.1 or newer to run Chat.

Currently, as of version 2.1, Chat requires System 7. If
there is interest in maintaining support for System 6, I
will put that support in. Email me if you want this done.

Due to constraints imposed by MacTCP, chat is currently
limited to 18 users online simultaneously.


=========================
How do I connect to Chat?
=========================

To connect to the chat room, you need a program which
supports telnet connections.

Programs which support telnet connections:

The default PORT number for chat as distributed is 23 - the
default telnet port. So, when connecting to the chat room
with telnet or another application, you do not need to
specify a port number, or if you do specify one, it should
be 23.

Mac:
   NCSA Telnet   -   Open Connection in File Menu
   MUDDweller    -   New, TCP/IP Address in Config Menu,
   Open Connection

Unix:
   Telnet        -   'telnet address' or 'telnet address port'

VMS:
   Telnet        -   'telnet address' or 'telnet address
   /port=port'

Once you are connected, simply fill in the requested
information on screen. After the initial login screen,
anything you type will be sent to the screen. If you type a
line that begins with "/" or "\", it will be treated as a
user or administrator command, respectively.

Both user commands and administrator commands are
documented next.


=====================
User Command Summary:
=====================

The long form of the command name is listed here, see /HELP
in the Chat room for information on the abbreviated/short
forms.

COMMAND:
  Usage                       What it does

?:
  /?                          Displays list of user commands

HELP:
  /HELP                       Displays user command help

ABOUT:
  /ABOUT                      Display info about the chat room.

ME:
  /ME                         Displays information about yourself

QUIT:
  /QUIT                       Exits the chat room.

LIST:
  /LIST                       Lists users on current channel

LISTALL:
  /LISTALL                    Lists users on all channels

DO:
  /DO text                    Sends text as an action.

YELL:
  /YELL text                  Sends text to all channels.

PAGE:
  /PAGE user                  Pages 'user' to current channel.

CHANNEL:
  /CHANNEL                    Lists available channels.
  /CHANNEL channel            Changes to channel 'channel'.

WHISPER:
  /WHISPER user text          Sends 'text' to user 'user' only.

MSG:
  /MSG                        Shows messages on the message board
  /MSG text                   Adds a message to the message board

INFO:
  /INFO                       Displays info about logins, users, etc.
  
SHOW:
  /SHOW                       Shows current settings of user variables

CLEAR:
  /CLEAR                      Clears screen with blank lines

SET:
  /SET                        Lists available user variables.
  /SET var value              Sets value of variable 'var' to 'value'
  /SET NAME name              Changes your name to 'name'.
  /SET SUBJECT text           Changes the subject of this channel
  /SET ECHO on/off            Sets whether you see your own messages.
  /SET AWAY on/off            Sets whether you are away from terminal
  /SET AWAYMSG text           Sets msg to be displayed when away
  /SET USERINFO text          Sets msg to be displayed when not away
  /SET IGNORE name            Sets a user to ignore msgs from
  /SET ANNOUNCE on/off        Sets whether you want to see announcements

RECENT:
  /RECENT                     Lists recent users of the chat room

ROLL:      Roll some dice
  /ROLL #d%                   Rolls #, % sided dice.
  /ROLL                       Rolls one twenty sided die.


==============================
Administrator Command Summary:
==============================

In all the following commands, 'pw' is the adminstrators
password. The chat room will display admin command help if
the password is incorrect or missing. The default
administrator password is 'admin'.

?:
  \?                       Displays list of admin commands

HELP:
  \HELP pw                 Displays administrative command help

KILL:
  \KILL pw user            Kicks a user out of the chat room.

QUITNOW:
  \QUITNOW pw              Quits the chat room application.

RESTART:
  \RESTART pw              Kicks everyone off chat room, and restarts.

HIDE:
  \HIDE pw                 Hide from /LIST and /LISTALL

UNHIDE:
  \UNHIDE pw               Show yourself in /LIST and /LISTALL

LISTALL:
  \LISTALL pw              Lists all users, include hidden ones.

GAG:
  \GAG pw user             Silences a user
 
UNGAG:
  \UNGAG pw user           Allows a user to speak again

SHOW:
  \SHOW pw                 Displays current admin variable settings

INFO:
  \INFO pw                 Displays information on chat room status

SET:
  \SET pw var value        Sets the value of an administrator variable.
  \SET pw                  Lists administrative variables.
  \SET pw LOGINS On/Off    Allow user logins
  \SET pw YELLS On/Off     Allow /YELL command
  \SET pw WHISPERS On/Off  Allow /WHISPER command
  \SET pw PASSWORDS On/Off Require password at login
  \SET pw BEEP On/Off      Beep on Login
  \SET pw PROMPT On/Off    Prompt for channel at login
  \SET pw SUBJECT text     Set subject of current channel
  \SET pw USERSUB On/Off   Allow users to change subjects

=====================
Customizing Chat:
=====================

Almost all of the strings and settings for chat are stored
in the resource fork.

The strings can be edited to suit your particular
environment, however, do not add or remove any strings, as
the program will not be able to find them. The only
exception to this are the Chat Log Filenames, Chat
Channels, Chat Channel Subjects, User Passwords, and Admin
Passwords string resources, you can add to these to add
more channels, etc.  Remember to add to all three channel
string resources at the same time (Log File, Channel Name,
and Subject).

The 'CPrf' resource holds the default preferences for the
Chat Room.


=================================
Configuring the IP Filter Option:
=================================

There are two STR# resources in the application that deal
with IP filtering. They are labelled Allow and Deny. Here
is how they work:

All address are assumed to be allowed from the start If a
match is found in the Deny list, the connection is denied
unless a match is also found in the Allow list. This is so
you can do stuff like:

Deny: 10.20.30.*
Allow: 10.20.30.40

To deny all hosts in network 10.20.30, but allow one of
those hosts to connect, 10.20.30.40.

You can only put IP addresses in the lists, no host names.
The '*' is a wildcard and matches all values of that
field.

I am not going to going into much more detail about how to
use it, this should be enough.

=================
About the Author:
=================

I am a Computer Science major at the University of Missouri
- Rolla, originally from Connecticut. I ran across chat
while looking at TCP/IP applications for the Mac, and
decided to customize it for my own purposes. It has evolved
greatly since then, and is used by people all across the
world.

I can be reached via email on the internet at "nneul@umr.edu".

My postal address:

Nathan Neulinger
53 Sleepy Hollow Lane
Stamford, CT  06907-1734
USA

===============
Acknowlegments:
===============

Thanks to Peter Lewis (peter.lewis@info.curtin.edu.au) for
the original (1.1) version of Chat, and for much help in
getting Chat to where it is today.

Thanks to Erich for the new and improved die rolling
routines. For those who are interested, take a look at his
re-release of chat, called NetRPG, for playing Role Playing
Games over the internet.

Thanks to Jon Stevens (root@dolphin.csudh.edu) for
extensive testing, and comments on how to improve chat.

Thanks to everyone who has written me about Chat with
comments, suggestions, and anything else for that matter.
It is your suggestions and wishes that have given me the
directions for how to improve chat.  Keep 'em coming.