After updating to Spigot 1.8 players no longer have USE allowed
LadyCailinBot opened this issue ยท 17 comments
WORLDGUARD-3252 - Reported by leversandpulleys
Within our spawn city we have the following flags set for our spawn area and global http://gyazo.com/7996ec1db74d284f89ea382cd3e0cd6a However, players are not able to use plates or doors or interact with NPC's except in areas where we create a priority region with USE allow. Based on what is seen here, how is it that this may be forbidden, and why might that have changed during the uprade?
It should be noted that the PVP flag apparently changed after the upgrade as well, but we have changed that. We have not updated the USE flag because we wish to understand further what has changed and if that is actually the cause.
We are using WorldGuard 6.0.0 snapshot.1477 and Spigot 1.8
Thanks so much for your time and attention.
Comment by TGS
Yeah happy New year, and thanks for taking your time to develop the plugin! Reverting the change is a good idea.
Comment by leversandpulleys
@sk89q On behalf of our spawn city and its many residents, Happy New Year and many thanks. Reverting would be much appreciated on our end.
Thanks again,
Craig
Comment by TGS
I just tested this, now we have to set the new interact flag to all worlds instead of the use flag?
Comment by sk89q
The USE flag works like it did on WG 5. There is no INTERACT equivalent on WG 5.
If you want to use the WG 6 USE flag prior to reversion, then use INTERACT.
Comment by TGS
But the "use flag" (and by that I mean how WG handles it) was not defined (allowed) by default in WG 5, now you still need to define a flag to allow players to use redstone.
So long story shory: On WG 5, no use flag defined in a region, you could use a pressure plate, on the newest WG 6 build you can't.
This what was I (and probably many other like @leversandpulleys) didn't want, we just want it like it was on WG 5, as it seems like an unnecessary change :)
Comment by TGS
Yeah, I've done that now on my many worlds, so it doesn't matter to me if you reverse it or not. It's still one flag less in every region that needs to be defined, but do as you wish. Also, how does the interact flag work? It seems identical to the use flag, but I doubt it is?
Comment by sk89q
The problem is if I set it to ALLOW by default, you can't easily unset it. Setting it to DENY would filter down to every region. Ideally you would be able to set "NONE" but that's not possible at the moment.
Effectively, the INTERACT flag covers every action that involves interacting with a block or entity, which is often through right clicking the entity.
As you may know, Bukkit has many events:
- Sleeping event
- Player right click event
- Bucket fill event
- Bucket empty event
- etc.
You are supposed to block sleeping by handling the sleeping event, bucket protection by using the bucket events, and so on. If you want to protect a specific block at X, Y, Z, you have to listen for a dozen different events.
From a protection point of view, all you care about is whether someone (or something) is trying to place, break, or interact with something at X, Y, Z, so having to handle 40 events is redundant.
Therefore, WorldGuard funnels all of Bukkit's events into 3 simple "verbs" for entities, blocks, and items:
- Place
- Break
- Interact
(Although entities also have "damage" and items only have "interact".)
If you think about it, 99% of the things that happen in Minecraft fall into those three categories. Either you're placing a block, breaking a block, or interacting with it. Likewise for entities.
Interact is thus anything that isn't place or break, and it applies to both entities and blocks.
Not all of WG's region protection code is done through this. Some flags are very specific ("creeper explosion") so they still handle Bukkit events.
Comment by sk89q
I forgot to mention: Where this becomes is useful is with blocks/entities added by mods or plugins. There are no events for an "oil refinery block" -- at most, only a right click event that Bukkit always sends. Since INTERACT controls the ability to right click, it effectively protects this oil refinery even though WG doesn't know about it.
Comment by TGS
Okay, thanks for the clarification! I understand that principally you define a region to make it static, but imo should interact be allowed by default, from the average server owners pow. that'll be most useful.
Comment by NightDragon
Hello!
I can confirm the bug. We have the same issue on our Server.!
If you need more information than please contact me!
INFO: When the flag USE is set to allow, even chests can be opened. This is our biggest issue.
I haven't tried yet if it's possible to work around with use allow and chest access deny... but that can't be a solution
BR,
Rob
Comment by TNTUP
Having this issue aswell, lots of players cannot use boats in global :S
Comment by NightDragon
Remark. They say:
The USE flag is now much more encompassing so you may find that it blocks things like CraftBook gates (for users of CraftBook). To fix that, you can do /rg flag REGION_NAME use allow, but be aware that that will also allow the opening of inventories. To block inventories specifically, use /rg flag REGION_NAME chest-access deny -g nonmembers. The -g nonmembers makes it so only non-members of the region are unable to use chests, but this is optional.
I'm absolutely upset about this change, but you may give me an enlightenment.
I have a big region (town), with streets and doors. Those doors are on a public region and leading to smaller regions, owned by players. the big town region has a lower priority than the smaller ones (covered by the town region). The new behaviour forces me to set "USE allow" on the town region so players can open the doors to their regions. That way we lose also protection of the chests on the smaller ones (new behaviour). So i would have set chest-access deny -g nonmembers, but if i set it on the town region no owner of the higher prio region can open it's chest anymore..
So what to do??
Comment by TGS
This is not a bug, and fully intentional. Nevertheless it's a change that causes more trouble than it helps imo.
Now I have to set the use flag on all my 53 worlds..
Comment by sk89q
You can whitelist signs in the configuration.
However, I may revert USE and add a new flag for the current USE.
Comment by TNTUP
@sk89q Reverting the USE will also bring back mountable entities I've reported earlier (enhancement)
Happy new year sk!