SSBiller 2

From ASSS Wiki
Jump to: navigation, search

SSBiller 2, written by Catid, was the first open-source billing server equivalent to SSC's system.

2.00b by Confess

Last Updated: September 21, 2005

Was met with some criticism Confess had used other individuals changes to SSBiller and claimed it as his own. [1]

Whats new [2]:

  • Adjusted '?man' format
  • Added greet message (You can choose what greet message you want too! )
  • Added commands such as ?bnews, ?contacts, ?bstaff
  • Renamed commands.
  • Two different man formats to choose from.
  •  ?bzones added, so public can see what zones are on the biller

Release 11j

Last Updated: July 5, 2003

This is SOS' much improved version of my billing server, open-sourced as well.

New: Fixed a large security-related bug.

The BAN.DAT and BANFREE.DAT files are not compatible with the original SSBiller2.

1.11j
	[Catid] Fixed a large security-related bug.  Cannot be specific because some people will be using the old version..
		For this reason, the source code has not been updated.  I'll release the actual source ASAP.

1.11i
	*Fixed a bug with -b switch on bans

1.11f
	*Removed squad and chat list showing in biller window

1.11e
	*Fixed a little typo in ?listban
	*Changed ?listban info in ?man
	*Changed some ?man ordering again
	*Fixed ?resetscore crash bug

1.11d
	*Changed ?broadcast and **message do %2 sound
	*Fixed bug that caused players to be locked out from some chats without a reason(May bring extra trouble later, but not likely. Not tested, so I have no idea if chats still work... ;))
	*Changed ?man ordering
	*Added examples to ?man for all the brainless n00bz

1.11c
	*Fixed some spelling
	*Fixed ?resetscore not showing up in ?man
	*Fixed empty 0: chat messages when heavy connect flood is triggered
	*Changed flood limiter from 5/9 to 10/20 (Light/Heavy flood)
	*Fixed HUGE bug with saving chat premitted list(Must stop the 1am coding...)

1.11b
	*Added GroupID showing for offline zones in ?listzone
	*Added notification for when a player enteres a chat hes already on(To help find a bug)

1.11a
	*Changed ?resetscore
	*Added ?networkreset
	*Changed login flood checks

1.11
	*Fixed bug in ?squadownlist
	*Changed some text in ?man listzone
	*Changed **message so it always sends net-wide
	*Removed "Group-wide banfree" from ?listbanfree description
		There is no way to banfree group-wide, so i dont know how it got in there
	*Added max comment lengths to ?man of ?commentban and ?details
	*Added premission checking to most L1 commands
	*Fixed duplicate banfree finding bug
	*Added ?c-grant
	*Added "staff chats not supported" message
	*Added ?broadcast
	*Added OpID and BanfreeID	***op.dat and banfree.dat must be deleted before running new version!***
	*Changed commands to use OpID and BanfreeID

1.10g
	*Fixed ?man display

1.10f
	*Fixed ?squadownlist

1.10e
	*Added "You are not on any chats" message
	*Fixed some stuff in ?man

1.10d
	*Fixed an error message

1.10c
	*Fixed TZB check
	*Added ?warn command

1.10b
	*Fixed bug in ?commentban
	*Fixed bug that made all bans netwide
	*Changed ban comment length to 128. Comments were way too short. ***BAN FILE INCOMPATIBLE WITH OLDER VERSIONS(DELETE IT)***
	*Removed ?networkreset
	*Changed ?groupreset to ?resetscore
	*Added ?resetscore to ?man

1.10a
	*Fixed 3 bugs in ?listban and ?listbanfree

1.10
	*Changed ?version to a public command
	*Changed chat system so chats get unowned when the owner account expires(AccountReclaimDelay)
	*Added ?squadonline command
	*Added ?squadownlist command

1.9g
	*Added ?c-needp command

1.9f
	*Fixed ?c-release crash bug

1.9e
	*Added ?c-kick to ?man
	*Added explanation on how you can read your messages....

1.9d
	*Changed it so that L2 or higher level operators can release chats of other players
	*Changed some ?man formatting
	*Added ?c-kick command

1.9c
	*Fixed ?top10 ratios
	*Fixed a bug with chats

1.9b
	*Added ?c-welcome command
	*Added chat welcome messages
	*Changed chat owning so that you can grab a chat when someone is in it
	*Added chat owner name to "You are not allowed on chat X" message

1.9a
	*Chagned ?top10 a bit. Also made columns aligned
	*Changed ?top10 to display for current zone only. Must stop coding at midnight...

1.9
	*Removed ?nick for security reasons	
	*Changed some text formatting and text
	*Added ?top10 command
	*Added ?msgclear command
	*Disallowed commas in names! <<<<<<<<<<
	*Added checking for invalid chat names
	*Removed ?addchat and ?leavechat
	*Added some checks to message loading
	*Added chat owning system

1.8h
	*Changed some ?info behaviour
	*Fixed infinite loop bug in ?info #UserID

1.8g
	*Added ?dop so u can use it if too lazy to type ?logout

1.8f
	*Fixed ?notifyban On/Off

1.8e
	*Fixed ?listban BanID not working sometimes
	*Fixed ?nick bug

1.8d
	*Fixed ?ban -b crash bug
	*Added -b switch display in ?listban
	*Changed ?listban to be faster when showing specific ban info

1.8c
	*Added fixes from Catid's release 10
		*Memory leak during player login
		*Invalid chat message crash

1.8b
	*Added automatic new message check. Removed the one from ?man
	*Removed a debug command that made biller say "BOO" to you sometimes :P
	*Added warning when a lower level biller op tries to ?kick you

1.8a
	*Changed operator level names. Old ones were too boring and inaccurate
	*Changed some text
	*Changed group-wide banning
	*Chagned "Player is already banned" error to a notification
	*Added viewing of single ban info
	*Added ?ver command

1.7
	*Changed some text formatting
	*Added remote banning
	*Fixed zone notify bug

1.6
	*Changed ?kick to work network-wide
	*Added network name specification in server.ini
		Misc:NetworkName=
		Used in network-wide ban messages. Max 31 characters
	*Added network wide ban text in server.ini  (Changeable with ?netbantext(L0))
		Misc:NetworkBanText=
		Used in network-wide ban messages. Max 127 characters
	*Added additional protection against hacked TZBs. Values taken from Windows 98 First Edition,
		so other Windowses might generate false alerts. Tell me if that happens. Some bots
		might also have problems(MERVBot and all its forms that use a -30 TZB. Easy fix,
		just remove -30 or make it divisible with 60).
	*Fixed ban notify bug
	*Fixed the fix for the ban notify bug
	*Fixed bug that caused all bans to be net-wide

1.5h
	*Fixed infinite loop bug in ?ban

1.5g
	*Fixed the new messages fix

1.5f
	*Removed a debug command that i forgot to remove
	*Fixed new message notification

1.5e
	*Added new message notification to ?man
	*Changed some text formatting

1.5d
	*Fixed bug that allowed some hacked clients to connect
	*Fixed bug that added all banfrees network-wide

1.5c
	*Changed some text formatting
	*Fixed ?man banfree, ?man listban and ?man listbanfree crash bugs

1.5b
	*Added ?msgview command
	*Added full inbox warning
	*Changed maximum message length to 255

1.5a
	*Fixed infinite loop bug in ?banfree

1.5
	*Added messaging system
	*Fixed ?kick

1.4c
	*Changed ?dop to ?logout
	*Changed help
	*Changed some commands to report status, not toggle when no parameters given
	*Added registration form warning to ?man

1.4b
	*Added ?banfree -* switch
	*Fixed banfree checking

1.4a
	*Fixed banfreeing players
	*Fixed banfree levels
	*Fixed banfree saving
	*Fixed ban saving
	*Fixed ?ban -b switch
	*Changed it so you cannot ban the same player multiple times
	*Changed it so you cannot banfree the same player multiple times

1.4
	*Changed database to be a little faster
	*Changed all ban kickout times to 10 seconds
	*Added ?kick command

1.3
	*Added network-wide ?listban
	*Added network-wide ?listbanfree
	*Added ?banfree levels
	*Chagned banfree file format
	*Changed ban file format
	*Added denying banfrees for banned players

1.2 and smaller
	*UNDOCUMENTED

Release 11

Last updated: December 14, 2001

Subbill version 1.11

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


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

Release # 11
Date: 12/13/01

Release 11 is for incorporating most of SOS's modications to the code.
Changed ?man to ?help.
Removed ?nick. Sorry.
Removed the periods (.) from the ends of biller responses.
Changed ?ghost command interpreter to SOS's model.
Added ?login check for foreign operators to SOS's model.
Allowed net-wide operators to ?addzone to their current group.
Overhauled ?ban* system, all thanks to SOS.  Hope it works.
If it doesn't work, send me lotsa flaming e-mail, please:)


Release # 10
Date: 11/22/01

Updated version tags.
Fixed invalid chat message crash.
Fixed memory leak in login code.
Fixed invalid username filter bug.


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 ?help <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

External Links