whats_new_108
Mystic BBS v1.08 - What's New
Every Mystic BBS archive contains a WHATSNEW.TXT file that tracks the development of Mystic BBS for the version related to that archive.
This page contains notes from the author (g00r00) during the development of Mystic BBS v1.08
It outlines what is a new or changed feature, a bug fix, or something that has been removed.
In order to interpret each entry below, the following key explains the nature of each change that has been noted in the WHATSNEW.TXT for this version of Mystic BBS.
! = Bug fix + = New or changed feature - = Removed
If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki.
Version 1.08
+ New MPL function: GETUSERTIME returns the number of minutes the user
has remaining.
! Kludge lines were not getting filtered out in standard message reader
mode. This also caused a problem creating REPLYID tags in networked
message bases.
! MCFG would exit out to the prompt when CTRL-C was used to copy a menu
command in the menu editor.
+ Added IP blocking into Mystic's Telnet server (TSERVER). The file
IPBLOCK.TXT can now be placed into the data directory and contain a
list of IP addresses which should be blocked. An asterics can be used
to block a mask of addresses. Each address needs to be in the format
of #.#.#.# and only one address can be specified on a single line. For
example:
204.186.*.*
24.67.213.*
24.87.321.534
+ Completely rewrote MYSTPACK to fix some problems with the way the
previous version packed the message bases. Gone should be the crashes
and any problems with last read pointers being screwed up because of
MYSTPACK. Also added the -pack command line, which is now required
in order to start packing the bases. IE: mystpack -pack -skipfirst. Some
minor cosmetic changes have been made. A spinning cursor has been added
while each base is getting packed, and the total number of messages and
bytes removed are displayed or each base along with a total for all
bases after all packing has been completed.
! MPL: Fixed a bug which caused some of the MBASE variables to get
corrupted.
! MCFG: Fixed a minor aestetics error in the global file base editor.
+ Added a daily history system. Mystic will now track the following
things on a daily basis: emails, posts, downloads, uploads, upload KB,
download KB, calls, and new users. A new menu command (G1) has been
added to view all the daily history, and the following new prompts have
been added:
; no history data
454 |CR|12No history data available.|CR|CR|PA
; history header
455 |CL|15Daily System History|CR|CR Date Calls New Posts Email DLs DLkb ULs ULkb|CR|08|$D79-
; history list
; &1=date &2=calls &3=newusers &4=posts &5=emails &6=dls &7=dlkb
; &8=uls &9=ulkb
456 |07|&1 |$R05|&2 |$R05|&3 |$R05|&4 |$R05|&5 |$R05|&6 |$R09|&7 |$R05|&8 |&9
; history footer &1=total days
457 |08|$D79-|CR|15* Total days: |&1|CR|CR|PA
! The extended descriptions in the file list compiler were off by a single
character. Fixed.
+ Added message scan date setting. Users can now set the message last read
pointers based on a date. A new menu command of MD accesses this
function, and a few new prompts have been added:
; msg scan date prompt
458 |CR|09Enter new message scan date |01[|10|UF|01]|09: |11
; msg scan date global prompt
459 |CR|12Set this date for all bases? |11
; msg scan date: updating pointers
460 |CR|12Updating pointers: Please wait...
+ The [ and ] keys now work while editing files within file listings.
+ Mystic will now automatically rename any file name longer than 70
characters (the maximum Mystic supports) during an upload or a mass
upload. It will keep the file extention if there is one and make the
total filename length 70 characters. If a file already exists with the
new shortened name, Mystic will prompt for the user to enter a new file
name for the file, and then rename it to whatever they type. Pretty
slick if you ask me. =] A new prompt goes along with this:
461 |CR|12File of this name already exists.|CR|CR|09Enter new file name (max 70 chars)|CR:
+ Mystic's internal user editor will now accept partial user searching as
well as user record number jumping.
+ When importing FILE_ID.DIZ, Mystic will now strip off all extra blank
lines of text. So if a FILE_ID.DIZ has 10 blank lines before or after
the description, Mystic will remove those 10 blank lines.
+ MPL: Expanded the maximum number of parameters passed in a procedure or
function from 5 to 8.
+ Mystic can now set an ACS level for each node which a user must meet
in order to login to that node. This is found in the Modem/Node
editor. A changed prompt goes along with this:
; Node login ACS failed
315 |CR|14You do not have access to call this node.
+ MPL: Added new MPL function: MCI2STR. This function takes an MCI code
and converts the value of the code into a string variable.
+ Added the /ALLGROUP optional data option into the QWK Download menu
command.
+ Removed the Lightbar Yes/No configuration from the language settings
into the language file as prompts. You will need to replace the
following prompts with the lightbar Y/N stuff:
; Lightbar Y/N: YES text
316 |09|17Ý|15Yes|09Þ|16 |14N|11o |16
; Lightbar Y/N: NO text
317 |14 Y|11es |09|17Ý|15No|09Þ|16
+ Added a new option into the language settings. There are now two input
field colors, one being the color of the typed text, and the other
being the color of the field itself. This allows for some pretty cool
input field combinations, when playing with these two settings and the
input field fill character.
+ Added the language settings into MCFG, accessible via the language
editor.
+ Added new 'percentage bar' system into MCFG's language configuration.
The first percentage bar is the voting booth results bar. It is now
configured with the language editor and activated when the same Prompt
Info MCI code as in the past. This just allows more customization of
the percentage bar.
+ Added a percentage bar into the lightbar message viewer. The new
configuration options for the message reader percentage bar can be
found in the language editor of MCFG. Two new and optional Screen
Info MCI codes are now available in the ANSIMRD.XXX template file:
!4 = The X/Y location and text attribute of the actual percentage
of the message read (ie a number between 0 and 100). If this
code is not in the template, it will be ignored.
!5 = The X/Y location of the percentage bar. If this code is not in
the template file, it will also be ignored.
+ Changed the clear screen functions in Mystic to send an ESC[2J rather
than a ASCII #12 if the user has ANSI graphics. This is a little more
compatible with obscure terminals and telnet clients.
+ MCFG now saves the selected option when navigating menus, and keeps that
option highlighted when returning to a previous menu.
! When the status bar was set to single line and a user paged the sysop,
Mystic wouldn't update the statusbar properly to show the user name,
chat reason, and chat commands.
+ MCFG: Added some extra checking in the sort functions. This should
prevent any sorting problems due to memory limitations in the file
and message base editors.
! Fixed a bug which could cause some messages that were marked as deleted
to still be readable. In fact, they'd only be actually deleted when
MYSTPACK was ran on the bases.
! MCFG: Fixed a very bad bug in the user editor. If you selected CTRL-U
to upgrade, then hit ESC to abort the upgrade, MCFG would upgrade the
user to security level 255. VERY BAD - BUT FIXED NOW! SORRY!
+ Added the ability for message moving. If a user was the original
poster of the message, or if the user has SysOp access rights to the
message base, they can move the message to any message base they have
access to by pressing (M). Changed prompts:
; Move message to where?
282 |CR|09Move to which base (?/List):
; Moving message. &1=base name
318 |CR|14Moving message to |15|&1|14...
- Removed CTRL-Z and CTRL-R commands from the line mode text editor for
compatibility with Linux. Also removed prompt #161.
+ Removed CTRL-Z in the full screen editor and the full screen text editor.
CTRL-Z was save in the text editor and CTRL-Z was help in the normal
full screen editor. The help command has been moved to /H.
! Fixed a huge bug in MBBSUTIL's -FPACK function which would truncate
file descriptions at 45 characters. When Mystic was enhanced to allow
50 characters on a line, somehow MBBSUTIL wasn't. :(
+ Added two new command line features: The -U and -P command line options
can be used to log in as a user from the command line, skipping the
user name and password prompts, or login matrix if one is activated.
These must be used along side the -B command line option in order to
work. If either the user name or password supplied is not valid,
Mystic will simply exit. When supplying a user name, you must replace
all spaces in a name with an underscore (_). For example:
MYSTIC -B0 -Usome_user_name -Ppassword
The above would start Mystic in local mode with user "some user name"
already logged in.
+ Mystic will now run STARTUP.MPE if it exists in the scripts directory
directly after the graphics emulation detection/selection.
+ When replying to a private or e-mail message, Mystic will now force
that the To: field is a valid user on the system. A changed prompt
goes along with this:
161 |CR|11|&1 is not a valid user on this system.
+ Added new ACS command "Mx" which is based on the current minute. This
command is used to check if a user is accessing a command at a certain
minute. Where X is the minute. For example: M15 will prevent the user
from accessing the command before :15 after each hour.
+ Added new ACS command "Wx" which is based on the current day of the week.
Where X is a numerical value from 0 to 6, representing a day of the week:
0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
For example, "W0" would make the command only accessible on sunday. W5
would be Friday, etc.
! The Netmail Origin and Destination address was not getting set properly
when replying to a netmail message. The Origin address was also not
getting set properly when posting a netmail message. These are fixed!
+ Added new command line option: -X<data>
This option goes along with the -U and -P command line options and when
supplied on the command line will execute a compiled MPL program file.
<data> contains the file name and any command line options supplied to
the mpe program. As with the -U option, any spaces should be replaced
with a _ character. If no path is supplied, Mystic will look in the
configured scripts directory for the program. Some examples:
MYSTIC -B0 -Ug00r00 -PHELLO -XTEST
MYSTIC -B0 -Ug00r00 -PHELLO -XBULLETIN_BULLETIN_BULLET_CHECK
MYSTIC -B0 -Ug00r00 -PHELLO -XC:\MYSTIC\SCRIPTS\GAME\MYGAME
After the script is ran, Mystic will exit back to the operating system.
This is mostly useful to MPE developers being that they can setup an
external editor for coding their programs, and have it automatically
run the program from within the editor to test things.
+ Expanded the maximum number of variables in an MPL program to 500. This
took quite a bit of recoding because MPL was originally intended to be
a simple script engine, and was written with certain limitations. Well,
now one of those limitations is gone. Technically (if memory allowed),
I could expand the max variables up to 64,000 now!
+ Added the display of the user's permanent index within MCFG's User
Editor. That should have been there to begin with, but I must have
overlooked it.
! Fixed a small display bug in MCFG's user editor with the "Editing User
XXX of XXX" would get messed up.
! MCFG: The statusbar in the file base editor didn't have the (I)nsert
command on it. I'm not sure if it was like that in 1.07.3 or just the
1.08 alphas, so I thought I'd mention it here.
! Did a full rewrite of the mandatory message base code. The old system
was very buggy and allowed users to quit reading mandatory bases. In
addition, the /M option of the new message scan (scan all mandatory
bases) was not working properly. This should all be fixed now.
+ Added a new auto-running menu command type called 'LINEFEED'. If you
set the hotkey of a internally generated menu to LINEFEED, Mystic will
go to the next line and display the 'display text' of the command. This
can be used, for example, to separate normal commands from sysop commands.
+ Added new 'LINEFEED' option into MCFG's menu editor.
+ The Linux version now sets the terminal mode back into RAW mode when
returning from doors. This should solve some problems with running
external programs that modified the terminal setting, causing Mystic to
seem like its getting input in 'line mode' (ie, no hotkeys).
+ Linux: The input buffer is now purged after an ANSI detection.
+ Added new Door execution MCI codes:
%P = Current node's temp path where door drop files are made.
%T = Current user's time left in minutes.
%# = Current user's permanent user index number.
+ MIDE: New option for auto indenting added. This can be toggled on or off
within the MIDE options.
+ MPL: The compilers now ignore semicolons, so if you accidentally add on
at the end of a line or something, the program will still compile.
+ MIDE: When the delete key is pressed on a blank line or if it is pressed
at the end of a line, MIDE will now wrap the text from the following
line onto the current line.
! When reading private e-mail, it was possible to read another user's
email by using a combination of the prev/next message commands and the
reply command. This has been fixed. I doubt many people found the bug
though as it went over a year before it was reported to me.
+ New MCI display code: U#. This returns the user's permanent index
number.
! The GROUP.XXX and FGROUP.XXX display files were showing up during the
login sequence when Mystic was loading the user's msg/file group
information.
+ Added a percentage bar into the lightbar file lister. The new
configuration options for the file list percentage bar can be found in
the language editor of MCFG. Two new and optional Screen Info MCI codes
are now available in the ANSIFLST.XXX template file:
!5 = The X/Y location and text attribute of the actual percentage
of the message read (ie a number between 0 and 100). If this
code is not in the template, it will be ignored.
!6 = The X/Y location of the percentage bar. If this code is not in
the template file, it will also be ignored.
+ If the user's NoCaller flag is set, Mystic will no longer update the
total system calls. In the past, Mystic would only exempt the use from
the last callers data.
! Fixed a bug which would cause the message base listing to pop up during
the user's login. This was a rare bug, but I finally tracked it down
and squashed it.
+ The optional data field of command G1 (View System History) will now
accept a numerical value to display the last xx days of history. For
example, optional data of 10 will show the history of the last 10
days.
+ New MCI Code: SN. Displays the SysOp name as configured in Mystic's
configuration.
! Fixed a bug in the mass mailing procedure that would cause the From:
field in the message to get corrupted.
+ Two new command line options for the Win32 version of Mystic. When
loading Mystic, the socket descriptor or the comm handle can be passed
on the command line. This is used for using 3rd party telnet and dialup
servers such as a mailer. The command line options are:
-TID<socket descriptor>
-CID<comm handle>
! MPL/Linux: Fixed problems with the file access functions, specifically
FSEEK, but others may have been affected by the same bug.
! While reading messages using the lightbar message index, Mystic would
sometimes show messages as new when they were not.
+ The left/right arrow keys now work as page up and down in the lightbar
file listings.
! Mystic was not checking the Post ACS for message bases when uploading
a QWK reply packet.
! Mystic was not checking the ACS before running menu commands with the
AFTER hotkey.
! Mystic was not checking the ACS before running menu commands with the
EVERY hotkey.
! Fixed all mass email bugs. There were several and they should all be
squashed now
- Removed Mystic's internal Zmodem protocol.
+ Added support for external protocols. Mystic is now compatibile with any
protocol driver that can create a DSZ-style log of the files that were
transferred. Mystic will automatically set the DSZLOG environment
variable before executing the configured protocol. Here are the MCI
codes used in the Protocol Configuration:
%0 : Returns communications handle (Win32 and OS/2 only)
%1 : Node's modem port as configured
%2 : User's baud rate
%3 : FileName of file to send/receive (or path/filename of text file
which lists all of the files if in batch mode. When receiving
this will return the directory where files should be uploaded
to).
%4 : Node's baud rate as configured
%5 : User's UserID as passed with the -UID command option
%6 : User's handle. Spaces are converted to _.
%7 : Current node number
+ New Menu command of *P for Protocol Editor and new WFC menu key P to
access the Protocol Editor.
+ New command line option: UID. Here you can pass any value up to 60
characters in length to identify the user. It must be a single word,
it cannot contain any spaces.
+ New MCI code UX returns the user's ID as it was passed with the -UID
command, or blank if one wasn't passed.
+ When pressing ENTER in the lightbar message reader, Mystic will now
PAGE DOWN instead of jumping to the next message immediately. This
allows reading of all messages in the reader by just using the ENTER
key! =]
+ Pressing ENTER in the lightbar file listings now work the same as the
message reader. ENTER will scroll down the listing a page, and if at the
bottom, will move onto the next base in the scan or quit the listing if
not scanning.
+ New Door MCI code (translated when executing doors): %5 will be replaced
by the User ID as passed with the -UID command line option. This works
the same as %5 in the protocol editor.
+ Added the ability to execute an MPL program instead of the command line
for a protocol. By starting your command line with a !, you can have
Mystic run a MPE program. For example:
send Command: !test %1 %2 %3
The above would execute test.mpe from your scripts directory and pass
the results of the %1 %2 %3 protocol MCI codes as command parameters to
the MPL program. Keep in mind that if you do use this to execute some
type of protocol, you must set the DSZLOG environment variable yourself
and have it point to the current node's temp directory as xfer.log. Mystic
will also create an xfer.bat or xfer.sh (depending on operating system) which
can also be executed.
+ Added prompts for protocol selection to the language file. You will
need to replace the old prompts with the new prompts listed below, and
then recompile your language files:
; Protocol List Header
359 |CR|14Available Protocols:|CR
; Protocol list prompt &1=HotKey &2=Description
061 |14[|15|&1|14] |&2
; Protocol select prompt
062 |CR|14Select Protocol [|15Q/Quit|14]: |XX
+ Users now have the option to (R)eply to a received node to node message.
There are updated prompts that go along with this:
145 |CR|09(R)eply to Message or (ENTER/Continue): |15
; NodeMsg reply &1=from &2=node#
360 |CR|09sending reply to |&1 on node |&2:
+ If a user is online when another user sends them e-mail, Mystic will now
notify the user via a system message that new mail has been received.
+ TSERVER now passes the user's IP address using the -UID command line
option.
+ The /TO: /SUBJ: and /ADDR: options now work with the MP menu command.
! MCI codes are now stripped from Message and File base names when they
are written to the Sysop logs.
! The UM (use lightbar message index in E-mail) MCI code was not working
correctly.
! Fixed MCFG and MIDE "Out of memory" errors that could occur sometimes
in Linux. Now if it happens, you are seriously out of memory that was
allocated to those programs. =]
+ Added the ability to change the message subject from within the line and
full screen message editors. The following new/changed prompts exist:
; Line editor "command" prompt help
167 |CR|03(|11A|03)bort Message (|11C|03)ontinue Message (|11U|03)pload Message|CR(|11Q|03)uote Message (|11S|03)ave Message (|11H|03)elp|CR(|11T|03)itle Change
; FS editor command prompt help
355 |CR|03(|11A|03)bort Message (|11C|03)ontinue Message (|11U|03)pload Message|CR(|11Q|03)uote Message (|11S|03)ave Message (|11H|03)elp|CR(|11T|03)itle Change
; line editor edit subject
462 |CR|09Enter new subject:
; FS editor edit subject
463 |CR|09Enter new subject:
+ Expanded the data filename size from 8 characters to 40 characters in
both the message and file bases.
+ Mystic will now recreate MBASES.DAT with the Electronic Mail base if for
some reason reason it does not exist in the data directory.
+ Mystic now allows the quote header to be configurable in all quoted text.
A new prompt goes along with this:
; msgtext quote header &1=date &2=from &3=initials
464 On |&1, |&2 said the following...
+ When tagging a file in the lightbar file lister, Mystic now automatically
moves to the next file after tagging the current.
! Fixed a bug in Linux relating to parsing MCI codes in a display file.
+ Completely rewrote all of the 'local' input and output functions in
the Windows version. It should be faster.
- Removed the password being displayed in clear text on the SysOp status
bar when a user is logging in.
+ The user editor now masks the password with asterisk unless it is being
edited.
- Removed the DOS and OS2 versions.
+ Completely switched all versions of Mystic BBS over to Free Pascal. Using
only one compiler now makes it much easier to maintain the code.
+ Added new MCI code |ISxx where XX is a two digit number. This limits the
actual max amount of input on the next input prompt. Whereas IN limits
the size of the input prompt space itself, this limits the actual amount
of characters that will be accepted.
! Fixed a bug when attempting to determine an archive's file extension
under Linux. The actual extension comparison is now NOT case sensitive
when checking it against the archive tools in the configuration.
! Fixed a bug in the full screen editor, where the cursor would move
strangely when using the right arrow key at the end of a line.
+ MBBSUTIL's UPACK (user pack) function will now go through every message
base marked as "Private" and delete any messages TO or FROM the person
being deleted.
! Mystic wasn't working correctly on voting questions #15-20 (if you had
that many). The maximum is 20 and all 20 should work correctly now.
+ All door menu commands can now include the /DOS option on the command
line data. If /DOS is found, drop files will be created in MSDOS format
even if the operating system is not Windows. If the /DOS option is not
supplied, the drop files will be created in the format of the operating
system (CRLF for Windows and LF for Linux/OSX). Ex:
Menu Command: DD
Optional data: c:\mystic\doors\mydoor.sh %1 %2 /DOS
+ Removed all of the remote modem/TCPIP code for Windows and replaced it
with newer stuff from Mystic 2.0 code. Unfortunately this means that
built in support for modems/dialup has been removed. But it opens a
lot of doors moving forward. I would like to eventually support dialup
in Windows again in the future. It is probably possible using 3rd party
software for now.
! Mystic was not always setting the user's node action correctly when
reading messages. This should be fixed.
! Fixed various bugs with pause prompts, where some terminals sending
CRLF would cause subsequent pause prompts to be skipped.
+ Replaced TSERVER with MIS. MIS only has its telnet functionality
enabled for now. It is based off of the Mystic 2.0 server code,
which had semi-working POP3/SMTP/FTP servers and seems to be more
efficient and at least as stable.
+ Changed the WFC screen to "configuration mode", accessible by running
mystic -cfg command line. This also works in Linux allowing access
to the internal configuration editors. Mystic will skip checking
for created directories and some other data file related start up
checks when this command line is used, so that they can be corrected
using the editors. Mystic only requires MYSTIC.DAT and a valid language
file in order to enter configuration mode.
- Removed the "screen saver" from the WFC/Configuration mode screen. It
was really only useful in the DOS version which is no longer supported.
+ Added a new MCI code: XX. This actually does nothing, but it can be useful
in some prompts files to help with prompts. For example, if you have an
editor that always removes any trailing spaces, you might use it to make
sure the ending space is never removed:
Enter user name:
Enter user name: |XX
! Fixed a bug where Mystic was doing a case sensitive check of language
files in Windows.
+ Expanded menu names to a maximum of 20 characters now, up from 8. Now
that the DOS version is no longer developed, we can finally start moving
away from its limitations! There will be places where this isn't updated
and that is because I didn't want to change the data file formats this
close to release.
+ Added in a new Intel Mac OSX native version of Mystic BBS!
.------------------------------------------------.
| Mystic BBS v1.08 RELEASED : September 20, 2011 |
`------------------------------------------------'
whats_new_108.txt · Last modified: by avon
