
Instead of a separate plugin that would have to be updated every time a new command would be needed for operators, I decided to write the admin support such that it is completely transparant and integrated with the /admin command, and everywhere else where admins have special capabilities. Also, since regular admins that help with running a server typically don't need to change the server name or number of players, or turn on Aseco debugging mode (among similar tasks), I defined three administrator tiers such that masteradmins can do anything, admins can do most things, and operators are restricted to a small(er) set of tasks. Everything is configurable, and can be changed on the fly. On first sight it may look like overkill, but in practice after you've set it up once, you don't really notice it anymore.
So, here is the list from: http://www.gamers.org/tmn/Features_088.html
- New features and other changes in the v0.88 release of ASECO/RASP:
* new, flexible and fully integrated tiered administration support with the following features:
- # there are three tiers of administrators: MasterAdmins, Admins and Operators
# all three tiers of administrators can see who is in each tier with the new /admin listmasters, /admin listadmins and /admin listops commands
# if a player is in more than one tier, the highest one takes precedence
# MasterAdmins have no restrictions to their abilities, while the abilities of Admins and Operators can be defined per individual command
# the list of MasterAdmins is fixed in the <masteradmins> section in config.xml; the lists of Admins and Operators, and their respective abilities, are stored in the new adminops.xml file and read back upon ASECO/RASP restart (configurable via new config.xml setting <adminsops_file>)
# MasterAdmins can add and remove Admins dynamically, using the new /admin addadmin and /admin removeadmin commands
# both MasterAdmins and Admins can add and remove Operators dynamically, using the new /admin addop and /admin removeop commands
# MasterAdmins can dynamically enable and disable all abilities for Admins and Operators – even their ability to change their own abilities, if you so desire – using the new /admin adminability and /admin opability commands
# the ability lists can also define (non-/admin) chat commands where Admins and Operators have additional capabilities that users don't
# the /admin help command dynamically lists only the available commands for each tier depending on their allowed abilities
# the new /admin listabilities command displays which non-/admin abilities (if any) are available to Admins and Operators, with a description; for MasterAdmins, /admin listabilities {admin/op} displays the abilities of the pertaining administrator tier
# there are no separate commands (e.g. /op), all tiers use the same /admin commands (so there's no code duplication)
# all /admin chat and log messages show whether a MasterAdmin, Admin or Operator performed the pertaining action
# the player join message from jfreu.plugin.php (or jfreu.player.php) shows the appropriate administrator title
# the titles with which MasterAdmins, Admins and Operators are shown in chat and join messages, are configurable via the <titles> section in adminops.xml
# if e.g. Operators do not have the ability to use /pma and /admin pm, they will also not receive such private messages when sent by (Master)Admins
# any server owner's LAN logins (with IP and port) should be in the <masteradmins> section of config.xml and will be skipped by the /admin listmasters command
# all Jfreu admin commands can be used by MasterAdmins and Admins, but not Operators; also, the /jfreu addadmin command was disabled, and the corresponding <admin_list> section from plugins/jfreu/jfreu.vips.xml (previously jfreu.lists.xml) was removed
# servers that don't need Admins and Operators can simply leave those login lists in adminops.xml empty, and not have the tiered system interfere (phew)
# see this table for the default list of abilities
* new admin command: /admin listdupes to display a list of duplicate tracks on the server (ready for /admin remove/erase)
* new admin command: /admin prunerecs to delete the records/rs_times database entries for a specific track (by track ID from /list, so you must prune recs for a track before removing/erasing it, otherwise you can't /list it anymore)
* the number of rounds (in Rounds/Team modes) or seconds (in TimeAttack/Laps/Stunts modes) by which a vote expires can now be configured per individual type of chat-based and /add vote ($r_expire_limit and $ta_expire_limit in plugin.rasp_votes.php)
* the output from /list and /list <xxx> now includes the corresponding ranked records, just like /list norecent
* the /best and /worst commands are now also available via /list best and /list worst
* the /server output now shows the total playing time of all players combined
* the /best, /worst, /summary, /stats, /admin ban & /admin black commands can now also be used on offline logins (only by admins as defined by their abilities)
* moved all jukebox and /add related message strings into rasp.xml for easy customization and localization
* the all-caps UNRANKED text for unranked records in the /pb message is now in narrow font to make it less intrusive
* in Jfreu's player join messages and the /stats output, the ladder ranks are now formatted with spaces between the thousands (like in the Tab scoreboard)
* if Jfreu's info messages are disabled, the "Messages: OFF" reminder isn't shown anymore
* the Jfreu plugin "Loaded" message is no longer shown to a connecting player (only on ASECO/RASP start-up)
* the name of Jfreu's vip/team_vip file is now configurable via $vips_file in jfreu.config.php (default: plugins/jfreu/jfreu.vips.xml)
* some code clean-up, like more efficient formatColors and resetRanks functions, a non-looping /nextmap (thanks Assembler Maniac), and other tid bits
* all documentation files included in the .zip are now grouped together in their own DOCS subdirectory
Bug fixes in the v0.88 release of ASECO/RASP:
* if the jukebox is empty and the current track is deleted (/admin removethis/erasethis), /nextmap hangs up the ASECO/RASP system – fixed by the non-looping rewrite above
* the karma reminders at every finish ($remind_karma=2) could occasionally produce an RPC error in the log – fixed
* there is a typo in plugin.rasp_irc.php causing the IRC connection to fail – fixed
* a couple of /jfreu commands are not shown in the /jfreu help overview – fixed
* /admin removethis/erasethis does not properly log the name of the deleted track – fixed
* the second line of the default Welcome message text was shown without the shadow attribute – fixed - # there are three tiers of administrators: MasterAdmins, Admins and Operators
- Important:
* In config.xml the <admins> section has been renamed to <masteradmins>, along with adding a new <adminops_file> definition.
* The <masteradmins> section of config.xml should contain only those logins you want to have all admin rights, and it should also contain the server owner's LAN login (with IP and port), if applicable.
* Any other admin logins should be moved from config.xml into the <admins> (or <operators>) section of adminsops.xml, or they can be re-added later via the /admin addadmin (or addop) command.
* If you use Jfreu's vip/team_vip abilities, rename your existing plugins/jfreu/jfreu.lists.xml file to plugins/jfreu/jfreu.vips.xml.
* The <admin_list> section in jfreu.vips.xml is obsolete, and its contents should also be moved into the <admins> section of adminops.xml before starting v0.88, because it will no longer be written back into the file after the next vip/team_vip change.
http://www.gamers.org/tmn/
Enjoy!
Xymph