Permissions and Groups

11 views
Skip to first unread message

Griatch

unread,
Oct 3, 2009, 9:11:18 PM10/3/09
to Evennia
So, the django permission system was made available from within
Evennia in rev722. Whereas you could set things up from the admin
interface before, there was no way to handle permissions from inside
the game, and also the groups where not set up by default.

The main admin commands are @setperm and @setgroup. You can also check
your own group affiliation with @group.

As part of this, in order to avoid people having to tweak the Evennia
core in order to change a permission, I moved it all into the config
file; you can now completely define both permissions and groups by
overwriting the corresponding section with your own settings file. As
discussed with Greg over IRC, much of the permissions moved away from
genperms to actually be affiliated with the app they control, like
"helpsys.add_help" and so on.

One weird thing is that Django defines a host of generic permissions,
at least twice as many as the ones you set up yourself through the
settings file. While I imagine they could be useful for the admin
interface and a future web presence, they are not used in the main
gameplay as far as I can tell, and are thus more confusing than
anything. Admins would no doubt wonder why @setperm/list shows
permissions they have not defined anywhere. So in the end I decided to
filter the lists seen in @setperm and @setgroups to only contain the
user-defined permissions. It's just the listing which is filtered
though; all permissions are still there, you can view them through the
admin interface.

Since groups are now working and in place, there is no more
"genperms.builder" permission, this is replaced by the Builders group,
containing all the permissions relevant to a builder. This allows for
better control should one e.g. want to add/revoke a certain permission
from a certain builder.

All players now automatically start as belonging to the Players group.
The reason for this is that the ability to send to channels or to page
people are also under the Permission system now - having new users in
a group allows those permissions to be automatically available (it
also have the bonus advantage of being removable, should you want to
revoke the ability to e.g. page from an individual user).

I didn't allow normal players to use the ex command; I don't see why
they would need it when they can't do anything with objects ... but I
don't know how MUX does these things.

The actual distribution of permissions to different default commands
is VERY rough at this point, some thought should go into how best to
arrange this, help and input on this would be much appreciated.

The new wiki entry at
http://code.google.com/p/evennia/wiki/PermissionSystem
hopefully sheds more light on a system that was, at least to me, quite
confusing when I started looking at it.
.
Griatch
Reply all
Reply to author
Forward
0 new messages