home *** CD-ROM | disk | FTP | other *** search
- CLChatSystem 3.3 for AmiTCP
- ---------------------------
-
- (1) Copyrights
-
- The CLChatServer, the CLChatD, CLChatLink and the CLChatGUI are
- Copyright (C) 1994-1995 Oliver Wagner (o.wagner@pluribus.wupper.de)
- All Rights Reserved.
-
- The files are freely distributable as long as no modifications are
- made to any part of the package and all files are distributed in
- a single archive, accompanied by this documentation file.
-
- CLChatGUI is a MUI application. MUI is (C) 1993-1995 Stefan Stuntz.
-
- AmiTCP is (C) 1994-95 NSDI Inc.
-
-
- (2) Overview
-
- This is a multi-user multi-channel chat system somewhat based on
- IRC. It features:
-
- o unlimited number of users
- o unlimited number of channels
- o private messaging
- o automatic user identification
- o flood protection
- o NEW: user banning
- o NEW: multiple server capability with loop protection
- o channel operator privileges for setting channel topics
- and removing users from a channel
- o chat operator privilege for global channel operator status
- and removing users from chat completely
-
- The user frontend for the chat is a comfortable GUI client
- providing
-
- o easy user & channel operations
- o input history
- o automatic notifications of certain events via Deiconification
- or beep
- o builtin ARexx-Port
- o NEW: direct file transfers to remote users via IP
-
-
- (3) Origin
-
- The Chatsystem is originally part of the Connectline/Amiga BBS
- package which features an ANSI text client for online usage
- and the possibility to login to the chat during Hydra file
- transfers. The standlone ChatServer and the GUI client are
- only a subset of the whole package.
-
- Write to Connectline@pluribus.wupper.de for more information
- about Connectline.
-
-
- (4) Server Installation
-
- Copy the CLChatServer to AmiTCP:bin
- Copy the CLChatLink to AmiTCP:bin
- Copy the CLChatD to AmiTCP:serv
-
- Add the following line to AmiTCP:db/services:
- clchat/5555
-
- Add the following line to AmiTCP:db/InetD.conf:
- clchat stream tcp nowait root amitcp:serv/clchatd
-
- Add the following line to AmiTCP:bin/startnet:
- run >NIL: AmiTCP:bin/CLChatServer
-
- Optionally create a file named AmiTCP:db/ChatServer.MOTD
- containing a text file which will be display to each new user
- logging into the chat.
-
- Optionally create a file named AmiTCP:db/ChatServer.OPList
- containing a list of users which have the "Chat Operator"
- privilege. These users automatically receive channel operator
- status for every channel they join and can use the hidden
- server command "/KILL" to remove other users from the
- chat server. They may also the "/NETINFO" command to inquiry
- chat network information, and use the BAN commands to list,
- add or remove user bans.
- This file contains entries of the following form:
- Nickname Netaddress
- For example:
- Olli olli@lsd.wupper.de
-
- Optionally create a file named AmiTCP:db/ChatServer.Servers
- containing a list of remote servers allowed to connect to your
- server. This file contains a list of FQDN addresses or a
- standard AmigaDOS wildcard matching FQDN addresses. If this
- file is missing, all servers are allowed to connect.
- If you want to ban a single server only, you can add a
- exclusive pattern. For example, to ban server "lsd.wupper.de"
- only, add the line
- ~(lsd.wupper.de)
- The first line of the file may contain a number specifying
- the maximum number of servers to connect. This defaults to 8.
-
- You can make CLChatD and CLChatLink resident to increase
- startup speed and reduce memory usage; this might proof
- useful if you run or accept several connections.
-
-
- (5) Client installation
-
- No installation required, simply run the Client from either
- Shell or Workbench. It will prompt for your user information
- and the server to connect to. See the Client guide for
- more information about using it.
-
-
- (6) Using the server
-
- Using the server should be quite self-explainatory. Use the
- command "/?" to obtain a list of available commands.
-
- Channels are created automatically when a users joins
- and removed when the last user leaves. There is a
- persistant default channel called MAIN on which every
- new users starts. The first user entering a channel
- will obtain channel operator status. He may change
- the topic, kick other users, give or remove channel
- operator status from them.
-
- Specifc users may be banned from a server using the
- /BANADD command which is available to chat operators only.
- Bans are stored in the file "AmiTCP:DB/ChatServer.UserBans"
- and contain FQDN addresses or a AmigaDOS wildcard matching
- FQDN addresses. You may want to use wildcards of the form
- "#?@machine" because the user part of addresses is generally
- the same as the nickname which may be set by the user.
- For example, to ban users from lsd.wupper.de, use the
- entry
- #?@lsd.wupper.de
-
- Note that adding a line "#?" will make you quite lonely
- on your server.
-
- The server respons to three shell signals. CTRL^C will
- cause it to terminate instantly, CTRL^E will cause a
- restart (with reloading the executable) and CTRL^F will
- cause the server to output diagnostic stats into the
- shell window.
-
-
- (7) Connecting several servers
-
- After running your local server, use the command "CLChatLink"
- to connect to a different server. Usage is
- CLChatLink <remoteservername> <remoteport> [retrycount]
-
- The retrycount is optional; if specified, CLChatLink will
- retry a connection until the count runs out. If a already
- successfully established connection break, retries start
- back from 1.
-
- Note that the server-server protocol is quite bandwidth
- expensive, so you should *NOT* create a server for single
- users only.
-
- Note that nicknames must be unique on all servers; if servers
- connect and a nick collision occurs, both users are removed
- from their correspondending servers and a nick collision
- message is broadcasted.
-
- Server loops may be created; every server message carries
- a unique messageid which will be checked by every server
- it passes; dupes are filtered out. Server loops may raise
- broadcast speed esspecially on slow network connections.
- The server uses some kind of smart routing for private
- messages: if the destination of a private message is on a
- directly linked server, the message is send to this
- server only. If not, it is broadcasted, so no routing
- tables are necessary.
-
-
- (8) History:
-
- See the CLChatGUI.(doc|guide) for more specific GUI
- client revision information.
-
- Release 3.0
- -----------
- - the server now uses smart routing for private messages;
- if the destination server is a direct link, no broadcast
- is produced
- - added user banning capabilities
- - added /NETINFO server inquiry broadcast
- - added chat operator command output on /HELP if the
- use is a chat operator.
- - made /SERVERS command available to normal chat users
- - updated CLChatLink to correctly fill in the remote
- server name.
- - extended server msgs with a message id tag to filter
- message dupes produced by server loops.
-
- Release 3.1
- -----------
- - everything is now compiled with SAS/C 6.55. Also added
- server version directly compiled for 68030 CPUs.
- - added more detailed NETINFO output.
- - added /STAT command for chat operators. Also "/STAT *"
- broadcasts /STAT requests via net.
- - extended /USERS command with "S" option to display
- users with the servers they're on.
- - added /RESTART command for chat operators to have
- the server restart itself. Also CTRL^E will cause
- a restart.
- - added CTRL^F response displaying server stats to
- the shell.
- - fixed CLChatLink and CLChatD to fill in the IP
- address of remote servers for the /SERVERS command
- output.
- - fixed smart privmsg routing.
- - fixed user removement for flood protection and
- /KILL commands.
- - fixed may GUI client bugs & quirks.
- - GUI client now has IP file transfer option similar
- to DCC
- - GUI client now has a PING option to test links
- from user to user directly
- - fixed bug in the server which caused a stack
- overwrite on privmsgs > 230 bytes
- - both CLChatD and CLChatLink are now "pure" code
- and can be made resident for more efficient memory
- usage
-
- Release 3.2
- -----------
- - fixed local /STAT output to report only local
- users
- - fixed server validation bug; checked IP addresse instead
- of FQDN
- - fixed server reject error message
- - cleaned up GUI client scroller handling
- - added PLUBOT sample code
-
-
- Release 3.3
- -----------
- - CLChatLink was seriously broken; retry didn't worked
- and broken active links causes server crashes due to
- illegal messages.
- - increased stacksizes or reduced stack usage in all parts
- of the package due to frequent crashes on some setups.
- - some GUI client cleanup.
-
-
- (9) ARCnet
-
- There is already a public Internet chat network based on
- CLChat called the "ARCnet" (Amiga Relay Chat Network).
- See the client documentation for up-to-date information
- about this network and servers you can connect to.
-
-
- (10) Thanks must go to:
-
- Roy Millican - for encouragement and running the first
- public CLChat server on the InterNet ;-)
-
- James Atwill, `Mephisto'
- - for their help during multi server testing
-
- Jeremiah S. Junken
- - for the CLChatGUI icon
-