1
Plugins / [b38] TDSMPermissions 1.0! Now released!
« on: November 06, 2011, 10:12:51 PM »
Yes, that's right, with the imminent release of TDSM b36, Permissions will be available for all to use. Here are the current features:
Still coming:
Now, how to use it? Well, I made it to be almost exactly like Minecraft permissions plugins:
Groups:
the file starts out as such:
The next node can be anything, but usually the name of the group would be useful:
After that, you start getting into the group information. Usually, info is first:
The other nodes that a group can have are permissions and inheritance. Inheritance is a group that the group inherits permissions from. Permissions is where the permission nodes are put.
The other nodes that a user can have are permissions and groups. Groups is kind of required, otherwise a lot of the functionality is moot. Obviously, that's where you put the groups the user is a part of. Permissions are any extra permission nodes you want only the user to have access to.
So, all that being said, here is a simple example:
Also note, the "- -tdsm.spawnboss". That is a negative node. Because Herpina is part of the Admin group, she inherits ALL nodes, both from plugins and from the server. But suppose you don't want Herpina to be able to spawn bosses using the /spawnboss command. You do a regular node, "- tdsm.spawnboss" and put a - right in front of it. Make sure the space is between the two dashes.
Next note is that any info block values specified for a player are used BEFORE the group's info, e.g. Herpina is part of the Admin group, but her chat color ('ff0055') will be used instead of Admin's ('aa1111'), and Derpina's prefix will be Herpaderp, despite being part of the Sponsor and Moderator groups.
Finally, remember that you MUST use spaces for all your spacing. YAML does not handle tabs at all, you will have errors.
DOWNLOAD
ZIP
Download and extract contents, as they are, into your server plugins folder. This download contains the plugin, the example .yml, and the required YaTools library.
Oh, one more thing. Server commands and their nodes can be found here: http://wiki.tdsm.org/index.php?title=Permissions_Nodes
- Multiple inherited groups
- Group ranks
- Group prefixes and suffixes
- Build permissions (per group/per user)
- Chat colors
- Built-in chat formatting support
- Restrict auto-download (for authentication)
- Negative permission nodes
- Global/semi-global nodes
- Custom server nodes for server commands
- Chat color, prefix, suffix and separator allow for multiple groups, and are all assigned to user based off of group rank
Still coming:
- Separate user/group files
- Graphical permissions file(s) editor
- In-game commands
Now, how to use it? Well, I made it to be almost exactly like Minecraft permissions plugins:
Groups:
the file starts out as such:
Code: [Select]
*groups:*Obviously. I mean, really, how else would it start? Unicorns?The next node can be anything, but usually the name of the group would be useful:
Code: [Select]
groups:
*Guest:*After that, you start getting into the group information. Usually, info is first:
Code: [Select]
groups:
Guest:
*info:*Which can contain any of the following: default, prefix, suffix, separator, build, color, rank- Default is whether the group is the one guests are assigned to before registering; default value is false
- Prefix is the chat prefix (before the player's message); default is blank
- Suffix is the chat suffix (after the player's message); default is blank
- Separator is the text between the prefix and the player's message. Default is ": "
- Build is whether the group/player is able to affect the environment at all; default is false
- Color is the user's/group's chat color; default is 255, 255, 255. This can be specified either as a three number string (255, 255, 255) or as a hash string ('#ffffff'). Hex can be lowercase or uppercase, but must be in single quotes, as # is the comment character in yaml
- Rank is the group's rank. Not applicable in User Info; default is -1
The other nodes that a group can have are permissions and inheritance. Inheritance is a group that the group inherits permissions from. Permissions is where the permission nodes are put.
The other nodes that a user can have are permissions and groups. Groups is kind of required, otherwise a lot of the functionality is moot. Obviously, that's where you put the groups the user is a part of. Permissions are any extra permission nodes you want only the user to have access to.
So, all that being said, here is a simple example:
Code: [Select]
groups:
Guest:
info:
default: true
prefix: '[Guest] '
suffix: ' - says a loser'
rank: 1
color: 200,200,200
inheritance:
permissions:
- tdsm.who
Member:
info:
prefix: '[Member] '
build: true
rank: 2
inheritance:
- Guest
permissions:
- tdsm.time
Sponsor:
info:
prefix: '[Sponsor] '
build: true
rank: 4
inheritance:
permissions:
- tdsm.give
Moderator:
info:
prefix: '[Moderator] '
build: true
rank: 3
color: 200,200,0
inheritance:
- Member
permissions:
- tdsm.kick
- tdsm.ban
Admin:
info:
prefix: '[Admin] '
build: true
rank: 4
color: '#aa1111'
separator: '~ '
inheritance:
- Sponsor
permissions:
- '*'
users:
Herpina:
info:
color: '#ff0055'
groups:
- Admin
permissions:
- -tdsm.spawnboss
Derpina:
info:
prefix: 'Herpaderp'
groups:
- Moderator
- Sponsor
permissions:
- tdsm.op
Please note, there must be an extra newline at the end of the file, or it doesn't work right. I'm trying to fix that right now.Also note, the "- -tdsm.spawnboss". That is a negative node. Because Herpina is part of the Admin group, she inherits ALL nodes, both from plugins and from the server. But suppose you don't want Herpina to be able to spawn bosses using the /spawnboss command. You do a regular node, "- tdsm.spawnboss" and put a - right in front of it. Make sure the space is between the two dashes.
Next note is that any info block values specified for a player are used BEFORE the group's info, e.g. Herpina is part of the Admin group, but her chat color ('ff0055') will be used instead of Admin's ('aa1111'), and Derpina's prefix will be Herpaderp, despite being part of the Sponsor and Moderator groups.
Finally, remember that you MUST use spaces for all your spacing. YAML does not handle tabs at all, you will have errors.
DOWNLOAD
ZIP
Download and extract contents, as they are, into your server plugins folder. This download contains the plugin, the example .yml, and the required YaTools library.
Oh, one more thing. Server commands and their nodes can be found here: http://wiki.tdsm.org/index.php?title=Permissions_Nodes
); default null