Giter VIP home page Giter VIP logo

Comments (21)

stw222 avatar stw222 commented on September 7, 2024

I can confirm that i am experiencing a similar issue on my server
OS: Ubuntu MATE 18.04.3 LTS with Linux kernel 5.2.11 64 bit
Java:
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
MC ver: 1.7.5
Proxy Ver: Waterfall-Bootstrap:1.15-SNAPSHOT:87d2873:326
Local Ver: 1.15.2 paper-137

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

Hi guys,

Thanks for the report. I am currently working on v1.8.

I cannot seem to re-create this issue? My luckperms is definitely checking for the colour code permission:

https://i.imgur.com/4FT2Qcc.png

I will investigate further!

from development.

stw222 avatar stw222 commented on September 7, 2024

I think the issue is more a lack of finer control of colors.

Like, i think we should be able to control color usage per chat type.

like separate permissions for using color in global, local, groups etc

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

I was under the impression that the issue was stating there was a problem with the functioning of the global chat colour permissions?

It would be possible to allocate permissions for each of the different types of chat, but it is not necessarily a quick fix as they all operate in slightly different ways. I will add it to my list.

from development.

stw222 avatar stw222 commented on September 7, 2024

well, this issue could be due to some sort of error in configured permissions for a particular server or some plugin conflict.
although, when i made my comment, for some reason we randomly could or couldnt use colors in chat (even tho donors and staff have the color permission) but then sometimes we randomly could.
it is possible that we are having problems with our connection between LP and our Mysql database.
although, it doesnt seem to have happened since then. our daily server restart could have fixed it

from development.

itsmeow avatar itsmeow commented on September 7, 2024

My issue is that it does not check, period. I am using LuckPerms on an sql database with plugin messaging installed on each server and the proxy server. I have no other affecting chat plugins (I disabled all plugins that I thought could intefere, nothing). I haven't tested since the report but I can maybe look at it again later.

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

Did you try /lpb verbose? Just to check. As MultiChat checks for colour permissions on the bungeecord side not the spigot side.

I can't seem to re-create the issue just yet so any additional info would help. You can also try running /multichat debug and sending me the console logs

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Ohhhhh, there's a separate Bungee command!!! I didn't know that. I'll try both of those.

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Here's the logs

>....�=>.... [01:03:16 INFO]: [LP] Verbose logging enabled for checks matching its_meow.
>.... [01:03:19 INFO]: [MC] CHAT > [Survival] G- wyatt: &4&ltest
>.... [01:03:19 INFO]: [LP] VB > its_meow - multichat.spam.bypass - undefined
>.... [01:03:19 INFO]: [LP] VB > its_meow - multichat.chat.link - undefined
>.... [01:03:19 INFO]: [LP] VB > its_meow - multichat.chat.colour - false
>.... [01:03:19 INFO]: [LP] VB > its_meow - multichat.chat.color - false
>.... [01:03:19 INFO]: [LP] VB > its_meow - multichat.chat.colour - false
>.... [01:03:19 INFO]: [LP] VB > its_meow - multichat.chat.color - false
>....[01:03:50 INFO]: [MC] [DEBUG] Debug mode toggled
�=>.... [01:03:55 INFO]: [MC] [DEBUG] its_meow- about to check for spam
>.... [01:03:55 INFO]: [MC] [DEBUG] its_meow - checking for spam...
>.... [01:03:55 INFO]: [MC] [DEBUG] its_meow - does not have bypass perm...
>.... [01:03:55 INFO]: [MC] [DEBUG] Sent message on multichat:ch channel!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Got an incoming channel message!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Player is online!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Got their meta data correctly
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Set their world to: spawn
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Got an incoming channel message!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Player exists!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Player meta exists!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] The displayname received is: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Got an incoming channel message!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Player is online!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Got their meta data correctly
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Set their world to: spawn
>.... [01:03:55 INFO]: [LP] VB > its_meow - multichat.spam.bypass - undefined
>.... [01:03:55 INFO]: [LP] VB > its_meow - multichat.chat.link - undefined
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [LP] VB > its_meow - multichat.chat.colour - false
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [LP] VB > its_meow - multichat.chat.color - false
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Got an incoming channel message!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Player exists!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Player meta exists!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] The displayname received is: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Got an incoming channel message!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Player is online!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Got their meta data correctly
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:world] Set their world to: spawn
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Got an incoming channel message!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Player exists!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] Player meta exists!
>.... [01:03:55 INFO]: [MC] [DEBUG] [multichat:dn] The displayname received is: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Updating display name...
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Player is present!
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Fetch Spigot Display Names is true
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] MultiChat is in charge of display names
>.... [01:03:55 INFO]: [MC] [DEBUG] [PlayerMetaManager] Set as: wyatt
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} Got a plugin message
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} UUID = 81d9726a-56d4-4419-9a2a-be1d7f7f7ef1
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} Message = test
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} Format (before removal of double chars) = [Survival] G- wyatt:
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} Format = [Survival] G- wyatt:
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} Got player successfully! Name = its_meow
>.... [01:03:55 INFO]: [MC] [DEBUG] {multichat:chat} Global Channel Available? = true
>.... [01:03:55 INFO]: [MC] [DEBUG] CHANNEL #global: Got a message for the channel
>.... [01:03:55 INFO]: [MC] [DEBUG] CHANNEL #global: SENDER = its_meow
>.... [01:03:55 INFO]: [MC] [DEBUG] CHANNEL #global: MESSAGE = test
>.... [01:03:55 INFO]: [MC] [DEBUG] CHANNEL #global: FORMAT = [Survival] G- wyatt:
>.... [01:03:55 INFO]: [MC] CHAT > [Survival] G- wyatt: &4&ltest
>.... [01:03:55 INFO]: [LP] VB > its_meow - multichat.chat.colour - false
>.... [01:03:55 INFO]: [LP] VB > its_meow - multichat.chat.color - false

image

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

Thanks for that, what other other plug-ins do you have that could affect the chat? Particularly on your paper server?

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Not many. Out of my plugins I identified StaffChat (I prefer vs MultiChat's), and ChatInjector. Disabling both made no change at all. I've also noticed that on other servers it also retains the color in global.
Full plugin list, just in case:

  • AdvancedNMOTD
  • Annoucements
  • ASyncWorldEdit
  • BetterMending
  • BetterSleeping
  • BileTools
  • BKCommonLib
  • BossShopPro
  • BuycraftX
  • Chairs
  • ChatInjector
  • Citizens
  • CommandAliases
  • CoreProtect
  • Dynmap
  • Dynmap-GriefPrevention
  • EssentialsX (I do not have Chat, and also have denied color perms either way)
  • EssentialsX-Spawn
  • FastLeafDecay
  • GriefPrevention
  • HolographicDisplays
  • LagMonitor
  • LibsDisguises
  • LuckPerms
  • MultiChat-Spigot
  • Multiverse
  • Multiverse-Portals
  • MyCommand
  • NuVotifier
  • OldCombatMechanics
  • PlaceholderAPI
  • ProtocolLib
  • SilkSpawners
  • StaffChat
  • SuperVanish
  • TreeCapitator
  • Vault
  • VotingPlugin
  • Wild
  • WitherAC
  • WorldBorder
  • WorldEdit
  • WorldGuard

On Bungee/Waterfall I have:

  • BungeeAdminTools
  • LuckPerms
  • MultiChat
  • MyCommand-Bungeecord
  • NuVotifier
  • Yamler

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

Okay thank you, can you also send your multichat config files from bungee and spigot? I’m really struggling to see why this is happening. I want to say it must be another plugin but not sure I can rule out multichat yet.

Thanks.

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

I also just want to check if it could still be a lp error. Do you have the * permission set at all?
Or some kind of multichat.* permission anywhere
multichat.chat.*?
Im sure thats probably not the issue, but I want to rule out all possibilities.

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Here's my configs.
configs.zip

And some checks:
image
image
image

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Okay so I tested it on my hub server which has less plugins, and colors were NOT displaying. So obviously one of my plugins is misbehaving.

I also updated to 1.8.1

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Possible workaround that should work: Add a configuration option to remove &(x) color codes from chat altogether if a user doesn't have permission. I've done the same with regex rules but regex rules don't have permission nodes (which would also allow the same workaround to exist if added), so staff can't do it either.

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

I am starting to be pretty sure another plugin is causing this issue. Because In the console you showed me, Multichat prints out the colour codes not translated. It says "&c&l", whereas in game you are seeing them translated into a blank message. But MultiChat logs things in the console exactly how they will be sent.

For example, if I sent "&4test", the console shows "test" shown in red.

image

I am not saying it definitely isn't multichat, but I am confused why MultiChat displays it correctly in the console and it is not appearing correctly on the screen.

I just did some testing of my own and it seems to be working correctly as far as I can tell.

Perhaps you could try updating to MultiChat 1.8.1 in case this makes a difference? It shouldn't do, but it will also allow me to send you a jar with some extra debug messages in to try and figure out what is causing the problem for you.

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

Sorry ignore my last message. For some reason I didn't see either of your two appear before it!

Yes in that case it is definitely one of your plugins misbehaving. I could potentially look to strip away the colour codes if the player doesn't have permission, but plugins should always maintain changes from other plugins where possible. For example, a faction leader in some instances might be allowed to chat in colours and the faction plugin could deal with this. Then it would be respected by MultiChat. I know it is a random scenario, but in general any changes by other plugins should be left alone.

Glad that is sorted out. You will just have to remove the plugins one by one until you discover which one is the culprit!

If you need anything else just let me know :)

from development.

itsmeow avatar itsmeow commented on September 7, 2024

Is it possible to add a permission check to regex rules? This way I could implement a workaround easily by just setting the permission to the color permission, and only applying the regex rule to global/local chat.

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

Yes it would be possible. I will look to add it in a version as soon as possible :)

from development.

OllieMartin avatar OllieMartin commented on September 7, 2024

This has now been implemented and will be released in v1.9 (which is due for release VERY soon!)

regex_rules:
# Example rule to replace [bold] with the format code %l to make bold text
- look_for: '\[bold\]'
  replace_with: "&l"
  permission: "multichat.regexrules.bold" # You can choose to specify permissions in order for the regex rules to apply
# Example rule to replace [italic] with the format code %o to make italic text
- look_for: '\[italic\]'
  replace_with: "&o"
regex_actions:
# Example rule to kick someone who says a specific phrase
- look_for: 'kickmeplzrightnow'
  command: "kick %PLAYER% You asked for it!"
  cancel: false
  spigot: true
- look_for: 'thisisabadword'
  command: "kick %PLAYER% You are now allowed to say that here!"
  permission: "!multichat.chat.badwords" # If the permission starts with !, then the action will only apply to players WITHOUT that permission.
  cancel: true
  spigot: true```

from development.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.