===== 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 ====
Player
!login
!chat
!fight
!level
!createcharacter
@where
GM
Game Master
@ban
@kick
@kill
@warp
!createcharacter
Dev
Developer
@spawn
@item
@warp
[...]
Admin
@giverightclass
@takerightclass
=== ===
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.
=== ===
A user with this class may '''not''' perform this action, even when it has other classes which allow it.
=== ===
Alternative name for a class which can be used in the @giverightclass or @takerightclass
==== Comments ====
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?
I'd say at.xml.
at -> access table? Why not also a more common one? acl.xml?
"at" as in @. acl.xml would acceptable too, IMO.
Ok for renaming to acl.xml, then, Crush?