Bryan Ashby
eea9e7b5e6
Don't use Errors
2019-01-24 21:53:45 -07:00
Bryan Ashby
aa9cd8899c
New 'userStatIncNewVal' achievement type
2019-01-24 21:53:31 -07:00
Bryan Ashby
ae2a225e3a
Module for listing user achievements earned
2019-01-22 21:55:28 -07:00
Bryan Ashby
4f0ade6ce1
* getAchievementsEarnedByUser() exported as standard method using global inst
...
* Added timestamp info
2019-01-22 21:54:37 -07:00
Bryan Ashby
4b763cc369
Spelling
2019-01-22 21:54:12 -07:00
Bryan Ashby
b45cccaef7
Don't real-time interrupt while you interrupt... yo dawg.
2019-01-22 20:19:05 -07:00
Bryan Ashby
16e903d4c6
Achievements are now recorded in more detail such that they can be retrieved *as they were* at the time of earning
2019-01-20 21:58:00 -07:00
Bryan Ashby
18a7a79f14
TopX mciMap standardized on "value" vs (propName, logName, etc.)
2019-01-20 21:57:31 -07:00
Bryan Ashby
34f0afc175
Fix INSERT clause for cases of overlap
2019-01-20 12:22:42 -07:00
Bryan Ashby
4696bd9ff2
Fix PCBoard/WildCat! color codes
2019-01-18 23:46:15 -07:00
Bryan Ashby
0457a6601f
Better door tracking
...
* Send event info with door run time & door tag
* Only if >= 45s
* Only log minutes if >= 1
* No timer required; track only @ door exit time
2019-01-18 23:12:01 -07:00
Bryan Ashby
7776391184
Door utility and door tracking
...
* Require >= 45s of time in a door before it counts as "run"
2019-01-18 22:09:10 -07:00
Bryan Ashby
4e1997302e
Fairly functional
2019-01-17 21:27:37 -07:00
Bryan Ashby
2a3271ef4e
Fix some events
2019-01-17 21:27:25 -07:00
Bryan Ashby
39e7fe5d69
+ WIP TopX module
2019-01-17 20:18:23 -07:00
Bryan Ashby
dc70521057
+ New, more detailed user event log entries that can be summed/etc.
...
* Last callers indicators now use new user event log entries
2019-01-17 20:18:02 -07:00
Bryan Ashby
7c6e3e3ad4
Cleanup, notes, etc.
2019-01-17 20:14:59 -07:00
Bryan Ashby
483e7f4ee9
Add global boolean to node sent event
2019-01-17 20:14:33 -07:00
Bryan Ashby
680898b56b
Add minutes used to logoff event
2019-01-17 20:13:49 -07:00
Bryan Ashby
6408e40604
Fix minor typo
2019-01-13 19:10:54 -07:00
Bryan Ashby
403ee891d5
Change column name, drop a useless one
2019-01-13 18:19:00 -07:00
Bryan Ashby
90137819dd
Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into achivements-0.0.9-alpha
2019-01-12 23:00:27 -07:00
Bryan Ashby
d5bd2d5adf
Experimental UTF-8 -> CP437 (aka nix -> ansi) override to work around terms such as NR that report 'xterm' but want CP437
2019-01-12 10:31:03 -07:00
Bryan Ashby
3f2e836a83
Minor fixes
2019-01-10 21:41:32 -07:00
Bryan Ashby
2788c37492
+ ACS: AC for achievement count check
...
+ ACS: AP for achievement point check
+ User minutes used on the system are now tracked
+ MCI: TO for total time spent online system (friendly format)
* Fix up a couple ACS bugs with |value|
* Fix formatting of achievement text
+ Add more achievements
* Fix achievement duration formatting
2019-01-10 20:34:52 -07:00
Bryan Ashby
091a9ae2c7
Fix some bugs, clean up, etc. in achievements
2019-01-09 20:07:59 -07:00
Bryan Ashby
b96fa154c0
Spelling
2019-01-09 20:07:27 -07:00
Bryan Ashby
83c57926d3
Never interrupt during upload
2019-01-09 20:06:55 -07:00
Bryan Ashby
c9af0edef8
resetScreen() vs clearScreen()
2019-01-09 20:06:30 -07:00
Bryan Ashby
34c9178099
Achievement & Event improvements
...
* User stat set vs user stat increment system events
* Proper addMultipleEventListener() and removeMultipleEventListener() Events APIs
* userStatSet vs userStatInc user stat achievement types. userStatInc for example can be used for door minutes used
2019-01-06 21:56:12 -07:00
Bryan Ashby
925ca134c6
Door stats for CombatNet module
2019-01-06 18:01:03 -07:00
Bryan Ashby
99a95e7648
Door stats to Exodus module
2019-01-06 17:50:22 -07:00
Bryan Ashby
8315b62199
Door stats to BBSLink module
2019-01-06 17:42:07 -07:00
Bryan Ashby
f653d83c14
Implement retroactive achievements (for userStat types so far)
2019-01-06 10:41:04 -07:00
Bryan Ashby
2b802cb534
Better theming for achievements
2019-01-05 22:51:16 -07:00
Bryan Ashby
22b7fdd65c
Add door stats & new mini format styles
...
+ Door runs stat
+ Door run minutes stat
+ Door runs MCI
+ Door run friendly duration MCI
+ durationHours/Minutes/Seconds mini format styles
2019-01-05 21:17:53 -07:00
Bryan Ashby
9d39e99c5a
Update copyright
2019-01-05 21:17:18 -07:00
Bryan Ashby
3d07f763d1
Achievement improvement & more achievements
2019-01-05 19:04:19 -07:00
Bryan Ashby
f56a72e0c3
Start of theming of achievements
...
+ default text/SGR styles can now be set for quick customization of colors
2019-01-05 16:55:37 -07:00
Bryan Ashby
2bd51c0725
Achievements are now in 'achievements.hjson'
...
+ Config.general.achievementFile
* Implement (re)caching (aka hot-reload)
* Update values a bit
2019-01-05 12:18:44 -07:00
Bryan Ashby
c332b0f3ec
WIP on user achievements
...
+ Add MCI codes for points/count
+ Add docs for MCI codes
+ Record in stats, stat log, etc.
* Do not trigger more than once
* Code cleanup & organization, add classes, etc.
* Tweaks to DB table
2019-01-05 10:49:19 -07:00
Bryan Ashby
6410637359
Don't allow real time interrupt until ready
2019-01-03 22:03:00 -07:00
Bryan Ashby
10517b1060
Progress on achivements
...
* Fetch art if available
* Queue local and/or global interrupts
* Apply text formatting
* Bug exists with interruptions in certain scenarios that needs worked out
2019-01-03 21:03:08 -07:00
Bryan Ashby
bd03d7a79b
Fix comment
2019-01-03 21:02:57 -07:00
Bryan Ashby
ea055ab58b
Handle pause for text-only interruptions also
2019-01-03 21:02:42 -07:00
Bryan Ashby
9f728a2e94
Fix longstanding bug with node IDs
2019-01-03 21:02:21 -07:00
Bryan Ashby
a34dab6a73
WIP on user achievements
...
* Hook up events for testing
* Start to plug in experimental interrupt
2019-01-02 22:13:42 -07:00
Bryan Ashby
c5a72c7356
TODO notes
2019-01-02 20:08:00 -07:00
Bryan Ashby
eaace9a81d
TODO notes
2019-01-02 20:07:46 -07:00
Bryan Ashby
b23cdd20bf
Listen to 'env' events
2019-01-02 19:52:15 -07:00
Bryan Ashby
4fb7c4bf53
Some minor cleanup
2018-12-31 11:33:14 -07:00
Bryan Ashby
0230d9958c
Better screen size detection when NAWS/etc. fails:
...
Ask to move cursor to 999,999. We expect that we'll really get something like 80x25 generally. *Then* issue
special DSR that should give us screen size. We should get a good "bottom right" aka screen size either way.
2018-12-31 11:30:40 -07:00
Bryan Ashby
78484a2352
Compare SAUCE for --update propertly
2018-12-29 13:28:08 -07:00
Bryan Ashby
6b02ddbdae
Fix FILE_ID.DIZ (and other) display issues when ANSI is stored with specific term width in SAUCE
...
+ Preserve SAUCE records of desc/long_desc during import (in meta)
* Use SAUCE term width for ANSI Prep when displaying desc
2018-12-29 13:15:58 -07:00
Bryan Ashby
046550842b
ACS changes in prep for checking from ie content servers such as NNTP
...
* ACS now takes subject { client, user }
* ACS checks now consider client/user optional & checks fail (return false) if an object is not available
2018-12-28 10:39:41 -07:00
Bryan Ashby
8d46a305c5
Add IP address to failed login attempts
2018-12-27 14:16:59 -07:00
Bryan Ashby
3864d957c9
* Servers now use async listen()
2018-12-27 02:46:16 -07:00
Bryan Ashby
9d1815682d
* ServerModule's createServer() is now async
...
* Re-write of NNTP Message-ID <> internal message UUIDs
2018-12-27 02:19:26 -07:00
Bryan Ashby
ee93035bb8
* Disconnect clients that attempt to login with banned usernames for Telnet as well
...
* Slow disconnects to thwart brute force attacks - these names won't exist anyway,
but we want the attacking client to not DoS us
2018-12-25 00:18:04 -07:00
Bryan Ashby
06a1925288
Check bad usernames @ login
2018-12-24 15:32:38 -07:00
Bryan Ashby
73e8b0454e
Wrap ctx.reject() and catch throws
2018-12-24 15:14:37 -07:00
Bryan Ashby
c6e176f5bd
Add oputil fb desc
2018-12-21 14:39:57 -07:00
Bryan Ashby
f4088303ca
cleanControlCodes -> stripAnsiControlCodes
2018-12-17 22:08:59 -07:00
Bryan Ashby
eeaeef9a8c
Yet another FILES.BBS type
2018-12-17 21:39:25 -07:00
Bryan Ashby
1f5ec39778
Strip pipe codes!
2018-12-17 21:39:10 -07:00
Bryan Ashby
03662dc056
Fix major durp in code with CNET codes
2018-12-17 21:38:09 -07:00
Bryan Ashby
098e3c2fba
More FILES.BBS support
2018-12-17 17:23:02 -07:00
Bryan Ashby
84ca97e936
FILES.BBS handling improvements - WIP
2018-12-17 15:56:09 -07:00
Bryan Ashby
996fcb389e
Minor help update
2018-12-17 12:10:55 -07:00
Bryan Ashby
832e04cdf0
+ Initial FILES.BBS support during file scan: A few formats supported so far, more to come...
...
* Detect DESCRIPT.ION, FILES.BBS, etc. during scans
2018-12-17 12:08:06 -07:00
Bryan Ashby
8356f00ba6
Fix bug when user has been nuked
2018-12-17 11:56:07 -07:00
Bryan Ashby
b1eea4f4b7
Some logging updates
2018-12-17 11:20:14 -07:00
Bryan Ashby
12a1809a88
lol fail
2018-12-16 00:40:14 -07:00
Bryan Ashby
422a925daa
+ oputil.js user info
...
* Fix up some help messaging
* Don't allow del of +op
2018-12-16 00:26:28 -07:00
Bryan Ashby
6d45d74a47
Little better NNTP config
2018-12-15 23:52:59 -07:00
Bryan Ashby
3eaf4dd0d8
+ oputil.js user rm USERNAME
...
* Fix some of my horrid spelling...
2018-12-15 23:42:19 -07:00
Bryan Ashby
cf6e3d3ba8
Better logging
2018-12-15 02:40:36 -07:00
Bryan Ashby
b89096fd99
publicPort typo
2018-12-15 02:39:57 -07:00
Bryan Ashby
4b2771012b
Show desc if set
2018-12-15 02:06:15 -07:00
Bryan Ashby
dba2fc18f6
Strip MCI/Pipe codes
2018-12-15 01:55:38 -07:00
Bryan Ashby
a3ba57b0b8
Fix schedule issue
2018-12-14 23:21:33 -07:00
Bryan Ashby
b903b2ee82
Better logging
2018-12-14 23:08:53 -07:00
Bryan Ashby
874aee5baa
Change listen addr
2018-12-14 23:03:10 -07:00
Bryan Ashby
772022f0d0
+ NNTP Content Server
...
* Read-only to public conf/areas only for now
* Missing some protocol support
* Could use better encoding practices and ANSI prep
2018-12-14 22:21:57 -07:00
Bryan Ashby
cde329b439
Spelling
2018-12-10 21:54:59 -07:00
Bryan Ashby
a036f6c6bf
Minor code tidy
2018-12-09 02:35:34 -07:00
Bryan Ashby
a70d865d74
Code tidy
2018-12-09 02:33:48 -07:00
Bryan Ashby
844286ea1c
Use constants
2018-12-09 02:32:41 -07:00
Bryan Ashby
704c242aa4
Fix bug in newScanMessageArea()
2018-12-09 02:32:20 -07:00
Bryan Ashby
167916e8dd
Fix bug in findByFullPath()
2018-12-09 02:20:50 -07:00
Bryan Ashby
8652b35b46
Code cleanup & resolve some minor TODO's in dropfile gen
2018-12-09 01:01:55 -07:00
Bryan Ashby
a8604ece54
Ensure 'userName' has _something_ if sanatized all the way out
2018-12-09 00:17:03 -07:00
Bryan Ashby
2474e82829
Change default dropfile path to just ./enigma-bbs/drop/ so we can have a shorter name for Win16 binaries
2018-12-08 23:41:42 -07:00
Bryan Ashby
ecb0cd8941
Minor door updates
2018-12-08 00:43:20 -07:00
Bryan Ashby
60369ea378
* Note on FILEBONE.NA support
...
* Notes on importing in file area docs
2018-12-04 20:42:56 -07:00
Bryan Ashby
9c835af000
Initial support for FILEGATE.ZXX / RAID style import of file areas
2018-12-03 23:51:43 -07:00
Bryan Ashby
0c23339a2d
Code cleanup: Use EnigError's vs standard Error. WIP...
2018-12-02 19:33:07 -07:00
Bryan Ashby
5dea13e652
+ validateConfigFields() for 'config' block validation
2018-12-02 19:30:50 -07:00
Bryan Ashby
36d55a409e
Add send node msg event
2018-12-01 17:00:07 -07:00
Bryan Ashby
eec06e7004
Fix oops!
2018-12-01 16:59:47 -07:00
Bryan Ashby
fe44f2c4d6
User interrupts & node module ready to rock. ...maybe with bugs?
2018-11-30 23:20:44 -07:00
Bryan Ashby
d9238ee6a5
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions
2018-11-29 21:17:31 -07:00
Bryan Ashby
6d2c095976
Fix cb
2018-11-27 22:01:14 -07:00
Bryan Ashby
098c24e48a
Fix D/L stats
2018-11-27 21:29:35 -07:00
Bryan Ashby
6cce013187
+ MCI: PT - total messages posted today (non-private)
...
+ MCI: TP - total messages/posts on system (non-private, includes imports, only counts *current*, not all of time)
* Move some stats to startup() calls
* Fix some DATE() comparisons in SQL to use 'localtime' as our timestamps include TZ
* Update luciano_blocktronics SYSSTAT to show more info
2018-11-27 21:21:00 -07:00
Bryan Ashby
fb13381bb5
Default back to 'forever' for login history. It's small data...
2018-11-27 19:45:36 -07:00
Bryan Ashby
4b5f26b31b
Record offeset again... dur
2018-11-25 20:31:25 -07:00
Bryan Ashby
e606ec6f63
Fix ISO timestamps hopefully
2018-11-25 20:29:36 -07:00
Bryan Ashby
f471fd0ebe
Finally implement "Total Calls Today" MCI: TT
...
+ Add findSystemLogEntries() to StatLog amongst others
2018-11-25 20:13:48 -07:00
Bryan Ashby
ec97b3e8d4
More user/system stat constants & usage
2018-11-25 19:05:16 -07:00
Bryan Ashby
596026d1ce
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions
2018-11-25 10:42:12 -07:00
Bryan Ashby
e464f95924
UT MCI now displays theme name, UD displays ID
2018-11-25 10:35:05 -07:00
Mike Ralphson
546fbbd533
oputil_help; correct references to optutil
2018-11-25 13:59:12 +00:00
Bryan Ashby
c0de3d7048
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions
2018-11-24 20:26:19 -07:00
Bryan Ashby
2c4fdfdd5f
* Moved oputil.js config import-areas to 'oputil.js mb import-areas'
...
* 'oputil.js mb import-areas' now *optionally* binds areas to FTN networks. Otherwise only areas are imported
2018-11-24 20:02:19 -07:00
Bryan Ashby
1dafa2854b
Fix initial load introduced last nigth :(
2018-11-24 09:39:53 -07:00
Bryan Ashby
2fb3ce83a3
Spelling...
2018-11-24 09:33:20 -07:00
Bryan Ashby
36e9356663
Merge branch '0.0.9-alpha' of github.com:NuSkooler/enigma-bbs into user-interruptions
2018-11-23 22:19:18 -07:00
Bryan Ashby
f80e07fcf9
...and more UserProps
2018-11-23 22:18:15 -07:00
Bryan Ashby
d11aca571e
Yet more UserProps usage
2018-11-23 22:02:36 -07:00
Bryan Ashby
4050affedf
More conversion to UserProps
2018-11-23 17:41:16 -07:00
Bryan Ashby
b82c640014
Work on using UserProps, fix up ISO timestamps, etc.
2018-11-23 14:47:18 -07:00
Bryan Ashby
f45e785da1
oputil.js user activate <name> will now unlock accounts
2018-11-23 12:02:41 -07:00
Bryan Ashby
a4823c0c4a
Logging around accoung lock/unlocking
2018-11-23 11:44:46 -07:00
Bryan Ashby
df2bf4477e
SECURITY UPDATE
...
* Handle failed login attempts via Telnet
* New lockout features for >= N failed attempts
* New auto-unlock over email feature
* New auto-unlock after N minutes feature
* Code cleanup in users
* Add user_property.js - start using consts for user properties. Clean up over time.
* Update email docs
2018-11-22 23:07:37 -07:00
Bryan Ashby
1f9b963e76
Fix typo
2018-11-22 10:10:53 -07:00
Bryan Ashby
20e9d9ad7e
Actually log spawn() failure in Event Scheduler
2018-11-21 22:21:24 -07:00
Bryan Ashby
ec1ce3062e
Catch bad spawn
2018-11-21 21:24:11 -07:00
Bryan Ashby
472968e81d
Cleaner code
2018-11-21 19:50:03 -07:00
Bryan Ashby
9fd819d608
Resolve TODO RE using EnigError for bad login attempts
2018-11-21 19:43:50 -07:00
Bryan Ashby
ebc70907d4
Newest messages first when listing msgs from Gopher
2018-11-21 17:55:31 -07:00
Bryan Ashby
3af5b6f509
* Word wrap messages when output via Gopher server
...
* Fix Gopher startup banner default
2018-11-20 21:02:30 -07:00
Bryan Ashby
3fd526da6f
Fix some spelling
2018-11-20 21:01:39 -07:00
Bryan Ashby
ec1f437dd9
Fix DEP0005 during file base scan
2018-11-19 20:16:30 -07:00
Bryan Ashby
370f8039db
* Use itemFormat/focusItemFormat for set newscan message/file conf/areas
...
* Docs for set_newscan_date module
2018-11-18 14:19:34 -07:00
Bryan Ashby
b34294fbef
* Docs + itemFormat/focusItem format for web download manager
...
* Fix some typos
2018-11-18 12:02:57 -07:00
Bryan Ashby
e316b5fe80
Add File Base Download Manager docs
2018-11-18 01:56:40 -07:00
Bryan Ashby
2a95849f7d
Add default keys for show art by message/file conf/areas
2018-11-17 21:04:00 -07:00
Bryan Ashby
b3ec97cc5c
Art asset ACS conditional cleanup: Make more general purpose
2018-11-17 18:56:09 -07:00
Bryan Ashby
ac0f54dc9b
Better MCI handling
2018-11-17 13:24:16 -07:00
Bryan Ashby
8702e309ae
Fix bug in default config / user config merging: Some arrays should be replaced while others should be merged
2018-11-17 13:14:51 -07:00
Bryan Ashby
f4b03826b0
Fix --version
2018-11-15 22:21:45 -07:00
Bryan Ashby
f9429dd2e6
Move where passwordChar lives
2018-11-15 20:32:08 -07:00
Bryan Ashby
080d1727c2
WIP on real-time interruptions (ie: incoming message)
...
Still need work on *when* they are allowed with good defaults, etc.
2018-11-14 22:47:20 -07:00
Bryan Ashby
4025c3c643
Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions
2018-11-14 22:05:23 -07:00
Bryan Ashby
cc9c143927
Cleanup & prep for real-time interrupt
2018-11-14 22:04:29 -07:00
Bryan Ashby
e4cb93a17c
Use better logging for archiver spawn()
2018-11-14 21:24:15 -07:00
Bryan Ashby
ea4fb090e2
Better error report from spawn() fail in extractTo()
2018-11-14 21:00:21 -07:00
Bryan Ashby
b3930d1999
WIP on node-to-node msg
...
+ Preview
* Fix node IDs
+ Add new MenuModule method for validating MCI codes
2018-11-14 20:51:11 -07:00
Bryan Ashby
941e7d0a03
Fix ./main.js --version
2018-11-14 19:53:14 -07:00