User Tools

Site Tools


menu_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
menu_commands [2020/05/23 18:01] g00r00menu_commands [2023/01/20 02:39] (current) – [INTERNET RELATED] g00r00
Line 77: Line 77:
 ===== EXTERNAL DOORS ===== ===== 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.+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 node'temporary directory "temp1" that is created off of the root Mystic BBS directory (ie c:\mystic\temp1\)
  
-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.+In the Linux and macOS 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.  From a technical perspective it forks and executes your command line with /bin/sh then creates a watchdog on the child process so that it can help trap lost connections even for programs that cannot detect those types of things natively (like a BBS door would).  It is important to understand that commands are not executed from bash when Mystic runs them, they are executing the system shell.  In other words, if you want to test a command line you should test it accordingly outside of Mystic by executing: /bin/sh -c <Your command line here> to see if it works.
  
 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: 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:
Line 89: Line 89:
    %H = The current socket handle (added 1.12 A34)    %H = The current socket handle (added 1.12 A34)
    %N = The current node number (added 1.12 A34)    %N = The current node number (added 1.12 A34)
-   %P = The node's temp directory+   %P = Node's temp directory where drop files are stored (w/ trailing slash)
    %R = User's handle (with spaces)    %R = User's handle (with spaces)
    %T = User's time left in minutes    %T = User's time left in minutes
Line 101: Line 101:
    %5 = User's hostname    %5 = User's hostname
  
 +All of the door menu commands have a helper function to allow switching
 +directories without relying on scripting or operating system commands.  If
 +"CD<directory>" is used in the command line (without the quotes), Mystic
 +will remove it and change to the directory specified between the <> characters
 +prior to executing the command line.
 +
 +Mystic tracks the number of doors opened by a user when using a DOOR menu command.  Door command lines can have a /NOSTAT at the end of the command line in optional data to tell Mystic not to increment the users door count.
 +  
 **The following commands are available for executing external programs and doors:** **The following commands are available for executing external programs and doors:**
  
Line 122: Line 130:
   operating systems like OS X and Linux that used a different text file   operating systems like OS X and Linux that used a different text file
   format.   format.
 +  
 +**DX - Execute w/ DOSXTRN (Win32)**
 +  Data: <command line to execute>
 +  
 +  Creates DORINFO1.DEF, CHAIN.TXT, and DOOR.SYS drop files in the node's
 +  temporarily directory and then runs the command line with DOSXTRN DOS
 +  FOSSIL redirection (as an alternative to NetFossil).  This function
 +  only works for Windows 32-bit systems and requires dosxtrn.exe and
 +  sbbsexec.dll to be placed into the root Mystic BBS directory.  This is
 +  the recommended method to run DOS doors if you are using Windows 32-bit
  
 ---- ----
Line 201: Line 219:
   use these alternative templates, simply execute FI with the data field of   use these alternative templates, simply execute FI with the data field of
   "file_change" or whatever the custom template filename you've created is.   "file_change" or whatever the custom template filename you've created is.
 +  
 +  NOTE: Even if you do not use file groups for anything, there needs to be
 +  at least one file group created for the Index Lister to function.
  
 **FL - List files in current File Base** **FL - List files in current File Base**
Line 295: Line 316:
  
 **GA - View ANSI Gallery** **GA - View ANSI Gallery**
 +
 +  Data: <path to files> [/TEMPLATE=mygallery] [/NOSAUCE]
 +  
 +  Opens the ANSI gallery allowing the user to browse and view ANSI
 +  files (including non-standard terminal size art, Amiga specific
 +  variations with font switching, and more).  The path to files
 +  should contain the root directory where users will start
 +  browsing from.
 +  
 +  The default template of "gallery" will be used
 +  but this can be overridden using the /TEMPLATE option as shown
 +  
 +  Depending on the disk and system speed, reading the contents of a
 +  large directory and checking each file for SAUCE information can
 +  take some time.  Adding /NOSAUCE on the optional data field will
 +  disable sauce reading for the file listing.  SAUCE will always
 +  still be used when viewing a file in the ANSI viewer.  This can
 +  also be set in the gallery template but this will override that
 +  setting.
  
 **GD - Show a display file** **GD - Show a display file**
Line 421: Line 461:
  
 **GL - Show Last Callers** **GL - Show Last Callers**
 +
 +  Data: None or <Callers>
 +  
 +  This command shows the last callers who connected to the
 +  BBS.  By default the last 10 callers are shown but the
 +  optional data field can contain a number up to 99 that
 +  will show anywhere from 1 to 99 "last callers".
  
 **GO - Goto Menu** **GO - Goto Menu**
Line 491: Line 538:
 **GX - Execute Mystic Programming Language (MPL) Program** **GX - Execute Mystic Programming Language (MPL) Program**
  
-**GY - Execute Mystic Python (MPY) Script**+**GY - Execute Mystic Python 2.x (MPY) Script** 
 + 
 +**GZ - Execute Mystic Python 3.x (MPY) Script** 
 + 
 +**G! - Execute Mystic Script (MS) Script**
  
 **G? - Open Mystic Help System** **G? - Open Mystic Help System**
Line 503: Line 554:
  
 Both RLOGIN and SSH protocols will require a user and password be supplied in the Both RLOGIN and SSH protocols will require a user and password be supplied in the
-optional data.+optional data.  All outbound connection commands can include a /PROMPT in the optional 
 +data field which will hide display of the "connection" prompts.
  
 **IR - Outbound RLOGIN Connection** **IR - Outbound RLOGIN Connection**
  
-  Data: /addr=<hostname> /port=1234 /user=@USER@ /pass=@USER@+  Data: /addr=<hostname> /port=1234 /user=@USER@ /pass=@USER@ /term=?
      
   This command creates a gated terminal session to another terminal server   This command creates a gated terminal session to another terminal server
Line 513: Line 565:
   included.  If the /port option is not provided then the default port   included.  If the /port option is not provided then the default port
   of 513 will be used.   of 513 will be used.
 +  
 +  The terminal type will default to "ansi/57600" but the terminal type can
 +  be overridden by using the /term=value option.
                                
   Mystic will replace @USER@ with the current user's name if it is supplied   Mystic will replace @USER@ with the current user's name if it is supplied
Line 535: Line 590:
                                
   The user's password cannot be sent using an @code@ and must be manually   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 +  supplied due to the password encryption.  By default Mystic never stores 
-  encrypt a users password, meaning at no time does it ever know or store +  a users password, meaning at no time does it ever know your actual 
-  your actual password.  It cannot send it because it doesn't know it.+  password.  It cannot send a password because it doesn't know it.
  
 **IT - Outbound TELNET Connection** **IT - Outbound TELNET Connection**
Line 573: Line 628:
   will change to the message area that is linked to the supplied unique ID.   will change to the message area that is linked to the supplied unique ID.
  
-**MC - Check Private BBS E-mail**+**MC - Check Private Local E-mail**
  
-  Data: /NOLIST /UNREAD+  Data: /NOLIST /UNREAD /SCAN
      
   This menu command checks the user's private e-mail box for messages and   This menu command checks the user's private e-mail box for messages and
Line 587: Line 642:
   flagged as "unread" in the list and prompt only if there are unread   flagged as "unread" in the list and prompt only if there are unread
   messages.   messages.
 +  
 +  If the /SCAN option is supplied, Mystic will silently calculate the values
 +  of the waiting and unread mail values without any interaction with the user.
 +  These value can then be displayed with the MW or MU MCI codes.
  
 **MD - Set Message Last Read By Date** **MD - Set Message Last Read By Date**
Line 665: Line 724:
   use these alternative templates, simply execute MI with the data field of   use these alternative templates, simply execute MI with the data field of
   "msg_change" or whatever the custom template filename you've created is.   "msg_change" or whatever the custom template filename you've created is.
 +  
 +  NOTE: Even if you do not use groups for anything, there needs to be
 +  at least one message group created for the Index Reader to function.
 +
  
 **ML - Browser/Search Network Nodelists** **ML - Browser/Search Network Nodelists**
Line 683: Line 746:
 **MN - Scan for New Messages** **MN - Scan for New Messages**
  
-  Data: /G /P /M /NOLR /NOFROM /NOREAD+  Data: /G /P /M /NOLR /NOFROM /NOREAD /YOU
      
   This menu command scans for new messages. The optional data field allows   This menu command scans for new messages. The optional data field allows
Line 705: Line 768:
   option:   option:
                                
-  If /NOFROM is provided, Mystic will only look at the To field when +  If /NOFROM is provided, Mystic will exclude any messages written 
-  scanning for new personal messages (instead of both To and From)+  by (fromthe current user.
                                
   If /NOREAD is provided, Mystic will not show messages that have been   If /NOREAD is provided, Mystic will not show messages that have been
-  flagged as "Read" by the user. +  flagged as "Read" by the user
 +   
 +  If /YOU is provided, Mystic will look ONLY at the To field to see if 
 +  the message is addressed to you.  By default Mystic personal scan will 
 +  look at both the From and To fields.
  
 **MP - Post New Message** **MP - Post New Message**
Line 786: Line 853:
   If "G" is supplied, Mystic will search bases in the current group   If "G" is supplied, Mystic will search bases in the current group
                                          
-**MV - View Sent E-mail**+**MV - View Sent Local E-mail**
  
-**MW - Send Private BBS E-mail**+**MW - Send Private Local E-mail** 
 + 
 +  Data: /TO: /SUBJ: /F 
 +   
 +  Each user has a personal e-mail box that exists only on the BBS and 
 +  this command is used to send a message to a user's personal mailbox. 
 +  Messages posted here are shown to the user when the MC menu command 
 +  is executed to check their local mailbox. 
 +   
 +  If /TO:<text> is provided, the post can be automatically addressed to 
 +  the supplied username in <text> Note that spaces should be replaced 
 +  by underscores (_) when supplying this.  If this is not supplied then 
 +  Mystic will ask the user to who to send the message to. 
 +   
 +  If /SUBJ: is provided, the post will have its subject automatically 
 +  set.  Spaces should be replaced with underscores.  If this is not 
 +  supplied then Mystic will ask the user for the message subject.  
 +   
 +  If /F is provided, the post will be forced meaning the user will not 
 +  be able to abort posting the message when they are in the message 
 +  editor.
  
 **MX - Post text file to message base** **MX - Post text file to message base**
Line 850: Line 937:
  
 **NA - Set Note Action** **NA - Set Note Action**
 +
 +  Data: Action text
 +  
 +  This command will set the node action which appears when a Who's Online
 +  list is done.  The optional data field is required for this command and
 +  specifies the text that will appear in the "Action" field for the
 +  current user.
  
 **NC - Multi-node Teleconference/Chat** **NC - Multi-node Teleconference/Chat**
Line 856: Line 950:
  
 **NS - Send Node Message** **NS - Send Node Message**
 +
 +   Data: None or <Node;Message>
 +   
 +   Send message to a node.  When the optional data field is
 +   blank, Mystic will prompt the user to select a node and
 +   input a message.
 +   
 +   The optional data field can also be used to send a message
 +   to another node, or broadcast a system-wide message to all
 +   available users by using the "node;message" format.  The
 +   node number must be supplied first followed by a semi-colon
 +   and then the message text.  For example, 2;Hello would send
 +   a message to node 2 saying Hello.  If a zero is used as the
 +   node number, the message text will be sent to all users
 +   currently logged in using the System Message format.
 +   
 +   Two MCI codes can be used to send the user name and node
 +   number of where the message originated from:
 +     
 +   &1 = Name of user where message was sent from
 +   &2 = Node number message was sent from
  
 **NW - Show Who's Online** **NW - Show Who's Online**
 +
 +  If the /SCAN optional data is supplied, Mystic will not display the who's
 +  online list but instead force recalculation of active users (returned by
 +  the NA MCI code).
  
 ----- -----
Line 864: Line 983:
 **-B - Break Command Execution** **-B - Break Command Execution**
  
 +  This command is an advanced menu command that can be used to break the
 +  current menu execution chain.  For example, if you have 4 menu commands
 +  that all have the same hotkey and call -B on the second one, only the
 +  first two commands will be run.  The 3rd and 4th menu command will be
 +  skipped because the -B menu command breaks the chain of commands.
 +  
 **-D - Toggle Access Flags (Set 2)** **-D - Toggle Access Flags (Set 2)**
  
Line 919: Line 1044:
  
 **-I - Set TIMER Counter** **-I - Set TIMER Counter**
 +
 +  Data: <Seconds>
 +  
 +  Set the counter of the TIMER menu commands.  For example if you have a
 +  TIMER menu command set to execute every 30 seconds and you set the
 +  counter to 29, it will execute 1 second later.
 +
 +**-M - Set menu Marquee text**
 +  
 +  Data: /ADD <text>, <text>, or /RESET
 +  
 +  This command sets the current menu''s Marquee text with the text contained
 +  in the data field.  If the first 5 characters are "/ADD " in the data field
 +  then the text will be appended onto the existing scrolling Marquee.  If the
 +  data field is /RESET it will reset the Marquee to the configured Marquee
 +  text value.  Otherwise it will replace the Marquee with the text in the data
 +  field.
  
 **-N - Ask Yes/No Question (Default to No)** **-N - Ask Yes/No Question (Default to No)**
 +
 +  Data: <Text>
 +  
 +  This command will display the text in the data field to the user and then
 +  prompt with a Yes/No question, defaulting to an answer of "No" The result
 +  of the user's selection will be stored in the "OK" ACS command, so that if
 +  the user answers Yes, then the OK ACS will evaluate to TRUE.  If the user
 +  answers No, the OK ACS will evaluate to FALSE.
  
 **-P - Ask Password** **-P - Ask Password**
 +
 +  Data: <Text;Password>
 +  
 +  This command will display the Text portion of the data field, and then prompt
 +  for a password which is defined also in the data field as the second parameter,
 +  separated by a semi-color from the text.
 +  
 +  If the user successfully enters the password, the OK ACS function will evaluate
 +  to TRUE.  If the user does not enter the password, the OK ACS function will
 +  evaluate to FALSE.
 +  
 +  For example:
 +  
 +    Data: |CR|09Enter password: |11;PASSWORD
  
 **-R - Set Value of OK ACS flag** **-R - Set Value of OK ACS flag**
 +
 +  Data: <0 or 1>
 +  
 +  This command will set the value of the OK ACS command.  If the data
 +  field is set to 1, then the OK ACS will evaluate TRUE and if set to
 +  0 it will evaluate to FALSE.
  
 **-S - Add Line Into Node Log** **-S - Add Line Into Node Log**
Line 950: Line 1120:
      
 **-Y - Ask Yes/No Question (Default to Yes)** **-Y - Ask Yes/No Question (Default to Yes)**
 +
 +  Data: <Text>
 +  
 +  This command will display the text in the data field to the user and then
 +  prompt with a Yes/No question, defaulting to an answer of "Yes" The result
 +  of the user's selection will be stored in the "OK" ACS command, so that if
 +  the user answers Yes, then the OK ACS will evaluate to TRUE.  If the user
 +  answers No, the OK ACS will evaluate to FALSE.
  
 ----- -----
Line 977: Line 1155:
  
 **VN - Scan for New Questions** **VN - Scan for New Questions**
 +  
 +  Data: /F
 +  
 +  Scans for new voting booth questions that the user
 +  has not voted on and presents each question to the
 +  user for voting.
 +  
 +  If the /F option is supplied the user will be forced
 +  to vote on all new questions.
  
 **VR - View Results** **VR - View Results**
  
 **VV - View/Vote On Voting Booth Questions** **VV - View/Vote On Voting Booth Questions**
 +
 +  Data: <Question #> /F or None
 +  
 +  This option allows the user to vote on questions in the voting
 +  booth.  If the optional data is blank then the user will be
 +  presented a list of all voting questions.
 +  
 +  If the Question number is supplied the user will be taken
 +  directly to the question # supplied in the optional data field.
 +  
 +  If /F is supplied along with a question number then the user will
 +  be forced to vote on the question.
  
 ----- -----
Line 1052: Line 1251:
  
 **!C - Create Semaphore File** **!C - Create Semaphore File**
 +
 +This command adds three lines of text to the semaphore file:
 +
 +  * Line 1: User ID
 +  * Line 2: User Handle
 +  * Line 3: Node number
 +
 +If no user was logged in when this was created the ID will be -1 and the handle blank.
  
 **!D - Delete Semaphore File** **!D - Delete Semaphore File**
Line 1061: Line 1268:
  
 ***# - Menu Editor** ***# - Menu Editor**
 +  
 +  Data: <none> or /THEME
 +  
 +  Opens the menu editor.  By default Mystic will ask to select
 +  the theme to edit.  If /THEME is in the data field it will
 +  skip this and open the menu editor with the current theme
 +  already selected.
  
 ***A - Archive Editor** ***A - Archive Editor**
Line 1095: Line 1309:
  
 ***4 - View Log Files** ***4 - View Log Files**
 +
 +**F1 - Mass upload files**
 +  Data: None
 +  
 +  Search all file base directories for new files that have not been
 +  added to the file listings and import them into the file listings
 +
 +**F2 - File List Editor**
 +  Data: None
 +  
 +  Edit the file directory listing of the current file base.  This
 +  is the same as using the Edit command from the listing, where
 +  you can perform various editing and maintenance functions or
 +  hatch a file from the file listing.
 +
 +**F3 - Download File (Send to User)**
 +  Data: <Full Path and Filename> [/PROT=X] [/NOPROMPT]
 +  
 +  Send the file supplied in the data field to the user.  The user's
 +  file statistics will not be updated.
 +  
 +  If the optional PROT command is used then the Mystic will select
 +  the protocol automatically that is associated to the hotkey in
 +  the Protocol configuration.  For example: /PROT=Z would auto
 +  select Zmodem by default.
 +  
 +  If the optional /NOPROMPT command is supplied then Mystic will skip
 +  the "Press a key to start transfer or Q to Quit" prompt
  
menu_commands.1590274919.txt.gz · Last modified: 2020/05/23 18:01 by g00r00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki