essentials prerelease - essentialsantibuild

Discussion in 'Bukkit Help' started by Necrodoom, Sep 25, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Necrodoom

    since people completely refuse to read documation and instead prefer to install the latest version on the dev.bukkit page before checking what it even does, i made this thread to clear up confusion.

    as of pre2.9.4.1, essentialsprotect is now split into essentialsprotect and essentialsantibuild. essentialsprotect handles physics, and essentialsantibuild handles blacklist and permissions based antibuild. to make full use of the changes, you need to update your config.yml. essentialsantibuild works like essentialsprotect did, check if the permissions plugin denies building, and if yes, disable place, break, interact, and, as of pre2.9.4.3, craft, drop item, pickup item.
    by using the permissions as explained on http://wiki.ess3.net/wiki/AntiBuild#AntiBuild you can define what a player with build: false gets access to, and what he doesnt. if you are going to get essentialsantibuild, get latest prerelease, pre2.9.4.4
     
  2. Offline

    asyvan

    Sorry,
    I have read the documentation
    I have asked on the IRC chat
    I have spent hours on testing today

    Will Antibuild replace Modifyworld? Does not seem to replace all what Modifyworld can do, at least not according to the very limited info here http://wiki.ess3.net/wiki/AntiBuild#AntiBuild
    For instance... what about:
    - -modifyworld.mobtarget.monster.creeper

    And from my testing with Modifyworld + Antibuild and with them separately, permissions like these does not work:
    - -modifyworld.items.use.259.*
    - -essentials. interact.259
    I can still use 259, which is flint_and_steel

    For some reason, even if I remove Antibuild... something breaks the - -modifyworld.items.use.259.*
    But that could be latest craftbukkit, I don't know... it works with the release of Essentials and with 1.3.1-R2.0 of bukkit.

    (I am not at the server now so I can't paste from the correct files, but I have described the coneptual problem)
     
  3. Offline

    Necrodoom

    mobtarget is currently handled by an essprotect function, but is a toggle.
    as for - -essentials. interact.259, correct node is essentials.build.interact.259
    you must disable building for that group before allowing all interact, and then negating a single item.
    EX:
    build: false
    essentials.build.*
    -essentials.build.interact.259
     
  4. Offline

    asyvan

    This works:
    (I can't place stone (1)). I can see from the message that Modifyworld blocks it.
    - essentials.build.place.1
    - essentials.build.break.1
    - essentials.build.interact.*
    - essentials.build.craft.1
    - essentials.build.pickup.1
    - essentials.build.drop.1
    - essentials.build.*
    - modifyworld.blocks.interact.stone
    - -modifyworld.blocks.place.stone
    - modifyworld.blocks.destroy.stone
    - modifyworld.items.use.stone.on.block.*
    - modifyworld.items.pickup.stone
    - modifyworld.*

    This does NOT work:
    (I can still place stone (1))
    - -essentials.build.place.1
    - essentials.build.break.1
    - essentials.build.interact.*
    - essentials.build.craft.1
    - essentials.build.pickup.1
    - essentials.build.drop.1
    - essentials.build.*
    - modifyworld.blocks.interact.stone
    - modifyworld.blocks.place.stone
    - modifyworld.blocks.destroy.stone
    - modifyworld.items.use.stone.on.block.*
    - modifyworld.items.pickup.stone
    - modifyworld.*

    And with Modifyworld.jar removed,
    the above still does not work.
    (I can still place stone (1))
    - -essentials.build.place.1
    - essentials.build.break.1
    - essentials.build.interact.*
    - essentials.build.craft.1
    - essentials.build.pickup.1
    - essentials.build.drop.1
    - essentials.build.*

    Yeah, I had the correct node just a typo in the forum since I could not paste from server. Sorry.

    But where am I supposed to enter build: false?
    In config.yml I have build: true since I want to use build: false in permissions.

    So I guess it is in permissions.yml I add
    build: false
    permissions:
    - -essentials.build.place.1
    - essentials.build.*

    (The order is this, since I belive it checks from top to down, and I want it to stop when it finds a negating node)

    But sorry, I can still place stone.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 28, 2016
  5. Offline

    Necrodoom

    oh PEX. that functions a bit different, so youd have to negate essentials.build
    permissions:
    - -essentials.build.place.1
    - essentials.build.*
    - -essentials.build

    probably like this.
     
  6. Offline

    asyvan

    Nope. Doesn't work. I have also tried to have - -essentials.build first but still can place stone (1).

    - -essentials.build.* however does stop me from placing any block. (No matter if I have - -essentials.build or not.) But that could be just because it doesn't know how to match a negating node, and thus I am not able to place because I don't have any -essentials.build.* at all.

    Edit. More tests. This works as expected:
    - -essentials.build.*
    - essentials.build.*
    I can't place anything. Correct because it should stop on a matching negating node.

    And, if I leave out - essentials.build.*, thus not allowing build at all... but place this instead essentials.build.place.1
    I should be able to place stone, but I can't. So no matter what I do... I can't get essentials.build.place.ID to work... not allowing not negating... essentials.build.* works though.With it I can build, without it I can't.

    - -essentials.build.place.*
    Does not work. I can place blocks anyway.

    Just tried pre2.9.4.5
    No change

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 28, 2016
  7. Offline

    Necrodoom

    tried what you said, worked fine. GM, Bperms work perfectly with it, PEX does stupid stuff with negation so requires going around it. il do some tests with PEX structure.
     
  8. Offline

    Tanite

    Generally we just put a negating node above a wildcard. So that should work if it's like the usual process:

    - -essentials.build.place.1
    - essentials.build.*

    I think :)
     
  9. Offline

    asyvan

    Yeah, this is how it SHOULD work. But it doesn't.

    Again,

    Works I can't build anything
    - -essentials.build.*
    - essentials.build.*

    Does not work I can place all blocks
    - -essentials.build.place.*
    - essentials.build.*


    Does not work I can place stone (1)
    - -essentials.build.place.1
    - essentials.build.*
     
  10. Offline

    Necrodoom

    tested this with PEX, worked.
    not sure what to tell you.
     
  11. Offline

    asyvan

    You told me it works. :)
    Meaning: I have something that breaks it. I need to go back and build it piece by piece from scratch.
    Can you post version numbers of craftbukkit and plugins and permissions file you used to get it to work?

    Thanks. I will get back to this thread if I find what breaks it.
     
  12. Offline

    Necrodoom

    essentials dev2.9.514, bukkit 2352

    il give permissions file in a sec

    EDIT: GM based permissions:

    build: true
    - essentials.build.*
    - -essentials.build.place.1

    Bperms based permissions:
    - ^essentials.build.place.1
    - essentials.build.*
    - ^essentials.build

    PEX based permissions:

    - -essentials.build.place.1
    - essentials.build.*
    - -essentials.build

    all worked.
     
  13. Offline

    asyvan

    Totally clean install.
    New computer, never even ran Bukkit on it before.

    Windows 7 64-bit
    Build 2352 of Craftbukkit
    Essentials dev2.9.537
    PEX 1.19.3 (latest I can find)

    No Modifyworld, didn't even include it at all in first place
    Change NOTHING in config.yml files

    This is my COMPLETE permissions.yml
    groups:
    default:
    default: true
    permissions:
    - -essentials.build.place.1
    - essentials.build.*
    - -essentials.build

    Guess what: I can place stone (1)
    But I should NOT. So what the heck am I doing wrong?

    I have verified I am using stone (1), since I did give <username> 1 64 on Console and alsoo used /itemdb (with the essentials.itemdb permission node).

    I ZIPed the entire Bukkit installation, it's a fresh new as listed above so it's not huge.
    Here is a download link, 14MB.
    http://dl.dropbox.com/u/21124906/Server2.zip

    Get it, unZIP, start it... and see what you get.

    Also, found this in the forum thread for PermissionsEX. No idea how involved this person is with either PEX or Essentials. But if that is the case, it would explain my problems.
    [​IMG]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 28, 2016
  14. Offline

    Tanite

    Are the 2 dashes and a space before the last node on purpose?
     
  15. Offline

    Necrodoom

    mistype.


    essentialsantibuild or essentials in a whole? essentials works fine with PEX.

    EDIT: looks like an issue with PEX. after enabling the debug, i saw that even though you told the node to negate, PEX is still returning that its true.
    checking if necrodoom has essentials.build.place.1:0 - true
    (before you say anything about the metadata, essentials checks for metadata, then ID, so changing the negate node will do nothing)
     
  16. Offline

    asyvan

    My findings say that Essentials and PEX work fine.
    (like - essentials.itemdb and most other nodes, work just fine)
    And to some extend even Essentials Antibuild. But not all of it... see below examples.

    Example 1
    - essentials.build.* <--- Allows me to build, correct

    Example 2
    #- essentials.build.* <--- Does not allow me to build, correct

    Example 3
    - -essentials.build.*
    - essentials.build.*
    Does not allow me to build, correct

    Example 4
    - essentials.build.place.1
    #- essentials.build.*
    Should allow me to place stone only. Does not work, can not place ANYTHING.
    Does not work.

    Example 5
    - -essentials.build.place.1
    - essentials.build.*
    Should allow me to place anything but stone. Does not work, I can still place everything incl stone.
    Does not work.

    Conclusion:
    It is not all of Essentials, see examples 1, 2 and 3. Works as expected.
    If seems to be the Place node, both if I give permission or negate permission. See examples 4 and 5.
    If the problem is in PEX or in Essentials, I don't know.
    It worked just fine with the older Essentials.
     
  17. Offline

    Necrodoom

    in my testing, no matter what i did, with any plugin or node, PEX did not negate the permission:
    - -essentials.back.ondeath
    - essentials.back
    - essentials.back.*

    essentials.back.ondeath returns true.

    again, this only happens with PEX.
     
  18. Offline

    asyvan

    Right,
    I have logged a ticket on PEX and linked to this thread. We'll see what happens. Right now I have (I think) a working solution using new Essentials and continue to use PEX and Modifyworld.

    Thanks for all the help and input.
     
  19. Offline

    Necrodoom

    [11:18] <Hobbits|away> Necrodoom, pex works slightly differently
    [11:19] <Hobbits|away> it never bothers to check the single perm
    [11:20] <Hobbits|away> i havent decided if i want to make a work around for that
    seems like negation of nonwildcard nodes will not work with PEX.
    although, a minor workaround for PEX wildcard handling was done in latest essentials devbuild
    update to latest devbuild again, use essentials.build.place.1:* instead of essentials.build.place.1:*
     
  20. Offline

    asyvan

    Thanks.

    Summary:
    With latest build of Essentials (539) and the use of:
    - -essentials.build.place.1:*
    - essentials.build.*
    Then it works. I can't place stone but all else. It has to be build 539 or later.

    The reason why this wouldn't work:
    - essentials.build.place.1
    #- essentials.build.*
    It didn't let me place stone. It was because I also need interact permission node.
    This works:
    - essentials.build.place.1
    - essentials.build.interact.*
    #- essentials.build.*
    It lets me place stone on anything, but nothing else.
     
  21. Offline

    UltramarineXIII

    Simply none of this works for me . .
    I am blocked from placing blocks with any setting.
    Here is my permissions file:

    groups:
    default:
    default: true
    prefix: '&f'
    build: false
    permissions:
    - essentials.protect.exemptusage
    - essentials.protect.exemptbreak
    - -essentials.build.place.46:*
    - essentials.build.*

    I have tried all the suggestions above in the comments to no success. Yes the build is set to false, that's because I've tried with false and true, neither work and nothing has. Yet :p.

    I have entered in the essentials protect plugin into the permissions too to test and I have attempted without them simply nothing has worked for me.

    God exists if someone can figure out what's gone wrong here . .
     
  22. Offline

    Necrodoom

    not essentials, update PEX.
     
Thread Status:
Not open for further replies.

Share This Page