User Tools

Site Tools


introduction

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
introduction [2020/02/05 02:35] – [MPLC - Mystic BBS Programming Language Compiler] avonintroduction [2023/01/20 03:36] (current) – revisions to allow and denylist syntax avon
Line 20: Line 20:
                  line length saving for ANSI files as well as some display                   line length saving for ANSI files as well as some display 
                  options that can be set specifically to Mystic BBS                  options that can be set specifically to Mystic BBS
 +                 
 +  MYSTIC -AUTH   Check password authentication for a user by supplying the
 +                 following syntax: -AUTH <username> <password> If the
 +                 password is correct, Mystic will print TRUE to STDIO and
 +                 exit immediately (or FALSE if incorrect).
      
 +  MYSTIC -C$     This specifies the user's Country name which will be assigned
 +                 to the UO MCI code and ultimately saved to the user's record
 +                 as their last known country.
 +                 
   MYSTIC -CP$    This tells Mystic in Unix environments to start in a   MYSTIC -CP$    This tells Mystic in Unix environments to start in a
                  particular codepage (UTF8 or CP437).  Ex: -CPUTF8 or -CP437                  particular codepage (UTF8 or CP437).  Ex: -CPUTF8 or -CP437
Line 30: Line 39:
                  into Mystic by the telnet server.  Ex: -IP125.132.54.741                  into Mystic by the telnet server.  Ex: -IP125.132.54.741
                                    
-  MYSTIC -L      This tells Mystic to start in a local login mode.                           +  MYSTIC -L      This tells Mystic to start in a local login mode.  This 
 +                 option should be supplied whenever you are logging in from 
 +                 your local console.  It is particularly desired in Unix 
 +                 where Mystic is not able to tell the difference between 
 +                 a local console login and a remote user.
        
   MYSTIC -N#     This specifies a specific node number.  There is usually   MYSTIC -N#     This specifies a specific node number.  There is usually
                  no reason to use this, as Mystic will automatically select                  no reason to use this, as Mystic will automatically select
-                 an available node.  Ex: -N1 tells Mystic to start node 1. +                 an available node.  In fact it is not recommended to use this 
-   +                 at all.  Ex: -N1 tells Mystic to start node 1. 
 +                  
 +  MYSTIC -NEWUSER  This allows a new user to be created from the command line 
 +                   using the following key=value pairs: 
 +                    
 +                      handle=usernamehere 
 +                      name=realnamehere 
 +                      pass=passwordhere 
 +                      email=emailhere 
 +                      level=seclevelhere 
 +                      menu=start 
 +                      
 +                    At a minimum Mystic requires the handle, realname, and 
 +                    password fields to be set.  Mystic does NOT apply the 
 +                    password policy to the supplied password in these 
 +                    situations.  The security level also cannot be above 
 +                    249 and any attempt to set a security of 250 or higher 
 +                    will result in the user being created with a security 
 +                    level of 0.  The menu option sets the user's start 
 +                    menu that will be loaded when they log in. 
 +                     
 +                    Mystic will print TRUE or FALSE to STDIO depending on 
 +                    whether or not the user was properly created.  Failures 
 +                    occur when minimum values are not supplied or when a 
 +                    user already exists. 
 +                     
 +                    Example: 
 +                     
 +                    mystic -newuser handle=g00r00 name=g00r00 pass=password 
 +                     
 +                    If the optional "update" command is provided on the command 
 +                    line then Mystic will create the user if they do not exist 
 +                    but update them if they do exist, provided that the user 
 +                    to be updated is not currently logged into the BBS or being 
 +                    edited in the user editor. 
 +                     
 +                    Example: 
 +                     
 +                    mystic -newuser update handle=g00r00 email=new@gmail.com 
 +                     
 +                    The above example would update user g00r00 with the email 
 +                    address supplied. 
 +  
   MYSTIC -T#     This specifies the number of minutes the user will be   MYSTIC -T#     This specifies the number of minutes the user will be
                  permitted to use this session.  Ex: -T60 limits the user                  permitted to use this session.  Ex: -T60 limits the user
Line 46: Line 101:
   MYSTIC -TID#   This specifies the socket handle when using Mystic with a   MYSTIC -TID#   This specifies the socket handle when using Mystic with a
                  third party telnet server under Windows                  third party telnet server under Windows
 +                 
 +  MYSTIC -TT     This option which will override any detected TerminalType from
 +                 TELNET/RLOGIN. ./mystic -ttANSI
                                                                          
   MYSTIC -U$     This specifies the username to login to Mystic with and must   MYSTIC -U$     This specifies the username to login to Mystic with and must
Line 83: Line 141:
                  after logging in as Joe User, and then exit the BBS after                  after logging in as Joe User, and then exit the BBS after
                  execution.                  execution.
 +                 
      
 ==== MIS - Mystic Internet Server ==== ==== MIS - Mystic Internet Server ====
Line 99: Line 158:
 variable if it exists to find the directory where MYSTIC.DAT resides. variable if it exists to find the directory where MYSTIC.DAT resides.
  
-The options for MIS can be found in the //Servers// menu within the Mystic BBS Configuration System by running the following command:+When running in Linux/macOS keep in mind that by default the operating system will not let a service bind to a port less than 1025 unless it is a  ROOT user (in Linux) and NOT AT ALL in MacOS. In Linux, MIS has the ability to switch from root back to whatever the user and group is that owns the executable AFTER it binds to the ports it needs for the server.  So in Linux you can simply do a: 
 + 
 +  sudo ./mis server 
 + 
 +Note: This will **not** run MIS as root.  It will only use root to immediately bind the ports and then it will switch to the user who owns the executable. 
 +   
 +=== MIS POLL === 
 + 
 +Since Mystic 1.12 A47 MIS offers a POLL function/switch. This replaces the previously used FIDOPOLL binary that was retired after Mystic 1.12 A46. The POLL switch enables the server to send and receive echomail and netmail packets to configured EchoMail Nodes. There are three polling options than can be configured for EchoMail nodes - BINKP, FTP, or Directory-based transmission. 
 + 
 +Optional switches for MIS POLL are: 
 + 
 +  POLL SEND            - Only send/poll if node has new outbound messages 
 +  POLL FORCED [Type]   - Poll/send to all nodes of session [Type] (Blank/All) 
 +  POLL UPLINK [Type]   - Poll all Uplink nodes of session [Type] (Blank/All) 
 +  POLL [Address]       - Poll/send echomail node [Address] (ex: 46:1/100) 
 +  POLL LIST            - List active echomail nodes 
 +  POLL ROUTE [Address] - Show configured netmail routing (Optional address) 
 +  POLL SEARCH [Text]   - Search nodelist for [Text] 
 +  POLL KILLBUSY [Mode] - Delete BSY files [App, Echo, All] (Blank/Echo) 
 + 
 +=== MIS CONFIGURATION === 
 + 
 +The options for configuring MIS are found in the //Servers// menu within the Mystic BBS Configuration System by running the following command:
  
   MYSTIC -CFG   MYSTIC -CFG
Line 105: Line 187:
 You can enable/disable different server types, change their listening ports, and some other options. You can enable/disable different server types, change their listening ports, and some other options.
  
-Keep in mind that Linux will require a root user by default to bind to server ports less than 1024, so if you enable your telnet server and cannot connect, try a port higher than 1024 to make sure it is working. +Setting up a telnet BBS is as simple as configuring then loading MIS and telnetting in! :)
- +
-Setting up a telnet BBS is as simple as loading MIS and telnetting in! :)+
  
 === IP BLOCKING + EXCEPTIONS === === IP BLOCKING + EXCEPTIONS ===
  
-MIS will check your Mystic DATA directory for file named BLACKLIST.TXT It will use this file to check against the IP addresses of incoming connections.  For example, if you wanted to block 123.123.123.123 +MIS will check your Mystic DATA directory for file named denylist.txt It will use this file to check against the IP addresses of incoming connections.  For example, if you wanted to block 123.123.123.123 
-you would simply add a line into the BLACKLIST.TXT file with that IP address.+you would simply add a line into the denylist.txt file with that IP address.
  
 IP blocking supports wildcards too, so for example, you could put 123.123.123.* and block any IP address that begins with 123.123.123. IP blocking supports wildcards too, so for example, you could put 123.123.123.* and block any IP address that begins with 123.123.123.
Line 120: Line 200:
 If this file does not exist, it will simply print "BLOCKED" to the connection's terminal and disconnect them. If this file does not exist, it will simply print "BLOCKED" to the connection's terminal and disconnect them.
  
-You can also add a WHITELIST.TXT file the Mystic DATA directory. This file will exempt an IP address from the DNS blacklist, DNS country check, and the auto ban IP systems.  The format of the file is the same as BLACKLIST.TXT. If you know of certain IP addresses you never want to see auto banned on your system - WHITELIST.TXT is a great way to ensure that never happens!+You can also add a allowlist.txt file the Mystic DATA directory. This file will exempt an IP address from the DNS blacklist, DNS country check, and the auto ban IP systems.  The format of the file is the same as denylist.txt If you know of certain IP addresses you never want to see auto banned on your system - allowlist.txt is a great way to ensure that never happens!
  
-Entries in both BLACKLIST.TXT and WHITELIST.TXT can contain a mixture of both IPV4 and IPV6 addresses and can contain a single wildcard, using an asterisk to mask an IP range.  For example "127.*" would block any IPV4 address that begins with "127." IPV6 works in the same way, expand the IPV6 address up to the point where you want to wildcard it, such as "014f:*"+Entries in both denylist.txt and allowlist.txt can contain a mixture of both IPV4 and IPV6 addresses and can contain a single wildcard, using an asterisk to mask an IP range.  For example "127.*" would block any IPV4 address that begins with "127." IPV6 works in the same way, expand the IPV6 address up to the point where you want to wildcard it, such as "014f:*"
  
-Refer also to the [[config_edit_ip_blacklist|Edit IP Blacklist]] and [[config_edit_ip_whitelist|Edit IP Whitelist]] sections of the Wiki.+Refer also to the [[config_edit_ip_blacklist|Edit IP Denylist]] and [[config_edit_ip_whitelist|Edit IP Allowlist]] sections of the Wiki.
  
 === DUPLICATE IP CONNECTIONS === === DUPLICATE IP CONNECTIONS ===
Line 150: Line 230:
 ==== FIDOPOLL ==== ==== FIDOPOLL ====
  
-This program sends and receives echomail and netmail packets tor configured EchoMail Nodes. It uses one of three configured options to do so - BINKP, FTP, or Directory-based transmission. +This executable has been retired as of Mystic 1.12 A47 and replaced my 'MIS POLL' but if you have an older copy of Mystic here are the details. FIDOPOLL was a program was used to send and receive echomail and netmail packets to configured EchoMail Nodes. It used one of three configured options to do so - BINKP, FTP, or Directory-based transmission. 
  
-Optional switches for FIDOPOLL are:+Optional switches for FIDOPOLL were:
  
   FIDOPOLL LIST           - List configured Echomail nodes   FIDOPOLL LIST           - List configured Echomail nodes
Line 163: Line 243:
                             "ALL" also kills application busy files and should                             "ALL" also kills application busy files and should
                             only be used when Mystic+Utilities are NOT running                             only be used when Mystic+Utilities are NOT running
 +
 +If you are still using FIDOPOLL we suggest you update your Mystic version today and start using MIS POLL. It's a far better experience.
  
 EchoMail nodes are configured in the Mystic BBS Configuration System under the 'Configuration' menu. EchoMail nodes are configured in the Mystic BBS Configuration System under the 'Configuration' menu.
Line 185: Line 267:
 ==== NODESPY ==== ==== NODESPY ====
  
-Placeholder text+NodeSpy is a program that will allow you to snoop, kick, and chat with users who are connected to your BBS.  It will also provide you with BBS usage statistics and graphs.  Think of this as your "Waiting for call" screen 
 + 
 +In addition, NodeSpy also has a terminal mode that offers a full blown ANSI BBS telnet client with dialing directory, scrollback, and Zmodem with ZEDZAP file transfers! 
 + 
 +It is important to note that NodeSpy does not currently monitor BBS users while they are using doors nor does it offer a chat option to engage with bbs users.
  
 ==== MIDE - Mystic Integrated Development Environment ==== ==== MIDE - Mystic Integrated Development Environment ====
Line 197: Line 283:
  
  
-==== MPLC Mystic BBS Programming Language Compiler ====+==== MPLCMystic Programming Language Compiler ====
  
-The Mystic BBS Programming Language Compiler allows sysops to compile their own scripts written in Mystic Programming Language (MPL).  This program translates a MPS source file into a MPX executable file.  A                    MPS source file is a text file which contains programming commands recognized by the MPE engine.  These files can be edited with any text editoror the supplied MIDE program described above.+The Mystic BBS Programming Language Compiler allows sysops to compile their 
 +own scripts written in Mystic Programming Language (MPL).  MPL programs are 
 +created using source file (.mps) and then compiled into executable files 
 +(.mpx).  The source files are just typical text files that can be edited with 
 +any text editor or the MIDE utility that ships with Mystic.
  
 You will find this tool in the /mystic directory. You will find this tool in the /mystic directory.
Line 207: Line 297:
 Available options to use this program are: Available options to use this program are:
  
-  MPLC [filename] Compile a MPL script e.g. MPLC mpldemo.mps+  MPLC [filename] Compile a specific MPL script. Example: MPLC mpldemo.mps 
 +   
 +  MPLC -T         Attempts to read theme configuration from mystic.dat in the 
 +                  current directory or the directory defined by mysticbbs 
 +                  environment variable, and then uses Themes path to compile all 
 +                  scripts in each theme's scripts directory.
          
-  MPLC -ALL       Compile all scripts found+  MPLC -ALL       Compile all scripts in current directory and sub 
 +                  directories
      
-  MPLC -        Attempts to read mystic.dat from current directory or +  MPLC -        Compile all scripts in current directory only 
-                  mysticbbs environment variable, and then uses Themes +                    
-                  path to compile.+  MPLC -F         Works just like -T but also accepts a filemask to compile any 
 +                  matching files in each theme's script directory For 
 +                  example: mplc -f bulletin*         
      
-  MPLC -T /mybbs  Attempts to read mystic.dat from the supplied root +  MPLC -P [path]  Compile all scripts in [path] 
-                  directory, and then uses Themes path to compile +   
-                   +  MPLC -R [path]  Compile all scripts in [path] in its sub-directories
-  MPLC -F         Attempts to read the Theme path and then compile any files +
-                  matching the supplied mask contained in any directories +
-                  under the Theme directory. Example: mplc -f bulletin*          +
  
introduction.1580891747.txt.gz · Last modified: 2020/02/05 02:35 by avon

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki