home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-13 | 17.0 KB | 428 lines | [ttro/ttxt] |
- ****************************
-
- This is a the documentation for Chat - an TCP/IP Chat Server for the Mac.
- It was originally written by Peter N. Lewis. Extensive modifications by me
- have turned it into version 2.
-
- If anyone would like to write some better documentation for Chat 2.0 -
- please do so and send it to me - I just do not have the time to do it.
-
- Email any comments/suggestions/complaints/etc. to: nneul@umr.edu
-
- This software is shareware - if you want to distribute it on any commercial
- medium (information services, CD, etc.) contact me first - I would
- appreciate a sample copy of the CD for example.
-
- The latest version of Chat and it source are available on my ftp site:
- pluto.cc.umr.edu in /pub/chat-20x
-
- I would appreciate a note from anyone who has done anything interesting
- with the source - and before anyone redistributes any derivative works.
- Also, please let me know if you are using the Chat room for something -
- I'd like to know it's worth it.
-
- Enjoy...
-
- -- Nathan Neulinger (nneul@umr.edu)
-
-
- **** WHATS NEW IN 2.0.4 ****
-
- Also, a beep has been added that is sounded when you receive a page.
-
- The About box has been changed.
-
- Chat is now distributed by default with log files for all channels turned
- off, this can be easily changed by filling in file names.
-
- The problem with Chat not quitting when you shut down or restart has been
- fixed. For you programmer types out there - let this be a lesson to you:
- "Never name the Quit item in your file menu anything other than 'Quit' - it
- was 'Quit Chat Room'".
-
- **** WHATS NEW IN 2.0.3 ****
-
- You can now switch between Foreground Only and Background Only versions
- of the Chat Room by simply changing the Background only bit in the size
- resource. Thanks to Peter Lewis for providing the code to make this
- possible. To cut down on size, the Chat room will be distributed in the
- foreground only mode.
-
- The utilities menu has been enabled. Features available in utilities menu:
- Disabling User Passwords
- Disabling Logins
- Disabling Whispers
- Disabling Yells
-
- Default settings for these options are read in from the 'CPrf' resource
- in the application. A 'TMPL' for editing this resource is also present.
- The default port has been moved from a STR resource to the preferences
- resource. The setting of disabling user passwords is restricted if their
- are no passwords present in the file.
-
- A new administrator command has been added - \SET to allow setting of
- those disabled options from within the chat room. For example - with the
- default admin password of "admin". The command "\SET admin logins off"
- will disable any new logins. Typing "\SET admin" will list the options.
-
- A new die rolling routine has been added - allows easy selection of
- different die configurations in the standard roll playing notation such as
- 2d20 to roll 2 twenty sided dice.
-
- **** WHATS NEW IN 2.0.2 ****
-
- By popular demand - I have reverted to Chat being a BackGround only
- application. However, instead of it only being background only, you have
- the choice. Two applications are distributed with the archive. The (BG) one
- is Background Only. The (FG) is Foreground Only.
-
- The only difference between the two is the "Only Background" bit in the
- SIZE resource, and the 0 or 1 value in Str #3 in the Globals string
- resource. I know it is a cheap way to program it, but I don't have all
- that much time to work on it. If anyone would like to write me a small
- little piece of Pascal code that would check to see what the Background
- Only bit is, please do.
-
- Plans for 2.0.3 - someone sent me some new code for the die rolling
- routines. Will put that in as soon as I have a chance to rewrite it to
- match the style of the rest of the program. Thanks to Erich at UIUC
- for the new code.
-
- Other Concerns: Chat logs can be placed in a specific location by
- typing the full path in the ChannelLogNames string resource.
- Eg. "HD 80:Chat Logs:Channel 1 Log" for example. Without the quotes! :)
-
- There is still a problem with Chat crashing after running for an extended
- time. So far - this appears to only affect Chat - it doesn't seem to bother
- any other programs that are running.
-
- Chat has been successfully tested and run under A/UX 3.0.1.
-
- **** WHATS NEW IN 2.0.1 ****
-
- Added the capability for leaving the user passwords string resource
- empty. Now, if there is nothing in the user passwords string resource
- the chat room will not ask for a user password on login.
-
- Also fixed a small bug - well, didn't actually fix it, just turned off
- Pascal Range Checking in the compile. Problem caused Chat to crash on
- any machine not running MacsBug.
-
- **** WHATS NEW IN 2.0 ****
-
- This is a new and improved version of Peter N. Lewis's Chat 1.1
- Macintosh TCP/IP Chat Server. It now supports changing of channels,
- changing of user names, and many other nifty features. To customize
- it you will need to use ResEdit - most of the program's strings are
- contained
- in resources so it can be customized rather extensively.
-
- New Commands:
- User Help /HELP
- Changing channel /CHANNEL ch-name
- Whispering to another user /WHISPER user
- Yelling to all channels /YELL msg
- Change your name /SET NAME newname
- Page a user to your channel /PAGE user
- List users on all channels /LISTALL
- List users on current channel only /LIST
- Rolling dice (for games I suppose) /DICE count
-
- Hiding from other users (Admin Only) \HIDE admin-pswd
- Unhideing from other users (Admin Only) \UNHIDE admin-pswd
- Disconnect A User (Admin Only) \KILL admin-pswd user
- Disconnect All (Admin Only) \RESTART admin-pswd
- Administrator Help \HELP
- User and Administrator Passwords
-
-
- The default TCP port to connect to: 1420
- The default user password for Chat 2.0 is "permission".
- The default admin password for Chat 2.0 is "admin".
-
- A sample telnet session to the chat server is enclosed.
-
- *************************************************************************
- The following is the documentation enclosed w/ Chat 1.1.0.
- *************************************************************************
-
- Chat 1.1.0 © Peter N Lewis, Mar 1992.
- This program is free, but I retain the copyright on it.
-
- This program was initially written to assist in the online meetings of the
- TopSoft group, a group of mac programmers on the Internet, dedicated to
- producing free, high quality software and sample code. To get more
- information about this group, ftp to syrinx.kgs.ukans.edu and check out
- the /topsoft directory, or send some mail to
- ts-request@syrinx.kgs.ukans.edu and ask to be added to the mailing list.
-
- • Contents
-
- What Chat Does
- Using Chat
- Customising Chat
- How It Works
- Limitations
- Small Print
- Warranty
- Fine Print
- Version History
- The Author
-
- • What Chat Does
-
- Chat is a background only application that lets Macs with MacTCP 1.1 serve
- as a very primitive IRC. Once Chat is running on your mac, multiple
- people can Telnet to port 1420 on your mac and have online discussions .
- Chat has no macintosh user interface, the only way to use it is by
- telneting to your mac. I wrote this to hold the weekly online meetings of
- the TopSoft group, which have proved very successful. Chat can support
- upwards of 12 users with the current memory partition (200k), and can
- support an arbitrarily large number of users given enough memory (though
- MacTCP will probably blow up if you try too many :-). Add about 5 or 10k
- for each extra users you want.
-
- • Using Chat
-
- You must have MacTCP 1.1 installed in order to use Chat.
-
- Put Chat or an alias to it in the Startup Folder (System 7) or make it a
- startup application (System 6 - note you will have to use "Selected
- Applications and DAs" since background only applications are not counted
- as Open Applications under System 6). Double-Click Chat to get it started
- now.
-
- Now you need to connect to Chat using NCSA/Telnet, MUDDweller, telnet on
- unix or VMS machines or some other method...
-
- NCSA/Telnet:
- Choose Open Connection from the File Menu, type in the name (or IP number)
- of your mac, a space and then the port number (1420).
-
- MUDDweller:
- Choose New, then choose TCP/IP Address from the configure menu and type in
- the ip numbers of your mac (or the name for newer versions of MUDDweller),
- and the port number (1420). Hit OK, and then choose Open Connection from
- the Configure menu.
-
- Unix:
- telnet <macname or ip number> 1420
-
- VMS:
- telnet <macname or ip number> /port=1420
-
- When you connect, it will ask you for a channel. Channels are defined in
- a STR# resource inside chat (no, I'm not going to make a fancy UI for
- editing it). By default, there are two channels, “normal” and “nolog”.
- The normal channel is logged to Normal Log on your system volume. The
- nolog channel is not logged (obviously :-). After that it will ask you
- for your name. You are now logged in, but Chat is very boring with only
- one person logged in, so get someone else to log in as well, or log in
- yourself several times. From now on anything you type will be echoed to
- all other users in a format like this:
-
- I type “Hello”, and others would see:
- PeterL: Hello
-
- Here is a sample session:
-
- **** Sample Session ****
- unixprompt> telnet mymac 1420
- Welcome to Peter's Private Party Line.
- Select a channel ("normal" is a good bet):normal
- Enter your name:PeterL
- Welcome. Commands start with a slash (/), everything else goes to the
- channel.
- Warning: Everything said is logged and may be used against you.
- /LIST
- FredB
- Hi Fred, whats up?
- FredB: Ahh, Peter you showed up. Nothing much, usual stuff.
- FredB: How's Chat coming along?
- FredB: How is Chat coming along?
- ****
-
- Here, I typed the lines:
- telnet mymac 1420
- normal (third line)
- PeterL (fourth line)
- Hi Fred, whats up?
-
- Try it out, you’ll get the idea pretty quick.
-
- There are several commands, they all start with a slash (/), to get a
- list, just type "/<return>":
-
- ****
- /
- Bad command. Commands are:
- /QUIT - exit chat, but why would you want to leave?
- /LIST - display a list of people on this channel.
- /DO <action> - display an action like "Yourname <action>"
- /ME <action> - same as /DO
- /SET <variable> <value> - set a variable (eg /SET echo true)
- everything else is sent to everyone on the channel.
- ****
-
- There is also a silent command which only the owner should use, QUITNOW
- (case IS relevant), which closes the server down. Don’t use this on
- someone else’s server! As the owner, you can change this command by
- changing the Globals STR#, but you probably wont need to, since no one
- reads the documentation anyway, they'll never find out about it :-)
-
- There is no way to change channels once you are on, or to listen in on
- more than one channel at once (except by connecting to the server more
- than once of course).
-
- • Customising Chat
-
- You can customise Chat by using ResEdit to change the STR# resource which
- contains the port number, the channel names, and log names, the Chat Log
- creator, the commands, and all the strings that Chat produces.
-
- • How It Works
-
- Chat is a very simple program, I wrote it in about three hours, plus I've
- done about a dozen more hours neatifying it, and a couple hours getting it
- ready to send out. The entire program (ignoring the TCP and other
- libraries) is only a couple hundred lines, and as such should be a good
- starting sample code for writing TCP applications (the pascal source code
- will be sent out as with most of my programs).
-
- All it does is listen to the TCP port specified in the STR# resource.
- When it gets a new connection it starts up another listener, and deals
- with the user, first getting their channel and name, and then echoing all
- their messages to the other users on that channel. It does this by
- keeping a list of all currently logged on users, when a line comes in from
- one user, it goes thru the list and echoes it (with the user’s name
- prepended) to all other users with the same channel.
-
- • Limitations
-
- Chat probably require the 128k ROM and System version 6.0 or higher. It
- may well only work with a Mac IIsi (not mine)-:, and System 7.0. It
- definitely requires MacTCP v1.1 or better yet 1.1.1.
-
- There are several caveats. Second, in a “crowded room”, you may have
- troubles with people all speaking at once (which is not a real problem for
- users using MUDDweller, but mucks up the screens of users who connect with
- other clients). The solution we adopted was to start and end you messages
- with a blank line, so people can tell when you have finished, and avoid
- interrupting you once you have started.
-
- • Small Print
-
- This program is free, don’t bother sending me any money for this one, it
- was only a days work anyway. If you like it, send me an Email message
- saying hello, or a postcard or something like that.
-
- You may distribute Chat any way you wish as long as you don't charge for
- it (reasonable download costs such as Compu$erve are ok I guess (although
- who would call Compu$erve's download costs reasonable?)). It would
- probably be a good idea to keep this documentation file with the program,
- but I'm hardly likely to check up on you now am I! I don't guarantee any
- support, but I always answer my Email (I'm not so good with snail-mail and
- those horrible little bits of paper and such!). If I don't answer Email
- its because your message didn't get to me, or my reply bounced (so try
- again, and include a valid Internet address if you can).
-
- You MAY NOT distribute it on any magnetic media you charge for without my
- express permission unless you charge less that US$3 for the disks (and no
- membership costs). I am sick and tired of seeing people selling
- PD/Shareware software for ten dollars a disk without any reimbursement to
- the authors. If you are a legitimate user group, let me know and I'll
- waive teh "no membership costs" restriction.
-
- • Warranty
-
- There is absolutely NO warranty, guarantee, hint, suggestion or
- anything else that would lead anyone to think that Chat do anything stated
- in this documentation. It usually does not destroy data (systems,
- hardware, etc), and has sometimes worked on my Mac with System 7.0. It is
- highly unlikely that it will work with older systems (pre 6.0 anyway) or
- with the 64k ROM. It might work with the other models, but I don't have
- them all, so I don't know (Anyone want to give me a IIfx (or one of those
- new beasts? How did they come up with such a terrible name???) so I can
- check for compatibility?). It might work with future versions of MacTCP
- (after 1.1.1), but who can tell? If it works on your system (or
- especially if it doesn't!), send me a postcard or some Email and let me
- know!
-
- • Fine Print
-
- Peter Lewis hereby disclaims all warranties relating to this
- software, whether express or implied, including without limitation any
- implied warranties of merchantability or fitness for a particular
- purpose. Does any one really read this stuff. Peter Lewis will not be
- liable for any special, incidental, consequential, indirect or similar
- damages due to loss of data or any other reason, even if Peter Lewis or an
- agent of his has been advised of the possibility of such damages. In no
- event shall Peter Lewis be liable for any damages, regardless of the form
- of the claim. The person using the software bears all risk as to the
- quality and performance of the software.
-
- • Version History
-
- Still to do -
-
- Perhaps a password facility.
- Private message facility - nope, I've decided not to do this.
- Uniteruptable messages
- Log play back
-
- v1.1.0
- ~Multiple channels
- ~New / command structure
-
- v1.0.1
- ~Word wrapping lines.
-
- v1.0.0
- ~Moved strings into resource fork.
- ~Improved strings
-
- *****
- * The Author
-
- Programs written by me:
- Anarchie 1.1.0 - Macintosh Archie client and FTP browser.
- Morpion 1.0.0 - A simple solitaire game.
- FTPd 2.2.0 - Macintosh FTP server.
- Daemon 1.0.0 - Macintosh multi-protocol daemon.
- Script Daemon 1.0.0 - Telnet->AppleScript gateway
- DeHQX 2.0.1 - BinHex decoder (use StuffIt Expander instead).
- Finger 1.3.7 - Macintosh Finger client/daemon.
- Talk 1.1.1 - Macintosh Talk client/daemon.
- MacTCP Watcher 1.1.0 - Display MacTCP state information.
- MacBinary II+ 1.0.2 - MacBinary II+ encoder/decoder.
- ObiWan 4.0.1 - Online help system.
- Bolo Finder 1.0.2 - Display the results from Mike Ellis' Bolo Tracker.
- Bolo RandomMap 1.1.0 - Generate a random map for Bolo.
- FetchNews 1.0.0b - Fetch News for use with NewsWatcher demo mode.
- Chat 1.1.0 - Multiuser primitive irc-like daemon.
-
- The latest versions of my programs are available from:
- amug.org:/pub/ftp1/peterlewis
- redback.cs.uwa.edu.au:/others/peterlewis
- and French versions of some of my programs may be available from:
- ftp.sri.ucl.ac.be:/pub.
-
- You can sometimes get the latest development versions from redback, but
- only use the development versions if you have some specific problem - in
- which case you should tell me, especially since the development versions on
- redback are often not the latest versions I have)
-
- Send postcards, comments, bug reports, wishes, and payments to:
-
- Peter Lewis,
- 10 Earlston Way,
- Booragoon, Perth, WA, 6154,
- AUSTRALIA
-
- or by electronic mail to:
-
- Internet: peter.lewis@info.curtin.edu.au
- Bitnet: peter.lewis%info.curtin.edu.au@cunyvm.bitnet
- UUCP: uunet!munnari.oz!info.curtin.edu.au!peter.lewis
- *****
-