Account Permission File permissions.xml

Current state

Currently Manaserv knows 8 permission classes (player, tester, gm, developer, administrator and 3 reserved for future use). The permissions of every class are hardcoded.

Target state

To allow server administrators to decide their server management policy it should be possible to freely name the 8 available classes and define the extent of their permissions. The limitation of 8 classes should stay because it allows the economic and performant method of storing it in an 8 bit bitfield.

permissions.xml

<permissions>
 <class level="1">
  <alias>Player</alias>
  <allow>!login</allow>
  <allow>!chat</allow>
  <allow>!fight</allow>
  <allow>!level</allow>
  <allow>!createcharacter</allow>
  <allow>@where</allow>
 </class>
 <class level="2">
  <alias>GM</alias>
  <alias>Game Master</alias>
  <allow>@ban</allow>
  <allow>@kick</allow>
  <allow>@kill</allow>
  <allow>@warp</allow>
  <deny>!createcharacter</deny>
 </class>
 <class level="3">
  <alias>Dev</alias>
  <alias>Developer</alias>
  <allow>@spawn</allow>
  <allow>@item</allow>
  <allow>@warp</allow>
 </class>
[...]
 <class level="8">
  <alias>Admin</alias>
  <allow>@giverightclass</allow>
  <allow>@takerightclass</allow>
 </class>
</permissions>

<allow>

User with this class may perform this action. Action names starting with ”@” are the corresponding @commands, those starting with ”!” are other actions which are not performed with a command.

<deny>

A user with this class may 'not' perform this action, even when it has other classes which allow it.

<alias>

Alternative name for a class which can be used in the @giverightclass or @takerightclass

Comments

Bertram - 2010/03/31
 I agree with the principle. Could you add some details about the implementation status?
Also, is the xml file named rights.xml or permissions.xml?
Jaxad0127 - 2010-03-31
I'd say at.xml.
Bertram - 2010/04/01
at -> access table? Why not also a more common one? acl.xml?
Jaxad0127 - 2010-04-01
"at" as in @. acl.xml would acceptable too, IMO.
Bertram - 2010-04-01
Ok for renaming to acl.xml, then, Crush?
 
rights.xml.txt · Last modified: 2010/04/04 22:15 by Yohann Ferreira
 
Except where otherwise noted, content on this wiki is licensed under the following license:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki