I created a new Evennia server on a debian linode, following the steps in the setup guide.
When I try to add a permission to a user with @perm/add, it seems to be successfully applied, but the user does not have the available permissions.
@perm/add glibsee = Builders Permission 'Builders' given to glibsee. Permissions on glibsee: players, wizards, builders, immortals
<as glibsee>
@create chair Command '@create chair' is not available. Maybe you meant "@charcreate", "@ccreate" or "hierarchy"?
Seems like it might be a case-sensitivity problem? E.g.,
@perm/add glibsee = builders Permission 'builders' is already defined on glibsee. @perm/add glibsee = Builders Permission 'Builders' given to glibsee. @perm/add glibsee = Builders Permission 'Builders' given to glibsee.
Running Python 2.7 and the latest code from mercurial as of today.
Comment #1
Posted on Jan 3, 2014 by Swift CamelI noticed that
@perm *glibsee = Builders
didn't work (complained about not finding "*glibsee"), but when I did this
@perm/player glibsee = Builders
it worked fine, and now my players can @create.
Comment #2
Posted on Jan 4, 2014 by Happy BearIt is possible the @perm command defaults to the wrong object here -- it should no longer default to set permissions on the Character object but rather on the Player object, which is the top level holder of permissions. Character-level permissions can overload Player-level ones, but only when -lower- in the hierarchy. So yes, @perm should be changed to modify primarily the Player unless given a flag. Setting this to Accepted.
Comment #3
Posted on Jan 4, 2014 by Happy BearClosed by r14451c1e6ab1. I didn't change the way @perm worked at this time, it was a simple bug that made the *name syntax not work as advertised. Also added some more informative feedback when assigning permissions, making it clearer just what object gets changed.
Status: Fixed
Labels:
Type-Defect
Priority-Normal