Making a permission plugin?

I don’t have much java knowledge, But if anyone wants to help make a permissions plugin for bukkit then me/they can port it over when Sponge is done.

Why another permission plugin? Is it going to do something novel that the others don’t?

Well, Does anyone know if essentials is being transported over, It just needs to be a simple permissions plugin, That you can do some commands and that, So once sponge comes (Probably a few months or so) it can be transported over

You can see a list of plugins that they are trying to coordinate being ported over and the progress here: Plugins to be ported!

If you don’t see your favorite plugin on the list or if there is no response from the developer, you can contribute by helping to find the developer or asking to have the plugin listed.

I don’t think there’d be much of a point in writing a Permissions plugin for Bukkit with the sole intention of porting it to Sponge. There’s already so many for Bukkit as well that it’s somewhat inconceivable that at least one won’t get ported to Sponge or a new one written fairly early.

It sounds like you’re aware that the API is far from complete, but when it is done, it won’t mimic Bukkit’s API much at all, from what I’ve read; they’re re-writing it from scratch. I may be mistaken, but porting may not be as easy task compared to just re-writing a permission plugin for Sponge when it’s available (for just a simple Permissions manager at least, other plugins would probably benefit from porting).

I think PEX, zPerms, and bPerms should be ported.
They already have tutorials and are mature plugins

Why not groupmanager? Although I like PEX more

GroupManager is stinky
GM is part of Essentials, so if that gets ported then it will be as well

In reply to your Essentials question, “Foundation” looks good. Search it on the forums.

Personally I liked GroupManager. Seemed a bit straight forward to me, though maybe it could just be a matter of opinion and what I’m used to.

From what I’ve heard, there were some flaws in PEX that could be exploited, does anyone know what that might have been? Don’t quote me on that though, because I’m not quite sure to be honest so perhaps it’s just my ignorance in knowing. Only really used bPerms and GM myself, so I’ve no idea.

It’s a bit of a stretch maybe, but perhaps there’s a way to create a single nice and solid permission system that covers all the good parts of what’s out there now? I mean, it is a long-shot though because any permission system that isn’t ported over means that any server that uses it would have to migrate to something else which is annoying and tedious, and creating a single permissions system would mean everyone migrating to it unless it’s based off another one (which would only be good news for whoever uses that one, maybe).

I mean, it would be nice to have permissions built right into Sponge, configurable to be optional but there and ready at hand if you wanted it, but that just kills off the options available. You can’t have chocolate or macadamia nut cookies anymore, but we’ll provide you with oatmeal if you accept it (oatmeal is very tasty though, it’s just typical to pick at it over chocolate. Or raisin cookies. Anyways.)

Haha I’m just rambling though…any thoughts?

Let’s just remember that if bPerms is indeed ported over, let’s refrain from renaming it sPerms. :smile:

1 Like

I think @TheYeti had plans on either necroing Permissions or working on a Permissions API/Service for Sponge. Just putting that out there for people who may know of the legacy that Permissions had in the early days of Bukkit.

I think bPerms stood for BananaPerms anyways XD Guessing since I can’t remember the dev’s username exactly, but I think banana was part of it.

PEX is going to be ported. Also, a permissions API is in development on the feature/permissions branch of the official API repository.

Would it be possible to discuss the options of adding the notion of “transient” permissions and maybe “world” permissions?

Oh right! I remember a banana guy of sorts somewhere now. :smile:

Glad to hear there’s an API coming for this though, should be nice to have something properly integrated.

It’d be really nice actually to have transient and world based permissions. Transient, not sure the use for it off the top of my head but I’m sure that someone more clever than I am could find a neat use for that. I know that GM has a setup for world based permissions, but unless you wanted to use all the same permissions from another world, you’d have to copy the yml from another world and just pull out the permissions you wanted removed in that world (negating the perms never seemed to work correctly for me, unless I’m just doing it wrong…I probably am). Perhaps it would be nice to have a file full of different permission yml sets all in one place that you could then point a world’s permissions to. Seems like that would be nicer than having a parent world send their permissions to other worlds, which to an extent started to confuse everything out of me.

as @gabizou said, I had planned on reviving Permissions (Permissions 3.x being the last version from Bukkit that was released).

For anyone wanting to keep up on development, I have started the API at

Also as gabi had suggested (noob that he is), I already have plans in for transient, per world, and per world transient permissions.

1 Like

Hey, just kindly replying :stuck_out_tongue:

Note to @blood. Why not make a build-in permission plugin? Would be nice.

Everyone has a different point of view as to what a permissions plugin should do, like the hassle of having multi world permissions, global permissions, interactions with other plugins (like WorldGuard Region specific permissions). All in all, a basic understanding of permissions is fine, but by no means should Sponge implement a permissions plugin.

I think the idea has only been for Sponge to implement support for checking permissions via a permission handler that presumably would be registered by a permission plugin, but not to provide any functionality until then. Then hopefully that can be extended to support any other sort of permission checking as you’ve mentioned, @gabizou.

You’re probably already aware of this, just adding this since some people may take that the wrong way and think Sponge won’t support permissions at all.