675 lines
22 KiB
Plaintext
675 lines
22 KiB
Plaintext
Waiting for caller
|
||
------------------
|
||
Exit program
|
||
Recent Callers
|
||
Stats
|
||
Local Login
|
||
|
||
|
||
Login Sequence
|
||
--------------
|
||
Confirm Handshake - show baud, whatever
|
||
Greeting
|
||
Prompt
|
||
Name/Number/Handle
|
||
Password
|
||
Welcome
|
||
User info
|
||
'Hi' Status, Name ' you have ' Time Left ' minutes.'
|
||
Message of the Day - Shortage on /u2
|
||
Stats of some kind -
|
||
New
|
||
Announcements
|
||
Messages - new count
|
||
Mail - notify / summary
|
||
Bulletins
|
||
Fingers
|
||
Basically files of anykind that have a 'latest' stamp.
|
||
Main Menu
|
||
|
||
|
||
More
|
||
----
|
||
Prompt - More? (52%)
|
||
- More (89%) [Y, N, L, N, R, X] :
|
||
|
||
At the prompt
|
||
Y, SP - Yes, Continue
|
||
N, A, ^C - No, Abort, Cancel
|
||
L - Restart, lowercase everything
|
||
N - Continue nonstop
|
||
R - Restart
|
||
X - Restart Rot13
|
||
|
||
While listing
|
||
^C, A - stop if enabled
|
||
^S, P - Pause if enabled
|
||
Sp - activate more prompt after eol
|
||
|
||
|
||
While logged on
|
||
---------------
|
||
Menu options...
|
||
^C Chat with or ^Y Yell at sysop (if flag set o/w sorry mesg)
|
||
^E Editor
|
||
^K Keyboard test
|
||
^L Logoff (verify)
|
||
^P Toggle Privacy (if enabled; message in either case)
|
||
^T Terminal change
|
||
^U Display users info
|
||
^? or any incorrect ^char, display list of controls
|
||
ESC 0..9, F1-F10 Macro (if stacked commands active)
|
||
Sysop
|
||
View files
|
||
Shell Escape
|
||
|
||
|
||
|
||
From the local keyboard
|
||
-----------------------
|
||
Toggle flags
|
||
Privacy
|
||
Chat
|
||
Screen Dump to file <filespec or default>
|
||
Take modem off hook after this caller
|
||
Rotate Display
|
||
Logoff User
|
||
Increase/Decrease Time Left
|
||
Initiate Chat
|
||
records current line and cursor postion
|
||
on exit prints saved and and restores cursor positon
|
||
Login -
|
||
Parallel to user, user's menus show who is on watching
|
||
Able to type into users environment (as the moon always does)
|
||
Display
|
||
Status Line
|
||
Top - watch user
|
||
Status - Real Name, Handle, Age, Calls,
|
||
Posts, Time Left, Current Time
|
||
Half Screen
|
||
Top 50% - watch user
|
||
Low 50% - User File
|
||
Status line
|
||
Privacy / Full screen -
|
||
Top 50% - Current User Function, Stats, whatever
|
||
Low 50% - User File
|
||
Status Line
|
||
Edit Current User - Half or full screen display; doesn't hinder user
|
||
|
||
|
||
Chat
|
||
----
|
||
Most of the features of the editor.
|
||
|
||
|
||
Autologout
|
||
----------
|
||
Warnings after every two minutes of inactivity.
|
||
Logout after 6 or 8 minutes. Perhaps configurable.
|
||
|
||
|
||
Curses
|
||
------
|
||
Goto(X,Y) - position cursor absolutely
|
||
Move(X,Y) - position cursor relatively
|
||
Esc[X;YH else multiple ^J^H^I^K
|
||
Color(fg, bg) - change if user has color otherwise ignore
|
||
Del_EOL - delete to end of line
|
||
Esc[K else spaces and bs's
|
||
Del_EOP - delete to end of page
|
||
|
||
|
||
Mail
|
||
----
|
||
Menu
|
||
List letters - Header
|
||
Delete <range, *>
|
||
Reply, Reply w/include <message> - Editor
|
||
Forward <range, *> <user>
|
||
Save, Read (from disk) - sysop
|
||
Note to self - send letter to self
|
||
Change/Rotate Status <range> (New, Express, Hold, Delete)
|
||
Edit (include)
|
||
Send <user[s]> - invoke editor
|
||
View Letter Traffic - list of active letters
|
||
From To On
|
||
Norman Rockwell The Slut Thr Jun 24 at 10:12pm
|
||
Yank letter sent by you.
|
||
Lists letters still undelivered, asks for number,
|
||
moves that letter back into mail users mail box.
|
||
Quit - kills letters marked delete, exits
|
||
|
||
Sample
|
||
------
|
||
Dark Side of the Moon Mail
|
||
|
||
Your Mailbox New : 2 Held : 1
|
||
|
||
# Status Sender Date Time Subject (maybe)
|
||
-- ------- ----------- -------------- ------- ---------------
|
||
1 Holding Rockman Wed 29 Sept 88 04:13pm
|
||
2 New Gern Thr 30 Sept 88 06:12am
|
||
3 Delete Bergie Thr 30 Sept 88 08:09am
|
||
4 Express Booga Thr 30 Sept 88 12:02pm
|
||
|
||
|
||
Described elsewhere
|
||
-------------------
|
||
Mail
|
||
Message Base
|
||
|
||
|
||
Userinfo
|
||
--------
|
||
Finger - call it something more user friendly
|
||
By number, name, handle, search string
|
||
List users - Show a subset of registered users
|
||
Generic - precompiled after new user logout
|
||
Brief - multi-column - Finger? Listed? Name, Days Since Login
|
||
|
||
FL Name Days FN Name Days FN Name Days
|
||
-- --------------- -- -- --------------- -- -- --------------- --
|
||
YN Norman Rockwell 10 YN Norman Rockwell 10 YN Norman Rockwell 10
|
||
|
||
Beefy - Fing? List? Handle, Firston, Laston, Days, Status, B-day
|
||
|
||
FL Name First On Last On Days Status B-day
|
||
-- --------------- --------- --------- ---- -------- ------
|
||
YN Norman Rockwell 05 Sep 88 08 Dec 88 62 Co-sysop Jan 04
|
||
|
||
Display 1 or more of any user file field
|
||
Sysop only - password
|
||
Address, Phone Number, Real name - if not unlisted
|
||
Variable fields - toggle any field on/off
|
||
Sysop only - password
|
||
Unlisted - can't show real name, address, phone
|
||
Variable sort - sort on any feild
|
||
Your Info - User File, user definable fields
|
||
|
||
|
||
Statistics - generated during cleanup.
|
||
----------
|
||
Callers in the last 24 hours, 1440 minutes
|
||
Usage this week
|
||
|
||
Day Usage Min Calls Ave min
|
||
--- ----- --- ----- -------
|
||
Mon 16% 234 14 17
|
||
Tue 38% 543 23 24
|
||
Wed 47% 678 45 15
|
||
Thr . 283 23 .
|
||
Fri . 824 12 .
|
||
Sat . 184 43 .
|
||
Sun . 275 98 .
|
||
|
||
|
||
Dark Side of the Moon Statistics - 08 Dec 88
|
||
|
||
User Stats Caller Stats Posting Stats
|
||
This Week ..... 34 This Week ..... 137
|
||
This Month ... 102 This Month .... 543
|
||
This Year .... 220 This Year ..... 6832
|
||
Total Users .. 235 Total Callers . 8312
|
||
|
||
of Users of Callers this Month
|
||
300 baud ... 45 .. 19% ......... 89 .. 23%
|
||
1200 baud .. 168 .. 71% ........ 325 .. 60%
|
||
2400 baud ... 22 ... 9% ........ 129 .. 24%
|
||
9600 buad .... 0 ... 0% .......... 0 ... 0%
|
||
|
||
of users of Callers this month
|
||
IBM Compat ... 22
|
||
Macitosh ..... 45
|
||
Apple // ..... 67 etc etc
|
||
Amiga ......... 3
|
||
C64 ......... 126
|
||
Atari ST ..... 21
|
||
Arati 8bit ... 87
|
||
Other ......... 9
|
||
|
||
|
||
|
||
|
||
Usage - Weekly Ave
|
||
100
|
||
90
|
||
80 .
|
||
70 . . . .
|
||
60 . . . . . . .. . ..
|
||
50 . . .. . . . .. .
|
||
40 .. ..
|
||
30
|
||
20
|
||
10 ________________________________________________
|
||
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
|
||
|
||
|
||
|
||
Comment to sysop - Non express mail to sysop - invoke editor
|
||
----------------
|
||
|
||
|
||
Recent Callers - Precompiled (long)
|
||
--------------
|
||
|
||
1200 Norman Rockwell's 245th 16 min 9:42pm Wed 04 Sep 88
|
||
300 Meat Head's 1st 23 min 12:04am Tue 03 Sep 88
|
||
Local Lord of the Moon's 1034th 4 min 10:16pm Mon 02 Sep 88
|
||
|
||
|
||
Last - grepped from recent callers
|
||
----
|
||
Search by user, name, number, handle, string
|
||
|
||
|
||
Fortune / Quote
|
||
---------------
|
||
|
||
|
||
Games
|
||
-----
|
||
My department. I'm thinking about a multiplayer paranoia type
|
||
game using a hack like display. Mmmmboy.
|
||
|
||
Bulletins
|
||
---------
|
||
Same as now but '*'s on new bulletins (since last call)
|
||
list length
|
||
Sysop - add bulletin
|
||
Description, date, filename, length calculated
|
||
|
||
|
||
Keyboard Test
|
||
-------------
|
||
Characters typed are echod exactly. Allows for testing emulation.
|
||
controls become ^, #27 becomes <ESC>, delete <DEL>, allows testing
|
||
of function keys and cursor pad. End mode with ^C.
|
||
|
||
|
||
|
||
Message Base
|
||
------------
|
||
Display
|
||
|
||
2: Idiocy and Mayhem AreaNum: AreaTitle
|
||
(267 - 302) New: 290 [290] : (FirstMsg - LstMsg) New : NewMsg [CurMsg] :
|
||
|
||
Menu Options
|
||
Sysop commands
|
||
Delete an area.
|
||
Change area/sysop permissions
|
||
Edit a message (too much power for area sysop?)
|
||
Plus area sysop commands
|
||
Area Sysop commands
|
||
Un/Rot13 a message.
|
||
Delete a message.
|
||
LowCase a message.
|
||
Add/Remove user to conference.
|
||
Change a users area permissions (not self)
|
||
Space - next message, Post after last message, Goto after posting
|
||
A - change area, ? displays areas
|
||
B - backward read, current to first (continously if set)
|
||
C - create a new area, conference
|
||
A new area gives access to everyone, remove users.
|
||
A conference gives access to no one, add users.
|
||
The area creator becomes sysop of that area and has the
|
||
power to add and subtract users.
|
||
D - de/activate area, toggle ignore
|
||
E - edit a message
|
||
users can edit their own message if none follow it
|
||
F - forward read, current to last (continuously if set)
|
||
G - goto next area with new messags
|
||
H - help, meaty
|
||
I - information on this area
|
||
Name, Creator, Creation Date, Range
|
||
J - junk this area - set new to last (catch up)
|
||
K - kill message (users kill their own)
|
||
L - list authors, dates, and lines of messages (range)
|
||
M - reply in mail
|
||
P - post a message
|
||
Q - quit to main menu
|
||
R - reply, including message replied to
|
||
S - search for message containing a given string
|
||
T - toggle pause between messages (or should we let more do the work?)
|
||
U - upload file (ascii) - invoke editor, controls deactivated, all
|
||
characters leagal, not even a backspace. End with control X's.
|
||
? - brief help, display options
|
||
'+' or '=' or <right> - next
|
||
'-' or Bs or <left> - prev
|
||
<up> - next area
|
||
<down> - prev area
|
||
<home> - first area
|
||
<end> - last area
|
||
Range -
|
||
#-# show # through #
|
||
#- show # on to the last message
|
||
-# show from current to #
|
||
# show #
|
||
- show from current to last
|
||
|
||
Message Header
|
||
[#290] Wed Dec 4, 12:44, 14 lines by The Analog Kid
|
||
^^^ ^^ ^^^^^^^^^^^^^^ highlighted?
|
||
Function
|
||
Current message should be new message when entering a new area
|
||
|
||
Area Sysop - Rot13, del any message
|
||
The Sysop - edit messages, move messages to other areas, files
|
||
|
||
|
||
Editor - Line oriented, word processor style
|
||
(always in overstrike for now?).
|
||
|
||
1. All visual characters leagal
|
||
A. Ansi/IBM has extend graphics ( >127 )
|
||
B. to other types, extended characters are 1 of 2
|
||
1. converted to spaces
|
||
2. converted to similiar characters
|
||
|
||
2. Control and escape characters have special functions
|
||
^A col 1 ^B nondest bs ^C toggle centerline
|
||
^D del to eol ^E eol ^F nondest space
|
||
^G eggplant ^H dest bs ^I tab
|
||
^J insert lf ^K -- ^L ins pause, clrscr
|
||
^M crlf at eol ^N next line ^O --
|
||
^P prev line ^Q -- ^R reverseline
|
||
^S signature ^T pageup ^U --
|
||
^V page down ^W del word ^X del to col1
|
||
^Y del line ^Z hold editor.
|
||
Esc 1..9 or F1-F10 - macros
|
||
Esc Esc or ^M^M - menu
|
||
Del - delete char under cursor
|
||
|
||
A note about ^L, this should insert a character that the
|
||
display function will recognize as a good place for a more.
|
||
|
||
Perhaps : imbed char, ^<something>
|
||
|
||
VT100, VT52 - cursor pad compatable, ie: Esc[A is up
|
||
|
||
3. Esc and double return both move into menu driven options
|
||
A. Search - move cursor to;
|
||
Replace String
|
||
B. Print <Lines> (default - all)
|
||
C. Hold (exit, doesn't affect data)
|
||
D. Save - saves buffer in current area, if applicable. Exits
|
||
Post
|
||
Send
|
||
E. Margins (autoindent - left; wordwrap column - right)
|
||
F. Tab size (^I)
|
||
G. Right Justify Toggle <lines>
|
||
H. Cancel (clears editor and exits)
|
||
I. Menu Help
|
||
J. Control Char Chart (2 column, verbose)
|
||
Ĵ<EFBFBD>($"!<21><> K. Delete <Lines>
|
||
L. Center Range
|
||
M. Box Range
|
||
N. Rot 13
|
||
|
||
4. Editor invoked either by posting message, sending news, etc or
|
||
by control character at any prompt (^E).
|
||
|
||
5. Sysop functions
|
||
Save to a file <lines>
|
||
Read from a file after current line
|
||
|
||
6. Future versions
|
||
A. Multiple buffers, equivilant of limited file saving
|
||
B. Read text from other areas, ie give board and message number
|
||
different from mail reply with include or post with include
|
||
|
||
7. Buffer save between logons, and during character drops, save
|
||
at each exit.
|
||
|
||
8. Housekeeping - (external) erase buffers older than XX days/weeks
|
||
|
||
9. Cursor movement not limited to a line (ie ^H^F^B wrap to
|
||
appropriate line), only top of file, eof.
|
||
|
||
Files
|
||
|
||
Executables
|
||
-----------
|
||
Init - creats all necessary / assumed files and directories
|
||
overall system validity check
|
||
default perms, config, shitlist, newuserformat
|
||
|
||
Config - modify configuration file (listed below)
|
||
|
||
Startup - runs the BBS.
|
||
bails and bitches if required files are missing
|
||
loads memory resident files
|
||
|
||
Pack - make arcs of directories in top directory
|
||
makes arc of data in top directory
|
||
makes arc of executables in top directory
|
||
|
||
Unpack - creates directories if needed
|
||
unarcs archives in appropriate directorys
|
||
|
||
User Editor
|
||
|
||
Cleanup - remove old mail, buffers, news, users
|
||
trim logs, recent callers
|
||
compact user list
|
||
|
||
Data
|
||
----
|
||
UserList - All user info
|
||
UserBrief - Name/Number/Password, UserList Entry (mem resident too)
|
||
ShitList? - Bad user names
|
||
SystemConfiguration
|
||
Board Name
|
||
Sysop
|
||
Location
|
||
ComPorts
|
||
Min and Max Baud
|
||
Handles Allowed y/n?
|
||
MaxTime per call
|
||
Log n on/off (3)
|
||
Max Log sizes (3)
|
||
Max RecentCallers
|
||
Directory Names
|
||
Mail, Message, Vote...
|
||
StatusStrings (1..n) - no real weight, just a label
|
||
1 Sysop
|
||
2 Co-sysop
|
||
3 Trivia Master
|
||
4 Registerd User
|
||
5 Beer Meister
|
||
6 Twit
|
||
7 Greenie
|
||
Color assignments
|
||
Modem Init Strings
|
||
SystemRecord
|
||
First system startup
|
||
Total Calls, Sysop Calls, Posts, Emails, Minutes, Users
|
||
Latest Bulletin, Finger, User, Announcement, Message
|
||
Default User File - New User Form
|
||
Posts, Calls, Mails = 0
|
||
FirstOn, LastOn = Today
|
||
Status = 7 (for instance)
|
||
Prompt = "$L> "
|
||
SystemPermissionsMasks
|
||
Logfiles (.log)
|
||
BadPassword
|
||
Activity - LastComm (just tagged users)
|
||
Logon/off - Last (also everytime BBS started aborted)
|
||
|
||
Directories
|
||
-----------
|
||
Buffers (uid.buf) - users editors on hold
|
||
Fingers (uid.pln) - users description / diddies
|
||
Mail (uid.ml)
|
||
Messages (.msg)
|
||
Bulletins (.bul)
|
||
Trivia
|
||
News/Announcements
|
||
Vote
|
||
Help
|
||
Menu?
|
||
Text
|
||
NewUser
|
||
Greeting (1..n) - random or retrieved like zippy quote
|
||
Welcome (1..n)
|
||
Goodbye (1..n)
|
||
NextCaller
|
||
RecentCallers
|
||
SystemStats - Compiled daily
|
||
RegisteredUsers - compiled after each new user
|
||
Brief
|
||
Long
|
||
|
||
|
||
|
||
Global Variables
|
||
----------------
|
||
Flags
|
||
Privacy active?
|
||
Privacy enabled? No forces active false.
|
||
^C enabled (internally toggled)
|
||
^S enabled (intern)
|
||
Take modem off after this user? (usually not)
|
||
Screen Dump?
|
||
Chat flag?
|
||
Monitor logged in?
|
||
Int
|
||
Time Left/on
|
||
Message Board Number
|
||
Local Display
|
||
Strings
|
||
Current Function user is in - What
|
||
for log file, local display, error tracing
|
||
User Record
|
||
UserBriefFile
|
||
|
||
|
||
|
||
User shtuff
|
||
-----------
|
||
The fields shouldn't be labeled handle, password, etc. Instead they
|
||
should be String[1..n] Int[1..n] etc. This makes them easily
|
||
redefinable and MUCH easier to write an editor for. A file of
|
||
names attached to each one can be set up, just like a file giving
|
||
names to each of the perms. This way someone editting a user can
|
||
pick a field by #/whatever and you just prompt for the appropriate
|
||
type and wallah. Some of these things will be user definable on
|
||
line and the code should not be huge brute force type shit.
|
||
|
||
|
||
User fields { 811/1024 bytes }
|
||
|
||
Characters Sex [1]
|
||
{ 17 } Perms [16] (r, w, s, #)
|
||
Voting, Trivia, Doors, FT, Games, Sysop...
|
||
|
||
Strings Handle [15]
|
||
{ 675 } Password [10]
|
||
Signature [20]
|
||
Name [25] too long?
|
||
Address [20] too short?
|
||
City [15]
|
||
State, Zip [13]
|
||
Phone [12]
|
||
Occupation [20]
|
||
Prompt [25] - variables
|
||
$L - Time Left
|
||
$O - Time On
|
||
$T - Current Time
|
||
$F - Current Function
|
||
ie "Dark Side [$T]->" (default)
|
||
Macros [20char x 5, 80char x 5]
|
||
|
||
Integers User ID
|
||
(Dates) Not a record number; link to mail, buffers, etc)
|
||
{ 114 } BirthDate (days since Jan 1 1980 or something)
|
||
Posts
|
||
Calls
|
||
Mails
|
||
Mins
|
||
MaxTime
|
||
TimeOn
|
||
Firston
|
||
LastOn
|
||
Expiration in days (0 = no exp)
|
||
Computer Type
|
||
TermType
|
||
Ascii
|
||
Ansi - assume extended IBM characters
|
||
(next vt100)
|
||
MessageBase [2x50 areas]
|
||
Last # Read
|
||
Permission - caps means ignore area is set
|
||
r, R - read only
|
||
w, W - write / post access
|
||
s, s - sysop (able to delete, rot, lowcase msgs)
|
||
Status - Number referencing a system const string
|
||
|
||
Flags Finger/Plan?
|
||
{ 5 } BufferSaved?
|
||
Unlisted? (name, phone...)
|
||
ClearScreen in more?
|
||
NewUser? (cleared manually by sysop or with external
|
||
user editor - this might be covered using
|
||
status or one of the perms)
|
||
|
||
Eventually a login script, logout, file of games saves/records/points.
|
||
|
||
When deleting a user, all mail, buffers, scripts, etc should also be
|
||
wiped.
|
||
|
||
Notes - heres some of my thoughts
|
||
-----
|
||
I don't like questions. In a lot of places in genesis you press
|
||
an option and it asks you ten things before it works. Like the
|
||
[R]egistered users thing. YOu have to hit R, L, L before you get
|
||
what you want.
|
||
|
||
The new software should have options that are preset and can easily
|
||
be toggled / changed, but always a go key only one level deep. Using
|
||
the Registered users example. R should pull up a menu with all the
|
||
sort and select information set with default values, and key to
|
||
start listing with the current setups.
|
||
--
|
||
The way genesis gets accounts is atrocious. For new users its full
|
||
of ambiguous questions.
|
||
|
||
For each field it fills, the screen should clear and a brief
|
||
description of what the user should answer is given (not just a prompt)
|
||
followed by a prompt. If a CR / blank entry is recieved a meaty
|
||
help should pop up.
|
||
|
||
For terminal selection ask the user what computer type and assume line
|
||
feeds and screen width. Next if they have color, then if they are
|
||
emulating a certain terminal type (again the brief description would
|
||
ward off new users and a beefy help if they enter something incorrect
|
||
or the user wants more info.
|
||
--
|
||
|
||
Multiline
|
||
---------
|
||
How is this going to be done? To make it multiline, there needs to
|
||
be some fancy interrups or more realistically, make it event driven.
|
||
This means there needs to be a separate record of global variables
|
||
for each active port. Uh.
|
||
|
||
|
||
Send - decides to where : local if local logon or watching
|
||
what port etc (even if not multiline)
|
||
to screen dump if active
|
||
Send file - handles messages, bulletins, menus, everything
|
||
Send string - handles emulation of terminals, color, etc.
|
||
Send local - handles local emulation (color at least, portability? :-)
|
||
Send char - drops characters into the io buffers.
|
||
|
||
|
||
Someday
|
||
-------
|
||
Mini-networking. Able to send mail to local BBS or remote systems.<2E><><01><> Not conferencing, just mail. If a letter could be transferred to
|
||
the DMG, for instance, from there it might be able to hop on a fido
|
||
net (since there is none here) or FUBAR and onto internet and on to
|
||
the rest of the world.
|
||
If only PC Persuit would come to town.
|
||
|
||
|
||
|