User Tools

Site Tools


Sidebar

Overview

Installation

MYSTIC -CFG

Visual Customization

Mystic Utilities (MUTIL)

Scripting Custom Modules

Quick Reference

What's New

menu_commands

MENU COMMAND REFERENCE

Related Categories
Themes
Menus

Mystic BBS has a completely configurable and incredibly flexible menu system that allows for full control over the visual appearance and functionality of the BBS. Each menu consists of the basic settings, and a list of menu commands that define what options are available on each menu. These menu commands can then be assigned one or many “actions” to perform when the item is selected. Each action may also have parameters that can be or will be required to be specified in the “data” field.

This section contains a reference to all of the menu actions available in your Mystic BBS as well as any information needed that relates to those actions.

The syntax of each menu command is:

Data: available data switches / syntax

A description of the menu command and available data switches 

Note: Mystic has around 140 different menu commands, not all of them are documented here yet.


AUTO SIGNATURE

An Auto signature is an user created signature that can optionally be automatically appended to each message posted by the user. The following menu commands are available for manipulating the auto message:

AD - Delete Auto Signature

Data: None

Deletes the user's auto signature

AE - Edit Auto Signature

Data: None

Edits the user's auto auto signature

AT - Toggle Auto Signature

Data: /NOASK

Asks the user if the want to enable or disable the auto signature.  If
the /NOASK option is supplied on the optional data field, then Mystic
will toggle the setting without prompting with a Yes/No question.

AV - View Auto Signature

Data: None

View the user's auto signature

BBS LIST

Mystic can have any number of different BBS lists, identified by using a “List ID”. The List ID is simply the base filename used to store the BBS list database on disk, so it can be any valid filename but should never include any file extension, just a basic word of text. The following section contains BBS List menu commands:

BA - Add new entry to BBS list

Data: <LIST ID>

This option allows the user to add a new entry to a BBS list.  The BBS
list must be specified using the <LIST ID> in the optional data.
             

BL - List entries in a BBS list (detailed view)

Data: <LIST ID>;SEARCH

This option allows the user view the BBS list using the detailed list
mode.  This provides more information than the typical abbreviated list
The <LIST ID> must be specified in the optional data.  If ";SEARCH" is
appended onto the List ID, then Mystic will prompt and allow the user
to search for entries in the BBS list.

BS - List entries in a BBS list (abbreviated view)

Data: <LIST ID>;SEARCH

This option allows the user view the BBS list using the abbreviated view
mode.  This provides more information than the typical abbreviated list
The <LIST ID> must be specified in the optional data.  If ";SEARCH" is
appended onto the List ID, then Mystic will prompt and allow the user
to search for entries in the BBS list.

EXTERNAL DOORS

Mystic BBS supports DOOR.SYS, CHAIN.TXT, and DORINFO1.DEF DOS-based door formats, as well as Mystic's own native DOOR32.SYS format for modern BBS doors and games. These drop files are always created in the node's specific temporary directory. For example, if a door is executed on node 1, then the drop files will be created in the temp1 temporary directory.

In the Linux and OS X versions, Mystic automatically redirects the standard input and output of external programs, allowing many programs that are not even designed for BBSes to be used.

Each door action has a command line which will be executed by the operating system when the action is executed. There are a number of codes that Mystic will replace with specific values if they are found in the command line:

 %# = User's unique ID
 %A = User's real name (spaces are replaced by an underscore)
 %B = User's real name (with spaces)
 %C = The current user's codepage (CP437 or UTF8) (added 1.12 A39)
 %H = The current socket handle (added 1.12 A34)
 %N = The current node number (added 1.12 A34)
 %P = The node's temp directory
 %R = User's handle (with spaces)
 %T = User's time left in minutes
 %U = User's handle (spaces are replaced with an underscore _)
 
 %0 = The current communication handle (socket handle)
 %1 = Depreciated. Always returns a "1" now
 %2 = Depreciated. Always returns "38400" now
 %3 = The current node number
 %4 = User's IP address
 %5 = User's hostname

The following commands are available for executing external programs and doors:

DD - Execute External Program

Data: <command line to execute> /DOS
       
Creates the DORINFO1.DEF, CHAIN.TXT, and DOOR.SYS drop files in the node's
temporary directory.  In case sensitive file systems, these files are
created with full UPPERCASED letters.  If the /DOS option is appended on
to the end of the command line, Mystic will create the drop files in a
DOS text file format, even when used in operating systems like OS X and
Linux that used a different text file format.

D3 - Execute DOOR32 Door Program

Data: <command line to execute> /DOS

Creates the DOOR32.SYS drop file in the node's temporary directory.  This
file is always created in lower cased letters on all operating systems.
If the /DOS option is appended on to the end of the command line, Mystic
will create the drop files in a DOS text file format, even when used in
operating systems like OS X and Linux that used a different text file
format.

FILE BASES

Mystic supports an unlimited number of file bases and file groups which can contain any number of files within them. Files can be listed using arrow and page keys to scroll through the list, and archives can be interactively browsed and searched in the same way (including archives within archives). Mystic fully supports long file names in both file directories and file names, and has extended support for things like ANSI within .DIZ files, and more.

This section contains menu actions that are relative to Mystic's file areas.

FA - Change File Base

Data: "+", "-", <Base ID>, /NOLIST, or None

This action will list the File Bases in the user's current File Group
and prompt the user to select a new File Base.  If /NOLIST is supplied in
data, then Mystic will prompt for the File Base and not automatically
list them first.  If the data is set to "+" then Mystic will move to the
next File Base that the user has access to.  If the data is set to "-"
then Mystic will move to the previous File Base.  Finally, the Base ID
can be supplied (as shown in the File Base Editor) to automatically change
the user into a specific File Base.

FD - Download Files

Data: None

This command will prompt the user to download file(s).  If the user
currently has files queued for download, Mystic will ask them first
if they would like to download the queued files.  If the user selects
no or does not have any files in the queue, Mystic will ask them for
a filename to download, and then search the File Bases to allow the
user to download the requested file.

FF - Download New/Master File List

Data: /NEW, /GLOBAL, None

This command will compile a list of files in the File Bases based on
the user's access levels.  If no option is supplied, Mystic will
generate a list of all files in the File Bases in the user's current
file group.  If /NEW is supplied, Mystic will generate a list of only
new files.  If /GLOBAL is supplied, Mystic will generate a list that
will include all File Bases within all File Groups instead of just the
current group.

FG - Change File Group

Data: "+", "-", <Group ID>, or None

This action will list the File Groups that the user has access to,
excluding any groups flagged as "hidden" and then prompt the user to
select a File Group.  If the data is set to "+" then Mystic will move to
the next File Group.  If the data is set to "-" then Mystic will move to
the previous File Group.  Finally, the Group ID can be supplied (as shown
in the File Group Editor) to automatically change the user into a specific
File Group.
      
When joining a file group, Mystic will display the "fgroup#" display file
from the theme's text directory if it exists, where # is the group's ID.

FI - File Base Index

Data: <template filename with no extension>, or None

The File Base Index system presents users with a list of all File Bases,
sorted by group, along with statistics of total and new files for each
base.  Users can scroll through and search through this list, and select
File Bases to list files in as well as "subscribe" and "unsubscribe" to
specific bases.
                       
The data field provides the template name which if left blank defaults to
"file_index" and points to the template file to load.  This field should
not include a file extension as .ini will be appended to it.
          
The template file contains all of the visual configurations for this
function as well as many other options that can completely customize the
experience.  For example, one could copy the default file_index.ini
template to file_change.ini, and then modify its visual and functional
settings so that it pops up a scroll box of File Bases for the user to
change their current File Base.
         
The same could be done to pop up a list of Files Bases that allows the
user to toggle which bases will be included in scans for new files.  To
use these alternative templates, simply execute FI with the data field of
"file_change" or whatever the custom template filename you've created is.

FL - List files in current File Base

Data: SEARCH, None

This command will list files in the user's currently selected File Base.
If the word SEARCH is in the data field, Mystic will prompt the user to
enter a file mask to search for files which match a certain file mask.

FN - Scan for, and list new files

Data: "A", "C", "G", None

This command will scan and list new files uploaded since the last time
the user scanned for new files.  If no data is provided, Mystic will
ask the user if they'd like to scan the current base or all bases in
the user's current File Group.  If data is A then Mystic will scan all
File Bases within all File Groups.  If data is G then Mystic will scan
all File Bases in the current group without prompting.  If data is C
then Mystic will only scan the user's current File Base.

FP - Set new file scan date

Data: None

This command will allow the user to set their new last file scan date
to a user inputted date.  After entering the date the user will be
asked if they would like to set the date for the current File Base or
all File Bases.  Finally, Mystic will reset the last new file scan
date for appropriate Bases.

FS - Search for files

Data: None

This command will allow the user to search for files by performing
a partial text match against the filename OR any text in the file
description.  Mystic will first present the "fsearch" display file
if it exists, then prompt the user for search criteria.  Next the
user will be asked if they would like to search the current Base,
all Bases in the group, or all Bases in all Groups.

FU - Upload a file

Data: /current

This command will allow the user to upload a file.  If the BBS is
configured to place uploads in a specific File Base, then the file
will be uploaded into that base.  Otherwise, it will be uploaded to
the user's currently selected File Base.
           
Mystic will first display the "upload" display file if it exists, and
next ask the user for the file transfer protocol unless the user has
selected a Default protocol in which case it will skip this step.
          
Finally, Mystic will prompt to press enter to begin the transfer.  If
the transfer protocol is anything that was created within the last 25
years or so, chances are Mystic will never even need to ask for
filenames.
          
In fact, a user can upload as many files as they want at one time without
ever entering any file names or information about the file!  Mystic
can detect all of the upload files, test them, import descriptions if
they exist, and optionally prompt the user for descriptions if it is
configured to do so (and there wasn't a .DIZ to import).
          
In the event a protocol is chosen from the stoneage, like Xmodem, then
Mystic will simply ask for the filename before beginning the transfer.
          
If the /current option is specified, Mystic will attempt to upload to 
the current file base even if a specific file base has been configured
for uploads

FV - View contents of a file

Data: None

This command allows the user to view the contents of a file in the File
Bases.  The user is prompted for a file name, and the filename is then
searched for throughout all Bases in the user's current file group.  If
a file is found, the contents will be listed and the user can navigate
through its contents, view and download files within the archive, as
well as view, search and download contents of archives contained with
that archive.         

FZ - Toggle File Bases for New Scan

Data: /ALLGROUP, None

This command allows users to select the bases that are included in their
scan for new files during a new file scan.  The bases listed are the
bases in their current group.  If the /ALLGROUP option is in the data
field then Mystic will present them all File Bases in all File Groups
as long as they meet access requirements.

GENERAL COMMANDS

GD - Show a display file

(For information on Random Display Files, see Display Files)

Data: ([FILE]) or (@[BAUD]@[TRUE/END/FALSE]@[FILE]) [/NEW] [/ABORT] [/MCI]
    
This command sends the contents of a display file to user.  There are a
vast number of optional data which can be supplied to change the way in
which the files are sent.
             
If the [FILE] parameter does not include a directory, then Mystic
will assume the file exists in the user's current Theme's TEXT directory
             
If the [FILE] parameter does does not include an file extension, Mystic
will display .ANS if it exists or .ASC if the ANSI version does not exist
In this mode, Mystic will also apply the Random Display File logic to the
base filename, selecting a random file if enabled.               
             
If [/NEW] is added to the end of the data command, Mystic will only
display the file if it is NEW.  This means if the date of the display
file is newer than the user's last call into the BBS.
             
If [/ABORT] is added to the end of the data command, Mystic will not allow
the user to abort displaying the file.  Aborting is allowed by default.
             
If [/MCI] is added to the end of the data command, Mystic will not process
MCI codes of any kind, including pipe colors, while display the file.
             
The (@[BAUD]@[TRUE/END/FALSE]@[FILE]) method allows the ability to
emulate a baud rate while displaying, as well as whether or not to pause
the screen during display (TRUE) or only at the end (END), or not at all
(FALSE).  The [FILE] parameter uses the same rules as discussed above.
             
Some examples of the DATA commands:
           
     Data: myfile
   Result: Mystic will display "myfile.ans" from the user Theme text
           directory or "myfile.asc" if the ANSI version does not exist
           or the user does not have ANSI.  If the .AN1 or .AS1
           extension exists, Mystic will apply its random display file
           logic to the file and select a file randomly.
                      
     Data: c:\mystic\textfiles\myfile.txt
   Result: Mystic displays the file if it exists.
              
     Data: c:\mystic\textfile\myfile
   Result: Mystic will display the ANSI version if it exists or the
           ASCII version if it does not. (.ans and .asc respectively)
                      
     Data: bbsnews /NEW
   Result: Mystic will display bbsnews from the user theme text
           directory but only if it has been edited since the user's
           last call
                      
     Data: @19200@FALSE@myfile
   Result: Mystic will display myfile from the user theme text directory
           applying the same extension rules.  It will emulator 19200
           baud rate which works on all terminals, and it will NOT pause
                       
     Data: @0@END@myfile
   Result: Mystic will display myfile from the user theme text directory
           applying the same extension rules.  It show the display file
           at full speed and only pause at the END of the display file.                
                     
     Data: @38400@FALSE@c:\mystic\textfiles\myfile.txt /NEW
   Result: Mystic will display myfile.txt from the specified directory
           while emulating 38400 baud rate and pausing on each page but
           only if it was updated since the user's last login.

GV - View a display file in ANSI viewer

Data: <template>;<helpfile>;<speed>;<filename>[;END]
 
The ANSI viewer shows a file within the full screen, allowing the user to
scroll up and down through the file using their arrow keys, page up/down,
and home keys.  The viewer also has the ability to extract and display
SAUCE tags to get the artist and group information.  Pressing SPACE will
also display the file in a "traditional" BBS way, scrolling from start to
finish using the supplied emulated baud rate.  Several values are required
in the DATA field for this command, separated by a semi-colon:
             
<template> defines the template used for the viewer itself, found in the
current theme's display (text) directory.  For more information on
configuration of the template, see **TO BE COMPLETED** section.
             
<helpfile> defines the help file displayed when the user selects to show
help from within the viewer.  It should be in the text directory.
             
<speed> defines the baud rate to emulate when displaying the file if the
user selects <space> to display traditionally.  Use a baud rate of 0 for
a full speed display.
               
<filename> defines the name of the file to actually display to the user.
If no file extension is provided, ".ans" will be assumed.  If no path
is provided, Mystic will use the current theme's text directory.
               
Optional paramenters:
             
<END> if ";END" is added after the filename field, the viewer will start
viewing at the end of the file instead of the beginning.
               
Examples:
                 
   Command: GV
      Data: ansigalv;ansigalh;38400;myansifile
                     
   Command: GV
      Data: ansigalv;ansigal;0;myansifile;END
                     
The first example will execute the display file viewer using the
template "ansigalv" and the help file "ansigalh" with the baud rate
of 38400 if a user presses <space> to do a traditional view.  The
file "myansifile" is the display file, since it is missing a path
and a file extension, Mystic will use ".ans" and the current theme
text directory.
               
The second example is the same as the first, except it displays the
file at full speed instead of 38400 baud emulation, and also starts
showing the file at the end of the file, rather than the beginning.
            

—-

Mystic offers the ability to connect to another system through your own using any one of TELNET, RLOGIN, or SSH protocols. By default, Mystic will attempt to connect via IPV4 but if it cannot, it will next try to connect via IPV6 before ultimately failing.

Both RLOGIN and SSH protocols will require a user and password be supplied in the optional data.

IR - Outbound RLOGIN Connection

Data: /addr=<hostname> /port=1234 /user=@USER@ /pass=@USER@

This command creates a gated terminal session to another terminal server
using the RLOGIN protocol.  The /addr /user and /pass options must be
included.  If the /port option is not provided then the default port
of 513 will be used.
             
Mystic will replace @USER@ with the current user's name if it is supplied
in either or both of the /user or /pass options.
             
The user's password cannot be sent using an @code@ and must be manually
supplied due to the password encryption.  Mystic in the near future will
encrypt a users password, meaning at no time does it ever know or store
your actual password.  It cannot send it because it doesn't know it.

IS - Outbound SSH Connection

Data: /addr=<hostname> /port=1234 /user=@USER@ /pass=@USER@

This command creates a gated terminal session to another terminal server
using the SSH protocol.  The /addr /user and /pass options must be
included.  If the /port option is not provided then the default SSH port
of 22 will be used.
             
Mystic will replace @USER@ with the current user's name if it is supplied
in either or both of the /user or /pass options.
             
The user's password cannot be sent using an @code@ and must be manually
supplied due to the password encryption.  Mystic in the near future will
encrypt a users password, meaning at no time does it ever know or store
your actual password.  It cannot send it because it doesn't know it.

IT - Outbound TELNET Connection

Data: /addr=<hostname> /port=1234

This command creates a gated terminal session to another terminal server
using the TELNET protocol.  The /addr option must be included.  If the
/port option is not provided then the default port of 23 will be used.

MESSAGE BASES

The following menu commands related to the Message Bases and reading/posting of messages.

MN - Scan for New Messages

Data: /G /P /M /NOLR /NOFROM /NOREAD

This menu command scans for new messages. The optional data field allows
for modifiers to the default behavior.  By default if no optional data
is provided, Mystic will scan for all new messages in the user's current
message group.
             
If /P is provided in optional data, Mystic will only scan for personal
messages (messages From or To the user)
             
If /G is provided in optional data, Mystic will scan all message bases
in all groups. 
                           
If /M is provided in optional data, Mystic will forced the user to read
the new messages (mandatory read).
            
If /NOLR is provided, Mystic will not update the user's "last read"
message when performing the scan.
             
The following commands augment the behavior of the /P personal scan
option:
             
If /NOFROM is provided, Mystic will only look at the To field when
scanning for new personal messages (instead of both To and From)
             
If /NOREAD is provided, Mystic will not show messages that have been
flagged as "Read" by the user. 

MX - Post text file to message base

Data: <File>;<Base ID>;<From>;<To>;<Subject>;[Network To Address]

This menu command posts a text file to a message base.  It will allow
a file up to 10,000 lines to be posted and will automatically split
them into multiple posts of 1000 lines each if the post is more than
1000 lines (including automatically appending a message count to the
end of the subject ie: (1 of 3)"
             
If you want to post an ANSI file, it should be saved with a 79 column
width using a capable ANSI editor.  Mystic's own built in ANSI editor
can save an ANSI file properly formatted for message posting by
specifying a column length of 79 in the Save dialog. 
             
The optional data field is required for this to work, except for the
Network Address field which is only required if you are posting to a
NetMail base.  Each value should be separated by a semi-colon (;).
            
The <File> field contains the filename to post to the base.  This file
should be a text file with up to 79 columns per line and up to 10,000
lines.
             
The <Base ID> is the Message Base ID as found in the Message Base Editor
             
<From>  The From field of the message
          
<To> The To field of the message
             
<Subject> The Subject of the message
             
[Network Address] is the To network address used when posting to a
NetMail base.  This field can be excluded when not posting Netmail.
             
Examples:
             
  c:\mystic\temp1\msgtext.txt;1;g00r00;All;Statistics for January
  c:\mystic\temp1\msgtext.txt;3;g00r00;Avon;Automated post;21:1/101
menu_commands.txt · Last modified: 2019/03/30 04:04 by avon