mirror of
https://github.com/evennia/evennia.git
synced 2026-03-26 17:56:32 +01:00
102 lines
2.5 KiB
Python
102 lines
2.5 KiB
Python
"""
|
|
Setup the permission hierarchy and groups. This is
|
|
read once during server startup. Further groups and
|
|
permissions have to be added manually.
|
|
|
|
To set up your own permission scheme, have
|
|
PERMISSION_SETUP_MODULE in game/settings point to
|
|
a module of your own. This module must define two global
|
|
dictionaries PERMS and GROUPS.
|
|
|
|
PERMS contains all permissions defined at server start
|
|
on the form {key:desc, key:desc, ...}
|
|
GROUPS gathers permissions (which must have been
|
|
previously created as keys in PERMS) into clusters
|
|
on the form {groupname: [key, key, ...], ...}
|
|
"""
|
|
|
|
# Defining all permissions.
|
|
PERMS = [
|
|
'emit',
|
|
'wall',
|
|
|
|
'teleport',
|
|
'setobjalias',
|
|
'wipe',
|
|
'set',
|
|
'cpattr',
|
|
'mvattr',
|
|
'find',
|
|
'create',
|
|
'copy',
|
|
'open',
|
|
'link',
|
|
'unlink',
|
|
'dig',
|
|
'desc',
|
|
'destroy',
|
|
'examine',
|
|
'typeclass',
|
|
'debug',
|
|
'puppet',
|
|
|
|
'batchcommands',
|
|
'batchcodes',
|
|
|
|
'ccreate',
|
|
'cdesc',
|
|
'tell',
|
|
'time',
|
|
'list',
|
|
|
|
'ps',
|
|
'stats',
|
|
|
|
'reload',
|
|
'py',
|
|
'listscripts',
|
|
'listcmdsets',
|
|
'listobjects',
|
|
'boot',
|
|
'delplayer',
|
|
'newpassword',
|
|
'home',
|
|
'service',
|
|
'shutdown',
|
|
'perm',
|
|
'sethelp',
|
|
]
|
|
|
|
# Permission Groups
|
|
# Permission groups clump the previously defined permissions into
|
|
# larger chunks. {groupname: [permissionkey,... ]}
|
|
|
|
GROUPS = {
|
|
"Immortals": PERMS,
|
|
"Wizards": [perm for perm in PERMS
|
|
if perm not in ['shutdown',
|
|
'py',
|
|
'reload',
|
|
'service',
|
|
'perm',
|
|
'batchcommands',
|
|
'batchcodes']],
|
|
|
|
"Builders": [perm for perm in PERMS
|
|
if perm not in ['shutdown',
|
|
'py',
|
|
'reload',
|
|
'service',
|
|
'perm',
|
|
'batchcommands',
|
|
'batchcodes',
|
|
'puppet',
|
|
|
|
'wall',
|
|
'boot',
|
|
'delplayer',
|
|
'newpassword']],
|
|
"PlayerHelpers": ['tell',
|
|
'sethelp', 'ccreate', 'use_channels'],
|
|
"Players": ['tell', 'ccreate', 'use_channels']
|
|
}
|