![]() |
![]() |
It is through the permissions commands that you may specify 'who' may do 'what'. For instance, if you wanted to prevent snapper from talking to you, you could 'deny snapper tell'.
The permissions system in Key is extremely powerful, providing an implementation something known as 'Access Control Lists' in computing.
This chapter introduces you to the basics of using this permission system for yourself. When you start building rooms seriously, or want to configure a clan, you should also read the chapter on contextual permissions.
Some examples of entities include players, clans, and the pseudo-groups 'friends', and 'everyone'.
Some examples of actions include tell, find, and seePrivateInfo.
You may set a permission entry (allow, deny, or default) for any combination of these.
For instance, you can stop someone talking to you with a combination of player and tell, using a command such as 'deny snapper tell'. 'snapper' is the entity, 'tell' is the action, and 'deny' is the permissions you're setting.
This is probably a little bit confusing, so here are some more examples:
allow snapper find | This means that snapper will be able to find out where you are (important for the 'where' command and 'join' commands) even when you're hiding. |
allow snapper seePrivateInfo | This means that snapper will be able to see your email address even when you set it to be private with "email private". |
-> actions -------------------------------------------- actions for sLiDe --- 1 entry in the list: snapper - [Allow: find, seePrivateInfo] [Deny: tell] -------------------------------------------------------------------- Allow: [friend, tell] Deny: [summon, seePrivateInfo, find] --------------------------------------------------------------------At the top, you can see the modifications that we made for snapper. The list at the bottom shows the default values for each of your available actions.
If someone doesn't have a specific entry on the list then these actions are used for them. That means that joey can tell to me but cannot find me when I'm hiding.
To change these defaults you still use the allow and deny commands.
Let us pretend that you're deep in conversation in your room and you don't want anybody to be able to send tells to you:
-> deny tell Everyone can no longer tell sLiDe -> actions -------------------------------------------- actions for sLiDe --- 1 entry in the list: snapper - [Allow: find, seePrivateInfo] [Deny: tell] -------------------------------------------------------------------- Allow: [friend] Deny: [summon, seePrivateInfo, tell, find] --------------------------------------------------------------------Once we're done with our conversation, remember to allow people to talk to you again!
-> allow tell Everyone can now tell sLiDe
There are two ways to use this command, 'default <name> <action>', and 'default <name>'.
Here is a script based example of the first, to clear a specific action:
-> actions -------------------------------------------- actions for sLiDe --- 1 entry in the list: snapper - [Allow: find ,seePrivateInfo] [Deny: tell] -------------------------------------------------------------------- Allow: [friend, tell] Deny: [summon, seePrivateInfo, find] -------------------------------------------------------------------- -> default snapper tell snapper no longer has a specific entry for 'tell sLiDe' -> actions -------------------------------------------- actions for sLiDe --- 1 entry in the list: snapper - [Allow: find ,seePrivateInfo] -------------------------------------------------------------------- Allow: [friend, tell] Deny: [summon, seePrivateInfo, find] --------------------------------------------------------------------As you can see, the "[Deny: tell]" has disappeared from the permission list. As tell is currently defaulting to allow (see the second last line), snapper will now be able to talk to me.
You use the second form of default to wipe an entire person from your permission list:
-> default snapper snapper no longer has a specific entry on sLiDe -> actions -------------------------------------------- actions for sLiDe --- No list entries -------------------------------------------------------------------- Allow: [friend, tell] Deny: [summon, seePrivateInfo, find] --------------------------------------------------------------------With those four commands (allow, deny, default, actions) you know everything you will ever need to know about manipulating permission lists on Key.
Here is a list of the available actions, along with a brief explanation of what they are for:
deny snapper tell - prevents snapper
from talking to you. Good if you think snapper is an annoying
$#)*(.
allow snapper tell - allows snapper to
talk to you even if you have set 'deny tell'.
default snapper tell - clears snappers
tell entry from your list.
allow snapper find - allows snapper to
find you even if you are hiding.
default snapper find - prevents snapper
from finding you if you are hiding. (This works because you
shouldn't ever have a reason to 'allow find', as this is the
same as just not hiding in the first place.)
allow snapper seePrivateInfo - allows
snapper to see your email address even when it's set to private.
default snapper seePrivateInfo -
prevents snapper from seeing anything on your profile that is
set to private. (As with find, there isn't any need to change
the default values for this action).
allow summon - allows everyone to grab
you.
deny summon - (The default). Prevents
people from grabbing you.
allow snapper summon - Unconditionally
allows snapper to grab you, even if you have 'deny summon'
turned on.
deny snapper summon - Unconditionally
prevents snapper from grabbing you, even if you have 'allow
summon' turned on.
default snapper summon - snapper will
be able to grab you only if you have 'allow summon' turned on.