There is an setting to (sort)/display in alphabetical order the files (in filebase) after a mass upload ? (on the same day of course). The files uploaded appear in random order.
You just need to run mutil with a correct .ini that sorts the file bases.
https://wiki.mysticbbs.com/doku.php?id=mutil_ini_1.12
NOTE: The FileToss, PackFileBases and FileSort options; then, UNDERNEATH you'll find settings for those various options that you can set. Do be careful, sometimes PackFileBases can delete files if they aren't present or isn't set up correctly.
For example, here is MY filesort_packuser.ini:
----------
[General]
; list of functions to perform on startup
Import_FIDONET.NA = false
Import_MessageBase = false
Import_FILEBONE.NA = false
Export_FILEBONE.NA = false
Import_FILES.BBS = false
MassUpload = false
GenerateTopLists = false
GenerateAllFiles = false
PurgeMessageBases = false
PostTextFiles = false
PackMessageBases = false
ImportEchoMail = false
ExportEchoMail = false
MergeNodeLists = false
FileToss = false
PackFileBases = true
FileSort = true
LinkMessages = false
PurgeUserBase = false
; Don't use PurgeUserBase:
;
https://wiki.mysticbbs.com/doku.php?id=mutil_purge_userbase&s[]=purgeu
serbase
PackUserBase = true
AutoHatch = false
; Set this value if you want to run mutil from a directory other than
; the root Mystic directory or the mysticbbs environment variable:
; mystic_directory=c:\mystic\mystic.dat
; If no directory is specified in the logfile name, mUtil will attempt
; to use the configured LOGS directory from in Mystic's configuration.
; Comment out to disable logging completely.
logfile=mutil.log
; If set to TRUE (*HIGHLY* recommended for MUTIL) then it will write the
; log file in increments of 8KB at a time. If set to FALSE it will writ
e
; each individual line as it is logged. This will significantly reduce
; MUTIL performance if set to FALSE.
logcache=true
; Level 1 = basic
; Level 2 = verbose
; Level 3 = debug
;
; Note that the loglevel can also be set in a specific stanza and that v
alue
; will override the value defined here only for that specific stanza
loglevel=3
; logfile time stamp. defaults to NNN DD HH:II:SS if not set here
;logstamp = YYYYHHMMHHIISS
; Log roller type:
; 0 = Do not roll log files
; 1 = Roll by number of files/filesize
; 2 = Roll by number of days
logtype = 0
; number of log files to keep (0 to disable log rolling)
maxlogfiles = 3
; size of each log file in kilobytes
maxlogsize = 1000
; ==========================================================================
; ==========================================================================
; ==========================================================================
[Import_FIDONET.NA]
; filename to import
filename = fidonet.na
; convert tags to lower case for message base filename 1=yes
lowercase_filename = 1
; The following options define the "default" values used when creating
; any new message bases. netaddress must match an exiting network
; address configured within Mystic BBS. default values are also
; taken from the system configuration for origin line, colors, etc.
netaddress = 1:1/1
acs_list =
acs_read =
acs_post =
acs_sysop = s255
header = msghead
read_template = ansimrd
index_template = ansimlst
max_msgs = 500
max_msgs_age = 365
; true/false type values 0=false 1=true (newscan 2=forced)
use_autosig = 1
use_realname = 0
use_ansi = 1
kill_kludge = 1
private_base = 0
new_scan = 1
qwk_scan = 1
; value is either 0 for JAM or 1 for Squish
base_format = 0
; ==========================================================================
; ==========================================================================
; ==========================================================================
[Import_FILEBONE.NA]
; filename of filebone.na
filename = filebone.na
; root directory to create file paths under. when a new filebone echo
; is found, mUtil will create a file using "root_dir" + areatag. So
; for example if root is "c:\mystic\filebase\" and the areatag is
; MYSTICBBS it will create "c:\mystic\filebase\MYSTICBBS". This root
; directory MUST exist.
root_dir = c:\mystic\files\
; Use echotag for base description and FTP name
use_echotag = false
; Convert tags to lower case for filebase base filename/dir
; True or 1 for yes, false or 0 for no
lowercase_filename = true
; Default values when creating a new file base
dispfile =
template = ansiflst
acs_list =
acs_ftp =
acs_download =
acs_upload =
acs_hatch =
acs_sysop = s255
; true/false type values 0=false 1=true (newscan 2=forced)
new_scan = 1
free_files = 0
show_uploader = 1
anon_ftp = 0
; ==========================================================================
; ==========================================================================
; ==========================================================================
[Export_FILEBONE.NA]
; Path/Filename of NA file to create
filename = filebone.na
; Include only the following zones (separated by commas)
; If commented out, all network bases that have an echotag and address
; set will be exported
;zones = 0,1,2,3,4
; ==========================================================================
; ==========================================================================
; ==========================================================================
[Import_FILES.BBS]
; This function searches the filebase directories for existance of a
; text-based file listing file (often known as FILES.BBS but other
; formats can be imported as well
; The files must physically exist in the same directory as the file
; in order for them to be uploaded to the BBS.
; Files that have have different file size in the database compared
; to the physical file can also be updated with the new size and a new
; file description, useful for using with external TIC processors.
; The name of the file to look for in each directory
filesbbs=files.bbs
; Upload name for files uploaded by this function
uploader_name = Mystic BBS
; Delete the FILES.BBS file after processing
delete_after = false
; Update existing files in the database, if their file sizes do not matc
h?
; Both size and description will be imported
update_files = false
; The FILES.BBS format must be configured here using the following optio
ns
;
; DESC_FIRST: Defines how the first line of the file description is hand
led.
;
; If the value is 0, the importer will expect for the file description
to
; appear directly after the filename (ie, the second "word" on the lin
e).
;
; If the value is -1, then the importer will not look for a descriptio
n on
; the first line.
;
; If the first description line is always at a specific character posi
tion
; on the first line, then DESC_FIRST should contain the character posi
tion
desc_first = 0
; DESC_CHAR: Defines the character identifier for an extended descriptio
n line
; if this value is blank, it will mean a space.
desc_char =
; DESC_START: Defines the character position of the extended description
line.
; If a line contains the DESC_CHAR at the DESC_START positio
n,
; then the importer will copy everything after that as an ex
tended
; descripttion line.
desc_start = 14
; ==========================================================================
; ==========================================================================
; ==========================================================================
[MassUpload]
; this function searches all configured file directories for new
; files and will upload them into the BBS. It will attempt to
; import FILE_ID.DIZ using the configured archivers if the option
; is enabled.
; Name to save has the uploader
uploader_name = paulie420
; Import FILE_ID.DIZ? 1=yes
import_fileid = 1
; No description string used when no FILE_ID.DIZ is imported.
no_description = No Description
; Ignore list one file mask per line (allows * and ? wildcards)
ignore = files.bbs
;ignore = *.readme
; ==========================================================================
; ==========================================================================
; ==========================================================================
[GenerateTopLists]
; Top list generator can generate up to top 99 for various different
; statistics. Each individual top file can be enabled or disabled and
; can each have their own template files that are totally configurable.
;
; 1=enable for top_call, top_post, etc.
;
; The number of items in each list is determined by the template. It
; could be any number between 1 and 99.
;
; In the templates use @NA01-99 for name and @DA01-99 for numerical data
; @DE returns the value set as _desc in the configuration. You can look
; at the provided template as an example.
;
; namelen and datalen define the width the MCI code is padded to
;
; exclude list is one name per line text file listing names which should
; not be included in the generated output. lines that begin with a ;
; are considered comments.
exclude_list = mutil.toplist.exclude.txt
; User name for "no one" when for example you have 3 users and make a
; top 10 list
no_user = No one
; Sort order. You can use this to calculate top or bottom 99. 1=top
sort_top=1
; configuration for top callers generator
; @NA=name @DA=calls
top_call = 1
top_call_template = mutil.toplist.txt
top_call_output = topcallers.asc
top_call_desc = Callers
top_call_namelen = 30
top_call_datalen = 10
; configuration for top downloads
; @NA=name @DA=downloads
top_dl = 1
top_dl_template = mutil.toplist.txt
top_dl_output = topdownload.asc
top_dl_desc = Downloaders
top_dl_namelen = 30
top_dl_datalen = 10
top_ul = 1
top_ul_template = mutil.toplist.txt
top_ul_output = topupload.asc
top_ul_desc = Uploaders
top_ul_namelen = 30
top_ul_datalen = 10
top_post = 1
top_post_template = mutil.toplist.txt
top_post_output = topposts.asc
top_post_desc = Posters
top_post_namelen = 30
top_post_datalen = 10
top_pcr = 1
top_pcr_template = mutil.toplist.txt
top_pcr_output = toppcr.asc
top_pcr_desc = Posts Per Call
top_pcr_namelen = 30
top_pcr_datalen = 10
; ==========================================================================
; ==========================================================================
; ==========================================================================
[GenerateAllFiles]
; Generate all files list
; Path / filename of output filename. If the path is not included then
the
; file will be created in whatever the current working directory is.
filename = allfiles.txt
; ideas/features for the future?
; header, footer, baseheader, basefooter, exclude bases, uploader option
al
; uploader line, format list line 1st,2nd line, space between files?
; ==========================================================================
; ==========================================================================
; ==========================================================================
[PurgeMessageBases]
; No options for this function
; ==========================================================================
; ==========================================================================
; ==========================================================================
[PackMessageBases]
; No options for this function
; ==========================================================================
; ==========================================================================
; ==========================================================================
[PostTextFiles]
; Total number of text files to be posted. For each file there needs to
; be a file definition as show below.
totalfiles = 2
; This defines one file which will be posted to the message base. Each
; file should be prefixed with file# where # is a number from 1 to
; totalfiles.
;
; The delfile option (if true) will remove the filename after the messag
e
; is posted. The baseidx is the permanent index of the message base to
; post the message into (shown as Index at the top of the message base
; editor in Mystic's configuration. Address is the echomail destination
; address
file1_name = myfile.txt
file1_baseidx = 2
file1_from = Sysop
file1_to = All
file1_subj = My subject
file1_addr = 0:0/0
file1_delfile = false
file2_name = myfile.txt
file2_baseidx = 2
file2_from = Sysop
file2_to = All
file2_subj = My subject
file2_addr = 0:0/0
file2_delfile = false
; ==========================================================================
; ==========================================================================
; ==========================================================================
[Import_MessageBase]
; This option scans the message base directory, and creates any messages
; bases inside of Mystic that have data files in the directory.
search_subdirs = true
; The following options define the "default" values used when creating
; new message bases. netaddress must match an exiting network
; address configured within Mystic BBS. default values are also
; taken from the system configuration for origin line, colors, etc.
netaddress = 1:1/1
acs_list =
acs_read =
acs_post =
acs_sysop = s255
header = msghead
read_template = ansimrd
index_template = ansimlst
max_msgs = 500
max_msgs_age = 365
; network type (0=local, 1=echomail, 2=newsgroup 3=netmail)
net_type = 1
; true/false type values 0=false 1=true (newscan 2=forced)
use_autosig = 1
use_realname = 0
kill_kludge = 1
private_base = 0
new_scan = 1
qwk_scan = 1
use_ansi = 1
; ==========================================================================
; ==========================================================================
; ==========================================================================
[ImportEchoMail]
; If you want to save duplicated / bad messages to a certain message
; base, then set this value to the *INDEX* of the message base (viewable
; at the top of the msgbase editor). Otherwise, set this value to -1
; or leave it commented out and they will be ignored.
; dupe_msg_index = 5
; This defines the number of messages to keep in the duplicate database.
; Each message takes 8 bytes of data, so for example 32,000 messages tak
es
; 256kb of memory while importing messages. Max is 250,000 messages.
dupe_db_size = 32000
; Toss packets from unsecure directory in addition to inbound?
unsecure_dir = true
; Strip SEEN-BY lines from messages when importing?
; Note: This option should never be enabled if you current hub echomail
; or plan to act as an echo echomail hub for other BBS systems in the
; future.
strip_seenby = false
; Rescan command to use when someone does a full %RESCAN on all bases
; This must be a valid command (ie R=<msgs> D=<days> or else the rescan
; will refuse to perform any action. The default is the last 250 messag
es
; for each base. Setting it to D=90 for example would give the last 90
; days of messages. If you want the default to send every message in th
e
; base, then set it to go back a ridiculous number of messages R=9999999
99
default_rescan = R=250
; If you want to remap netmail from one user name to another, you can
; define up to 50 remapped names below using the format <orig>;<new>
; Names are case insensitive.
;
;forward = sysop;g00r00
;forward = system operator;g00r00
; If you want to twit filter names so that messages are not imported
; or tossed to downlinks, then you can do one per line here, up to
; 100. Example:
;twit=John Guillory
;twit=kf5qeo
;twit=1:396/60
;twit=46:1/138
; If you want MUTIL to auto create message bases when it finds an
; echomail message for a non-existing base, set this value to true
; and use the options below to define the default values
auto_create = true
; Convert filenames to lowercased 1=true
lowercase_filename = 1
acs_list =
acs_read =
acs_post =
acs_sysop = s255
header = msghead
read_template = ansimrd
index_template = ansimlst
max_msgs = 500
max_msgs_age = 365
; true/false type values 0=false 1=true (newscan 2=forced)
use_autosig = 1
use_realname = 0
use_ansi = 1
kill_kludge = 1
new_scan = 1
qwk_scan = 1
; If you want to create settings specific to certain node addresses you
can!
; For example, if you want auto created bases that are linked to your Ag
oraNet
; address of 46:999/999 then you can by prefixing with the address:
;46:999/999_acs_list =
;46:999/999_acs_read =
;46:999/999_acs_post =
;46:999/999_acs_news =
;46:999/999_acs_sysop = s255
;46:999/999_use_realname = 0
; ==========================================================================
; ==========================================================================
; ==========================================================================
[ExportEchoMail]
; Do not export messages from users currently online
skip_online = true
[MergeNodeLists]
; Finds the latest nodelists and merges them together in the mystic data
; folder.
;
; Set nodefile value one per line. The value should contain the full pa
th
; and the base filename of the nodelist.
;
; examples:
; nodefile=c:\nodelist\nodelist
; nodefile=c:\nodelist\agoranet
;
; The above example will search in c:\nodelist and select the latest
; nodelist.### and agoranet.### nodelists. This comparison is first don
e
; by checking the day extension. If the extension is archived (.z12, et
c)
; it will be unarchived before comparison.
;
; After decompressing, the 3-digit day extensions are compared, selectin
g
; the highest number. It will also compare the years of the file dates,
; and select the newest option. So if you have nodelist.025 dated 2013
; and also nodelist.320 dated 2012, nodelist.025 will be selected.
;
; The same process is then be repeated for agoranet.### and once all of
; the defined 'nodefiles' are processed, they will be merged together an
d
; copied into Mystic's DATA folder so it can be used for nodelist lookup
s.
;
; If no nodelists are found, Mystic will not overwrite the current
; nodelist. Comments are stripped while merging to lower filesize and
; increase search performance.
; Strip nodes marked as DOWN?
strip_down = true
; Strip nodes marked as PRIVATE?
strip_private = true
nodefile=d:\nodelists\nodelist
nodefile=d:\nodelists\agoranet
[FileToss]
; Processes .TIC files from incoming directories and move/upload files t
o the
; appropriate file bases (optionally creating them). Files are then tos
sed
; to the fileboxes of all downlinks connected to the file base.
; Directory where failed files are moved, or comment out to disable arch
ive of
; failed files. This includes incorrect file sizes, bad CRC, missing ar
ea
; when auto-create is disabled, duplicate files, unsecured, etc.
bad_dir=d:\mystic\files\badfile
; Toss TIC from unsecure directory in addition to inbound?
unsecure_dir = false
; File description to use when no DIZ, long description or description c
an be
; found from the file or .TIC file.
no_desc=No Description
; Name of the uploader to use when adding TIC files into the local file
bases
uploader=Mystic TIC
; Check size and CRC values supplied in TIC file (if found) against the
actual
; file. If the value does not match, then skip tossing the file (moving
it
; to the bad directory if enabled)
check_crc = true
check_size = true
; If this is true, then files that are FROM an unknown node will still b
e
; processed. If false, they will be moved to the bad directory or delet
ed
; depending on configuration. An "unsecure" node is one that is not dir
ectly
; configured within your echomail nodes configuration.
allow_unsecure = false
; If this is true, then Mystic will allow the REPLACE TIC option, which
will
; remove and replace files by the specified file mask.
allow_replace = true
; If true, then Mystic will attempt to autocreate file bases when a file
is
; found for an Area that does not already exist. If an unknown file is
found
; and this option is disabled, the file will be considered a failure, an
d will
; be ignored/moved to bad directory (if enabled)
auto_create = true
; The directory prefix for auto-created bases. This will be used with t
he
; areatag appended onto it, so for example if prefix was set to:
;
; dir_prefix=c:\mystic\files\fdn_
;
; And the areatag was "nodelist", Mystic would create and the use path:
; c:\mystic\files\fdn_nodelist\
;
; And the datafile would be fdn_nodelist
dir_prefix = d:\mystic\files\fdn_
; Auto create base options
dispfile =
template = ansiflst
acs_list =
acs_ftp =
acs_download =
acs_upload =
acs_hatch =
acs_sysop = s255
; true/false type values 0=false 1=true (newscan 2=forced)
free_files = 0
show_uploader = 1
new_scan = 1
; Node-specific options allow some options to be overridden when a file
is
; coming from a specific node. These options should be prefixed with th
e
; address, examples for each supported option are listed below in commen
ts
;46:100/1_bad_dir = d:\mystic\files\badfile_agoranet\
;46:100/1_dir_prefix = d:\mystic\files\agora_
;46:100/1_allow_replace = true
;46:100/1_acs_list = s20z2
;46:100/1_acs_ftp = s20z2
;46:100/1_acs_download = s20z2
;46:100/1_acs_upload = s20z2
;46:100/1_acs_hatch = s20z2
;46:100/1_acs_sysop = s255z2
[PackFileBases]
; If true, MUTIL will check to make sure files exist, and will update
; their file size in the listing, optionally removing missing files
; (remove_missing)
check_files = true
; If true, MUTIL will remove any files which do not exist from the file
; list database while checking integrity. Otherwise they will be
; flagged as OFFLINE in the file listing. 0 byte files are considered
; "missing"
remove_missing = false
[LinkMessages]
; This function has no options
[PurgeUserBase]
; Mark users for deletion that haven't called in days.
; This value cannot be less than 7
days = 365
[PackUserBase]
[FileSort]
; Sort on which attribute (0=filename 1=size 2=date 3=downloads)
attribute = 0
; Sort direction 0=Ascending (A to Z, 1 to 10) 1=Descending (Z to A, 1
0 to 1)
direction = 0
[AutoHatch]
; Files will be automatically hatched to connceted downlinks
; Each file must already exist in the file base. The format
; file=<base ID or echotag> | filename | replaces filename (optional)
file=nodelist | nodelist.z99 |nodelist.z99
file=3 | nodelist.z98
----------
Then on Linux I just run:
./mutil filesort_packuser.ini
Viola.. :P
|07p|15AULIE|1142|07o
|08.........
--- Mystic BBS v1.12 A49 2024/05/29 (Linux/64)
* Origin: 2o fOr beeRS bbs>>>20ForBeers.com:1337 (21:2/150)