Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MRC Chat platform

From The Bottomless Abyss BBS Wiki
Revision as of 19:28, 30 November 2023 by StackFault (talk | contribs)

Intro

The Multi Relay Chat platform is undergoing a major transformation. Thanks to Gryphon for the initial version.

This transformation will happen in multiple stages and feedback is always appreciated.

Developers

If you are a developer and would like to port MRC to your platform, please follow the following process to get access to the protocol documentation.

  1. Create an account on the Wiki
  2. Send StackFault a BBS e-mail on The Bottomless Abyss, a netmail or Internet email to: sysop (at) bottomlessabyss (dot) net)
  3. Once your request have been approved, you will have access to the MRC development namespace here: MRCDoc:MRC Protocol

MRC Evolution Stages

Stage 1

Many issues existed in the client portion of MRC. These issues have been resolved with the release of an updated client replacing the MPL script.

Backward compatibility with v1.1 is maintained allowing a mix of older and newer clients to interact while a transition is worked out.

Quick adoption of this release have seen many BBSes adopt the new client.

Stage 2

The server was moved to a DC hosted server to ensure better availability and allow for some minor performance improvement.

A new server codebase is being developed from scratch to address many of the issues identified previously while maintaining backward compatibility with the v1.1 implementation.

Stage 3 - 2018

Cross-platform interoperability documentation is being developed to allow the platform to extend beyond the Mystic BBS base.

This will allow other platforms to interact easily with the platform, creating a uniform chat experience.

If you are a developer and wish to create a client for a platform not listed below, please reach out to StackFault and ask for access to the development team.

List of platforms currently interested

  • Mystic
  • CNet
  • WildCat
  • Synchronet
  • Ami-Express

Stage 4 - 2019

Deployment of the new server have been completed on March 5th 2019.

The release of a new MRC package containing the Mystic UI and Mystic client was made at the same date.

This release is now called Multi Relay Chat and shows v1.2.5.

Many new options are included in the release, including:

New Server code includes the following improvements

  • Multi-threaded architecture
  • Message queuing
  • Improved validation of connections
  • Improved keep-alive mechanisms
  • Faster roundtrip of messages
  • Increased connection capacity
  • BBS information screens
  • Better announcement of connecting users
  • New server commands
  • Many more smaller improvements

New Mystic UI improvements

  • Handle auto-completion
  • Better support for customization
  • Many more smaller improvements

New Mystic client improvements

  • Auto-reconnect within the client
  • Support for the new server commands
  • Improved keep-alive mechanism
  • Support for server-side managed rooms
  • Many more smaller improvements


Screenshot of current 1.2.6-dev

New from 1.2.5:

  • Latency reporting
  • New STATS server command (available via /QUOTE)
  • New TIME server command (available via /QUOTE)
  • Many small issues and optimizations
  • Welcome message when entering room with number of users
  • Removed the server generated "joined room" message for self

Stage 5 - 2023

Deployment of the new server have been completed on November 30th 2023.

The release of a new MRC package containing the Mystic UI and Mystic client will be released before the end of the year 2023.

Many new options are included in the release, including:

New Server code includes the following improvements

  • Migration from Python 2 to Python 3 codebase
  • Deterministic routing only sends messages to BBSes with currently connected users to the room, increasing privacy
  • SSL support
  • More aggressive bot handling
  • BBSES now supports keyword search
  • New CHANGELOG command to provide server-side features changelog
  • New HELP system to provide server-side commands help
  • New ROOMCONFIG feature to allow room configuration and persistence
  • New IDENTITY system to register nick and provide basic trust level implementation (WIP)
  • New TOPICS provide history of room topics

New Mystic UI improvements

  • Large screens support from 80x24 to 132x60 (requires Mystic a47+)
  • Modular theming and multiple resolution configurations (work in progress)
  • Color switching moved from PgUp/PgDn to Right/Left
  • New scrollback buffer (no longer rely on Mystic ANSI viewer)
  • Non-blocking scrollback buffer (messages gets loaded in the background)
  • Scrollback can be accessed using /scroll or PgUp
  • New Mentions buffers (messages mentioning you are aggregated in an easy to review buffer)
  • Mention buffer accessible using /mentions or Del
  • Mention counter on the main screen, visiting the buffer resets the counter
  • Replying to a Direct message (/R) stays in that context until exited using Esc
  • Direct message context shows the input bar as red for better visual indication
  • Twit filter now available using /twit and /set twitfilter
  • Broadcast shield is now available using /set shield
  • Scrolling banner (at the top) can now be disabled using /set scrolling
  • Client help redone and now on 2 screens and available using /?
  • /quote no longer required to send server commands
  • CTCP support
  • Screen refresh optimization
  • Added a welcome screen for new users, can also be seen using /welcome
  • Conversion script to convert old MRC data files to new format for upgrades
  • Password prompts for sensitive prompts now masks password entry
  • Adjusted timing to reduce load around filesystem access

New Mystic client improvements

  • New Python 2 and Python 3 clients provided
  • Duplicate process check to prevent having more than 1 client running
  • SSL support
  • All configuration moved to a config file (ie URL, port, etc)

Screenshot of current 1.3.2-dev

Feedback

Feedback is appreciated, please report any issues found to StackFault, either in MRC directly, by logging in to The Bottomless Abyss or via netmail.


Brainstorming

Here we can list ideas for future features for MRC.

  • Vote on a user being muted.
  • /whois <username> command - The whois command would allow a user to set one line of text about themselves. ie: Stackfault - SysOp of Bottomless Abyss BBS Member of: Phenom.
  • Loyalty points: If a particular user helps another user of the chat, that user can +1 the helping user. And would be issued 1 (one) help point. This information would be displayed with the /whois command.
  • Offline messaging
    • If you send an offline message to a user, Your private message will be sent and when that user logs on again, the message(s) would be delivered.