Mystic Relay Chat by Darryl Perry 2015

Version 0.01
  First release

Version 0.02
  Second release

Version 0.03
  Change the way the directories are represented.
  Moved the mrc_client.py to the main Mystic dir
  Used the mrc_config.py include file so that no editing will be needed on
  the client
  Added a means to shutdown the client from the command line. (CQUIT)

Version 0.04
  Added /BBSES command that will show all the connected clients, even
  if nobody is in chat.

Version 0.05
  Fixed an issue where if a user type /command (slash)command in the middle
  of the line, it would not get displayed.  MRC now checks the first char
  of the line to determine if it is a command or not.

  Added time.sleep(0.25) to the while loop of the mrc_client.py client.  It
  apparently was pegging out the CPU on some hosts.

Version 0.06
  Added code to the mrc_client.py to support windows as well as linux.
  
  Moved the WHOON and BBSES functionality from the MPL script to the python client.

  Added /channel command to show who all is in your channel with you.

  Added /chatting command to show only those users in chat.  It will show chatters
  in all channels

Version 0.07
  Added code that I hope will help to fix the timeout issues.  Reports of clients
  being connected but the port is closed.

  Attempted to make it so the same client app can be used for windows and linux.

  Fixed an issue where the MPL would try to delete a file without having closed
  it first.  This caused an infinite loop in windows instances.

  The /chatting and /channel commands will now show what channel the user is
  in on his local BBS.  In the future, I expect to make it so that when a client
  connects, it will download the chatroom.dat on the the server.

Version 0.08
  Still having reports of Linux users still having issues with keep alive.
  Tried some new things to see if it would help.
  
  Added private messaging to the MPL app.  The /T, /MSG and /TELL commands
  will allow users to send a private message to a connected user.
  However, if the same user is connected on multiple BBSes, then that
  user will receive the message on all instances.

  Added the /CLS command.  When invoked, it will clear out the text screen.

  Added the /SCROLL command.  MRC has a 300-line buffer.  When invoked, the
  user can scroll up and down, or page up (CTL-R) or page down (CTL-C) and
  view previous texts.

  Fixed the /CHANNEL command.  It will now show who is in the channel with
  you.

  Fixed an issue with the /WHOON command.  The /WHOON would kill the client
  if it encounted a user that was not in chat.  

Version 0.09
  Discovered that the private message option (/T, /MSG, /TELL) would not
  work if the target user had a space in the name.  Now the target user
  will work if only a partial name matches.

  Added the /ROOMS command.  /ROOMS will shows all non-default rooms.

Version 0.10 FULL
  Included mrc_server.py with the archive.  It is now possible to create
  separate independent MRC chat networks.


Version 1.0 <05/25/2016>
  This is a complete revamp of MRC.
  - Eliminated local chatrooms.  This was a problem because I didn't have a
    good method for updating all the chatrooms on the local BBS, if somebody
    changed the topic.  Opted instead for using a server-side chatroom list.
  + Added IRC-like chatrooms.  The chatrooms are now maintained on the server,
    and not on the individual BBSes.  These bahave more like IRC, where they
    only exist when somebody is actually in the room.  Once all users leave
    the room, the room is eliminated.
  ! fixed an issue where the MPL client would seem to hang.  If somebody
    hit a key, it would then wait for input, and stop all incoming text from
    being displayed until some text was entered.  It now will check to see if
    <ENTER> or <ESC> were hit before going into input line mode.  If <ENTER>
    or <ESC> were hit, it would just go back into waiting mode.
  + Added the ability for individual users to change their name prompts and
    their entrance/exit prompts.  Full MCI color codes are supported.
    Type /SET HELP for a list of configurable prompts.
    Type /SET LIST to see your current prompt settings
  + Users can now set their default room.  Use the '/set defaultroom myroom'
    command to define your default room.  You will be taken to that room when
    you join into chat.
  + Added the /LIST command to see the list of chatrooms with their respective
    topics.
  ! Revamped much of the way MRC did its job.  Move many of the tasks from the
    client to the server.
  ! MRC is now significantly different than the local Mystic teleconference, 
    that it no longer uses the ANSITELE and TELEHELP ansi files.  MRC now needs
    the MRCMAIN.ANS, MRCHELP.ANS and MRCSCRL.ANS in the Mystic TEXT directory.
  + The /SCROLL function has been changed.  Previously, the chat text was held
    in memory.  That has been eliminated, and now the chat log is held in a 
    file in the user's home directory.
  + The chat log can now be downloaded.  Use /DLCHATLOG to download your 
    current chat log.  You will be prompted as to whether or not to strip the 
    color codes.
  + Added a timestamp to the chat.  The user has the means to turn it off or
    on, and to decide which format (12 or 24 hour)
    Use '/SET USECLOCK ON (or TRUE) or OFF (or FALSE)' to turn it on or off
    Use '/SET CLOCKFORMAT 12 or 24' to set to 12 or 24 hour clock
  + Added the /VERSION command.  This will show the user the MRC versions of
    the Client MPL, the mrc_client.py and mrc_servery.py

Version 1.1
  ! Fixed an issue with /CLS in the MPL client.  It added two blank lines to 
    the chat window after it was all cleared.
  + Fixed up the display in the MPL client so that column 80 will get cleared 
		instead of having stray chars sitting there.
	! Removed the function that clears the server lists after x amount of 
    minutes.  There doesn't seem to be a need for this like I thought, and it
    was causing confusion in the lists.
	! Fixed an issue in the MPL client where using /JOIN with no following room
    name would result in a blank room name.
  + Changed the way that /BBSES displays the list of BBSes.  Previously, it 
    listed all the BBSES on a single line.  Unfortunately, the line length was
    too long for MPL to handle, so it was not displaying all the BBSes in the
    list.  /BBSES now shows each BBS on a line all by it self.
	+ Added a client side chat log.  It is found in MYSTIC/DATA/MRC/MRCCHAT.LOG
    This log will gather all chats even if nobody local is in chat.
  ! Fixed issue in the server where it would crash if it tried to receive data
    from a client that had dropped.
  + Added the Message Of the Day functionallity.  Use /MOTD on the client to 
    see the contents of the motd.txt file on the server.  The MPL client will 
    cause the MOTD to be displayed at user login.
