EssentialsX

EssentialsX

2M Downloads

[BUG] Colored Signs only works for Ops

Formula350 opened this issue ยท 9 comments

commented

EssentialsX version (/essentials):
(This does not display a version, so also is technically bugged ๐Ÿ˜› )

/<command> <reload/debug>
Essentials relayed the following commands to another plugin:
v => SuperVanish:sv

That being said... I'm running EssX v2.0.1 build 530

Server software (/version):
This server is running CraftBukkit version git-Spigot-3fb9445-2b6c9f4 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT)

EssentialsX config (if applicable):
https://gist.github.com/Formula350/da62d759f7fc4ce10ebe2f77c2c16039

Recently updated from Spigot 1.8 to 1.11.2. I had been using md5's Essentials with original old-school GroupManager, everything worked great still even in 1.11.2, but decided it was time to move to something more current (plus I loved that you guys added the UUID into the /whois command). Nevertheless, I've had loads of issues using EssX, and since I know you don't support GroupManager, I've not bothered reporting the issues... (such as it not recognizing build: true in groups, anti-build/protection snafus, to name a few). Currently I'm using GroupManagerX v2.2, though as I understand it, the code is pretty much unchanged from the original GroupManager (and the build: true issue was present in both).

However, this one I have to because there's no work-around or cause, other than something in EssentialsX being wrong.

The problem is that only Opped individuals are able to use colorcodes on signs (and probably format codes as well but that wasn't tested). My admins who are in a group that has essentials.signs.color are unable to use them, nor are players who directly have the exact same permission assigned to them. I have tried also giving: essentials.signs.*, essentials.sign.color, essentials.signs.colour, essentials.sign.colour, all to no avail.

So far, from what I can tell, it's only signs that are having the issue. Players and staff have no issues with using colorchat, colors in books, or in messages. This issue persists though restarts as well, since I have my server scheduled to auto-restart every morning at 4am.

Thanks
-Form

commented

(Yea, I figured the international spelling wasn't going to work, but I had to try it if only to be thorough ๐Ÿ˜„)

What exactly has changed in EssX that has caused it to no longer be compatible with GroupManager in the very-random ways that it is? Of the essentials permissions we use, this is the only one so far that isn't functional. In my eyes (which are almost completely ignorant to the world of coding), if it were GroupManager as the cause of the issue, then it'd exhibit this behavior across all of the EssX permissions, but since that isn't the case I can't help but wonder if it's not some oops in the EssX code? Was talking to another server owner last night who also plays on mine (and happened to have donated for the Colored Signs pack, when it worked in 1.8), and he mentioned having the same issue, eventually having to use another plugin in order to accomplish this goal. I'll have to ask him what permissions plugin he was using, but for some reason I want to say it was PeX.

But yes, the way I have it setup is a donation package which assigns that permission to their username. It runs: /manuaddp <username> essentials.signs.color
It's also added to certain groups as - essentials.signs.color

I dunno... shrug I'll take a look at the Plugin.yml and maybe if I set essentials.signs.color to be enabled by default, and revoke it with - -essentials.signs.color in the groups, that it being added to the user's specific permissions will allow it to function. ๐Ÿคž

EDIT: As a followup, before modifying the Plugin.yml, I just now tried with a user by giving them permissions, then having her test inbetween each and these are the results...
Prior to adding, had user test - Colored and Format do not work
Gave essentials.signs.color - Colored signs do not work
Gave essentials.signs.format - Colored and Format (used bold in the test) do not work
Gave essentials.signs.* & `essentials.sign.* - Colored, Format, and Magic do not work

UPDATE: I edited the Plugin.yml and added these lines:

  essentials.signs.color:
    default: true
    description: Testing to use Colors on signs.  -Formula350
  essentials.signs.format:
    default: true
    description: Testing to use Formatting on signs. -Formula350
  essentials.signs.magic:
    default: true
    description: Testing to use Obfuscation on signs. -Formula350
  essentials.signs.*:
    default: op
    description: Technically not needed, but adding just to see if it'll help. -Formula350 
    children:
      essentials.signs.color: true
      essentials.signs.format: true
      essentials.signs.magic: true

After uploading the modified plugin I restarted the server and had that player try again... Sadly, these did not seem to help (or maybe they didn't even register with EssX?).

commented

Thanks for trying out EssentialsX. Sorry to hear your experiencing issues. A lot of the time it can easily be GroupManager, and I believe that is also the case now. A lot of signs code has remained unchanged - exception being game-breaking bug fixes.

My advice would be to ensure each individual player has essentials.signs.color, by using tools provided by the permissions plugin.

P.S. we've removed international ou spelling, i.e. essentials.signs.colour is not used.

commented

The problem isn't - and never was - EssentialsX. It's GroupManager. I would consider looking further into this issue if the permissions plugin was not GroupManager simply based on the fact that no one has reported this issue reliably recently.

commented

*sigh* Why ask people to post their config if no one on the code team (who are Issues moderators) is going to even bother to review it? ๐Ÿคข

So for anyone else who are having this issue, it means you've overlooked something like myself, but on the plus side it means IT'S NOT AN ISSUE WITH GROUPMANAGER ๐Ÿ˜‰ . Granted, it's not exactly an issue with EssX either, but EssX is the cause, nonetheless!

The problem comes down to this section of the config, which I had originally overlooked because I wasn't using Essentials Signs; thus, couldn't imagine why it'd pertain to me in any way. (Yes, that's my bad, as I should've just done CTRL+F and searched for color, but oh well! heh)

# Essentials Sign Control
# See http://wiki.ess3.net/wiki/Sign_Tutorial for instructions on how to use these.
# To enable signs, remove # symbol. To disable all signs, comment/remove each sign.
# Essentials colored sign support will be enabled when any sign types are enabled.
# Color is not an actual sign, it's for enabling using color codes on signs, when 
# the correct permissions are given.

enabledSigns:
  #- color
  #- balance
  #- buy
  #- sell
  #- trade
  #- free
  #- disposal
  #- warp
  #- kit
  #- mail
  #- enchant
  #- gamemode
  #- heal
  #- info
  #- spawnmob
  #- repair
  #- time
  #- weather

Which as you can see, and what SuperHam should've seen when he looked at my config, the listing for Color Signs is disabled since it is commented out (#- color), therefore, preventing all usage of Color Codes on signs, regardless of whether they have the permission. Simply enabling it by removing the # will solve it and, just as the Help comment above that line says, "[allow for] using color codes on signs, when the correct permissions are given."

Then all that's needed is to give your player the permission of essentials.signs.color
This also covers the usage of Format and Magic (Obfuscated text), but since those both have their own permission nodes, for anyone to use them on signs they'll need those permissions. They are: essentials.signs.format and essentials.signs.magic *(I didn't text the Magic permission, but I did Color and Format, so I assume it now works as well.)

Hopefully this'll be more helpful to others, instead of unnecessarily shoveling you off to a different plugin's dev. :)
-Form

commented

Please also keep in mind that this is an open source project and every collaborator does this in their free time and unpaid, as this is a free completely free plugin. You have posted quite a lot of information and it takes time to precisely review it. Keep in mind that @SupaHam put alot of effort into EssentialsX, he surely didn't want to simply "shovel you off". I sometimes also help users in the issue tracker, however I am guilty off not really enjoying reviewing longer issues like this one, especially if the problem seems very basic.

If you want faster / more relevant support try to compress the information you give and more people will most likely be willing to look over it. Nonetheless it's great that you got it working and that you shared your fix with everyone!

commented

To add to @Kakifrucht's comment, there are numerous issues that can be searched through which would answer your question, as well as a section on the wiki dedicated to this particular issue.

We also do not support GroupManager in any way, as it's behaviour is unpredictable nor is there any reliable support from maintainers. In contrast, both PermissionsEx and LuckPerms follow roughly the same conventions when it comes to permission matching, and LuckPerms also has incredibly useful and fast support and extensive documentation (I personally just started using LP myself, it's absolutely worth trying out).

We can try to help, but it's frustrating when people don't try to help themselves then refute our suggestions.

commented

Oops, didn't mean to reopen this.

Just another quick note, as far as I know disabled signs shouldn't work for ops, so that was another indicator that the issue could have been caused by GM.

commented

I know, as do I know that a lot of the plugin devs are doing these for free and often times the only thing they get out of it is coding experience or the pure enjoyment of creating software. So I am indeed very grateful of that fact.

I'm 34 and run a server that basically only pays for itself, and what little overhead that is generated just goes towards my internet bill, or on the rare good months I'll spread it around to my staff.

Point is, I'm appreciative of all the help and free work that people offer. I just felt that if the time is taken to ask people to submit their config file, that it could at least be SOP to review it. Had the situation been reversed the first thing I would've done is noted that this is a signs and permissions related issue, then checked those specific areas in the config which could cause that. I lacked that knowledge and that's how I completely missed the stray config option the first few times, and so if he had pointed it out this would've been resolved right away.

Sorry for my previous annoyed-reply, @SupaHam

commented

@Formula350 That's alright.

We get issues with signs all the time. I must have been reading two issues at the same time and when scanning config.yml I read theirs instead of yours.