Subbill version 1.10

Contact: Catid@pacbell.net (ICQ#18736684)


-----------
What's new?
-----------

Release # 10
Date: 11/18/01

Fixed invalid chat message crash.
Fixed memory leak during player login (ouch!)


Release # 9
Date: 6/6/01

Release 9 is for fixing reported bugs in the code.  I've also updated the list of commands.
Added ?nick=<name>:<pw> command to change nicks in-game.
Added ?bantext to ?man
Fixed ban/banfree database bugs.  Some still remain.
Fixed memory leak when the biller closes.
Fixed packet exploit to crash the biller.


Release # 8
Date: 4/11/01

Operator restrictions - this release is primarily concerned with patching
                        possible and reported operator hacks.
Zone cleanup - disconnecting zones are now cleaned up after properly.
?removeop - allows you to remove yourself.
?notifyzone - sysops may now monitor zone recycles from anywhre on the network.
Database corruption - the last of the database problems have been traced.
?ban/addop - sector restrictions are in place.
Banfrees - work, but only within one zone at a time.
Account reclaim - option in server.ini to reclaim user accounts after 90 days of inactivity.


Release # 7
Date: 4/10/01

?notifychat - status is saved to disk for every player.
?notifyban - monitor player connection attempts.  Also saved to disk
?notifyzone - monitor zone connection attempts.  Also saved to disk
IP bans - ip ranges are now done properly.
Chat crash fixed - [SERVER.INI]:[Billing]:LogMessages=1 now handled properly
?addchat - you may now add more than one chat at a time, using commas to deliminate them.
?addop - can no longer add network-wide ops as a group-wide operator.
Old SubGame Kickoff/Recycle bug fixed - may it rest in pieces.
?networkreset - slick as I.C.E. network-wide score reset command.
Changed ?help to ?man - easier to type.
Fuzzy commands - players may leave off the parameters on many commands.
?details - shows and sets both your own details and others'
?bantext/?extchat - two more former BanG commands implemented.
*monitor - command hook is in place.


Release # 6
Date: 4/08/01

Operator levels - preliminary operator levels and restrictions are in.
EncryptMode - packet encryption is working.  We're the second after SSC to support it.
localtime() - times are reported in your own timezone instead of server time.
?details - shows name, email, details.
Database problems - fixed a bunch, and a few remain.
?chat - no longer can cause ?notifychat floods.
Password hashing - fixed.  A few user accounts made with earlier versions of the biller might no longer work.
User.Block no longer used - bans are now completely removed from the user information.
?listban - bans may now be done in only one zone, or one group of zones.  ?listzone reflects this
?find - double names are fixed.  Fuzzy find returns whole name now.  
Invalid commands - instead of the generic ?help <command> response, it inserts the command used.
?changesquad - like changepassword and changename; level 0-1 ops may change squad owners
?leavechat - supplements addchat.  Players may specify channel name or number
?squadcreate - detects invalid squad names thus catching another social engineering exploit.


Release # 5
Date: 4/04/01

?addzone - changed to fit the registration procedure in dreamspec.net
?addop - the operator list now has a hierarchy.  Access may also be restricted to
         group(s) and zone(s) on the network.  I have yet to reflect this in the other commands.
?whoami - in case you forget.  The operator system can be confusing. \=)
?listop - keeps an account access counter.
?ban -! switch automatically bans a player's entire ISP.  DoS attacks are possible with this command
Ban IDs - these are now universal.  They may be used like in SSC eventually,
Hack prevention - realized that SubBill was built to be hacked and decided to stop basing biller on its example.


Release # 4
Date: 3/31/01

Name bug fixed - names longer than 19 characters are trimmed.  This allows long names to be banned,
                 and removes the ability to impersonate other players.  
Invalid command bug - a crash bug has been fixed.
?addop - the operator list is now implemented.  It provides private billing sysop accounts for now
?seen - display the last time the given player was online.
?find - ?find :<name> does an exact search, while ?find <partial name> does a fuzzy match.
?chat - 9 available chats, as opposed to 4 in SubBill.


Release # 3
Date: 3/30/01

Backwards compatibility - existing .DAT file format works.
SSC command set - all published SSC commands (not BanG) have been emulated.
?man - recoded to optimize space, added detailed descriptions.
zone.dat - subbill officially supports the addzone system, for private zone passwords.
op.dat - added preliminary support code for the upcoming op-level structure.
?ban - a simple ban system is now in place.
?details - adds an RPG element to our growing community.
Login/Command flood foiler - stops hacks before they start.
Unbanner detection - keeps cheaters legal automatically.
AskNewUsers - choose to get rid of that pesky "Do you want to Continue?" message.
Invalid name detection - halts social engineering and bot hacks.
?alias - track hackers and cheaters with new tracing systems.
Faster database access - uses advanced programming techniques to load instantly.
More secure - includes numerous safe-guards against potential problems, yet unexploited.
Such as - better .dat files; double entry errors allowing arena access to hackers fixed.


-----------
Command Set
-----------

	User Commands:
man			System manual

password
details			Set/view player details
setemail		Change email set in registration form
setname			Change name set in registration form

chat
addchat			Add new chats
leavechat		Leave a chat by # or name
notifychat		Notify when players enter/exit chats

squadcreate
squadjoin
squadleave
squadlist		List squadmates
squadowner		Get given squad's owner
squad			Get given player's squad

find			Find player on network
ghost			Hide from inter-zone find commands
seen			Show the last time the user connected


	Squad Owner Commands:
squaddissolve
squadpassword
squadkick		Kick a player from your current squad
squadgrant		Pass squad ownership to another player
squadname		Change your squad's name


	Level-4  Moderator
login			Log on with a personalized password
changeop		Change personal password
whois			Display player operator level
dop			Log out

banfree			Banfree a player
listbanfree		List banfrees
liftbanfree		Lift a banfree

ban			Disallow access to your zone
listban			List players being kept out.  listban -d for details
liftban			Remove a ban
commentban		Add a comment to a ban
notifyban		Monitor banned players

alias			Show other names the player has used
adduser			Set up a player account
listop			List other operators


	Level-3  Super Moderator
addop			Add a new operator
changeop		Change personal password
removeop		Remove an operator

info			Retrieve detailed player information


	Level-2  SysOp
**message		Broadcast tagged message to all zones
bantext			Change text banned players see
extchat			Toggles if zone recieves any messages from players in other zones (priv or chats) 
groupid			Shows zone group id
scoreid			Shows zone score id


	Level-1  Group Manager
addzone			Add a zone to your group
listzone		List zones in your group
removezone		Remove a zone from your group
recyclezone		Recycle a zone in your group
changezone		Change zone password
closezone		Shutdown a zone
notifyzone		Monitor zone connection and disconnection
groupreset		Reset scores group-wide


	Level-0  Network Administrator
write			Write server status to disk
read			Re-read SUBBILL.INI
block			Toggle player banfree
networkreset		Reset scores network-wide

changepassword		Change player passwords
changename		Change player names
changesquad		Change squad owners


^^^ Syntax and usage information are available in-game via ?man <command>


----------------------
Group Influence Tables
----------------------

Type            Reccomended access level    Sector of Influence

Network-wide    0                           All zones
Group-wide      1                           Every zone sharing the operator's GroupID
Zone-wide       2-4                         One zone


-------------------------
Operator Influence Tables
-------------------------

Level           May Add (operators at level)
  0               any
  1               1-4
  2               2-4
  3                4
  4               none

Level           May List (operators at level)
  0               any
  1               any
  2               1-4
  3               2-4
  4               2-4

Level           May Change (operators at level)
  0               1-4
  1               2-4
  2               3-4
  3                4
  4               none

Level           May Ban (players for up to X days)
  0               5000
  1               5000
  2               365
  3               60
  4               7
