RALF'S CHAT V1.0.2 The official website is www.ralfchat.com Please leave a message at the message board and vote for my script at www.cgi-resources.com. Donations help to keep the script alive, if you want to donate something please goto //www.ralfchat.com/donation.html COPYRIGHT The Script and this readme may only be given away "as is", unmodified and complete. The Script is Freeware. Created and Copyright 1999-2001 by Ralf Gueldemeister . You are not allowed to sell this script. If you want to use it for commercial purpose mail me. WARNING This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. DEFINITION OF FREEWARE Freeware is free software but it is not public domain. Although it is available for free, the author retains the copyright to the application and all files within it, which means that you cannot do anything with it that is not expressly allowed by the author. You may use Freeware software yourself and you may distribute it to others so long as all files are left unchanged. You may not distribute Freeware software in any way which leads to your making a profit from it. This means that you can only charge enough to cover the costs of media, postage etc. involved in distribution. Also you may not use it as an incentive to buy something else. If you are in any doubt you should contact the author. The author's permission must be obtained before a Freeware application is included on a magazine disc and P.D. libraries should, as a matter of courtesy, inform the author when they are planning to distribute the application. SECURITY Please read the following points carefully: - Secure your data directory: Either put it out of the www root /home/user/www/chat/ /home/user/data/ and set $data_dir in config.cgi accordingly. Or use a .htaccess file to protect the data directory. If you don't take care of this it could be possible that everyone may read the data files! - Change the master password: It is really important to change the master password, otherwise everyone may execute the master commands like /kick, /ban, /userlevel.. Change $masterpassword in config.cgi! - Try to chmod 700 (only owner may read, write and execute) all files and directories, especially if you are on a virtual server. If this doesn't work use the given permissions (755/777). INSTALLATION - read the security section - upload *.cgi, html/* and messages/* (all in ASCII mode!) somewhere on your server where cgi-scripts are allowed - chmod 755 *.cgi (owner all, group and others read and execute) - make the data directory "data" (read the security section) - chmod 777 data (all read, execute and write) - if you want logs: mkdir logs; chmod 777 logs - run the chat script with http://yourserver/path/chat.cgi - register your nick, login and get admin rights with "/userlevel nick 2 mpw". This is the only time the masterpassword is needed (if you are not using the Pro version) - change $masterpassword in config.cgi CONFIGURATION You can configure the chat script in the config.cgi file. You should at least change $masterpassword. All the HTML files are in the html sub directory. UPDATE FROM 0.12 TO 1.0.2 - backup all files - delete all *.cgi files and config.pm - delete the following files in the data directory: stillalive, messages, banned and private.* UPDATE FROM 1.0 TO 1.0.2 in shared.cgi, chat2.cgi and chatpm.cgi replace all "{}" with "{ sleep 1; $file_tmp++; if ($file_tmp > 30) { unlink(glob("$data_dir/*.tmp")); $file_tmp = 0; } }" PRO VERSION There is a Pro version of Ralf's Chat available that has DBI (data base interface) support (eg. for MySQL, PostgreSQL, IBM DB2..) and a streaming / real time feature. For details contact me at work@ralfchat.com FAQ Q: Can I use this script with Windows NT? A: For using the chat under NT you have to try the following hints. - set $flocking to 0 (in config.cgi) - in config.cgi change $data_dir to "/your_absolute_www_path/path_to_chat/data" - in all scripts change "#!/usr/bin/perl" to "#!/bin/perl" - rename *.cgi to *.pl and change $script*_name accordingly Good luck! Q: I always get the error "creating data/nicks failed", what is wrong? A: You forgot to create the data-directory "data" and/or to chmod 777 (all all) it. Q: What is the masterpassword or how do I login as administrator? A: There is no special account for administration. You can set the admin rights with /userlevel. Q: How to setup mutiple chats? A: - Create an own directory for every room and one shared data directory - Set $data_dir in every script to this data directory - Set $data_msg to "messages.room_name" - Set $data_stillalive to "stillalive.room_name" - Set $scriptlink to 1 - adapt html/scriptlinks.cgi - That's all Q: How can I view the number of users online? A: SSI (SHTML): "" or "" PHP: "" Q: How can I view the names of the users online? A: SSI (SHTML): "" or "" PHP: "" Q: I get lots of errors running the script, what is wrong? A: You probably have Perl 4 installed. But Ralfs Chat requires Perl 5. Try to set the path in the first line to #!/usr/bin/perl5. Else update your Perl version. Q: How can I add super users? A: Just enter "/userlevel nick 1" if you are an admin. Q: What does chmod mean? A: Chmod (change mode) is the command to set permissions on UNIX systems. You can chmod files either via Telnet (enter chmod 777/755 file) or in your FTP-Programme (try right click on the file, check your FTP-manual). CHANGES - Version 1.0 New features: /away command bad word filter super user feature (userlevels) smiley/replace feature real logout function included improved action mod (more secure, works in private msgs, too) show users on login page possible limited length of nickname and password Bug fixes: stillalive check in chat sub (should prevent annoying logout messages) fixed login sound fixed refreshing problem in MSIE 5.5 fixed font color security hole Cosmetic changes: config.pm --> config.cgi because of misunderstandings, incompatibility and security issues number of users on /list_nicks mpw /help split into /help and /help_master check if email is defined on lost password function cleaned up the html files Technical changes: rewrote most of the script, changed format of data files removed system() calls - use unlink instead (more compatible) stopped to develop noframes version regexp including variables bug fixed (all variables are now quoted) split config.cgi into config.cgi and shared.cgi split scripts (chat??.cgi (more frequently used scripts), messages and html) Pro Version: DBI (data base interface) Support streaming / real time feature TODO local time zone, time and date of posting session ids real mutiple rooms, private rooms /ignore /seen ?close chat feature/kick all/set limit to 0 THANKS - to all support members, the beta testers, the translators and donators - to my brother who supports me whenever possible - Markus and The X-Files World Order for inspiring me - to everyone else using my script for help me keeping the script alive