Zrips / CMI

114 stars 97 forks source link

Global Chat (Bungeecord) not working AT ALL #6419

Open mfnalex opened 2 years ago

mfnalex commented 2 years ago

Description of issue: Global chat via Bungeecord is not working at all. Players can always only see chat messages from their own server, not from others.


CONFIG SECTION (DELETE IF NOT RELEVANT): The following config.yml runs on ALL servers

Chat:
  # Will try to modify chat to display it in defined format
  ModifyChatFormat: true
  # When set to true, regular and private messages (excludes clean messages) will have additional information when hovering over it (PlaceHolderAPI supported) and can be clicked for quick reply option
  # To change default hover over messages seen on sent message, go to your locale file to Chat section
  ClickHoverMessages: false
  DiscordSRV:
    # Enables support for DiscordSRV plugin
    Enabled: true
    # Defines name of global chat channel in discordsrv
    GlobalChannel: global

BungeeCord:
  # You can disable bungeecord support entirely if you are exrperiencing issues with it
  # When setting this to false some features like public messages over bungee cord, private messages over bungeecord, portals over bungecoord and other features will stop working
  # Keep in mind that regular behavior of those features will remain intacted
  Enabled: true

  # Attention! This will require you to have CMI Bungee plugin which can be found at zrips.net
  # Or direct download https://www.zrips.net/cmi/
  # Do you want to enable private messaging over bungeecord
  BungeeMessages: true
  # Do you want to enable public messaging over bungeecord
  # Player needs to have cmi.bungee.publicmessages.[servername] permission node to be able to send messages to target server
  BungeePublicMessages: true
  # Do you want to enable staff messaging over bungeecord
  BungeeStaffMessages: true

Cmi Version (using/cmi version): 9.1.0.0 BungeeCord CMIB SqLite

Server Type (Spigot/Paperspigot/etc): Spigot & Paper & Waterfall

Server Version (using /ver): 3344-Spigot-3c40a6c-4b5f988 and git-Paper-25 (both 1.18) connected through git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ab927be:462


The only output CMI does at all on the proxy is the following:

[08:39:29 INFO]: Enabled plugin cmd_server version git:cmd_server:1.18-R0.1-SNAPSHOT:ab927be:462 by WaterfallMC
[08:39:29 INFO]: Enabled plugin cmd_alert version git:cmd_alert:1.18-R0.1-SNAPSHOT:ab927be:462 by WaterfallMC
[08:39:29 INFO] [CMIB]: Registered channel!
[08:39:29 INFO] [CMIB]: Registered listeners!
[08:39:29 INFO]: Enabled plugin CMIB version 1.0.1.0 by Zrips
[08:39:29 INFO]: Enabled plugin cmd_send version git:cmd_send:1.18-R0.1-SNAPSHOT:ab927be:462 by WaterfallMC
[08:39:29 INFO]: Enabled plugin cmd_list version git:cmd_list:1.18-R0.1-SNAPSHOT:ab927be:462 by WaterfallMC

Players do have the cmi.bungee.publicmessages.[servername] permission. I also checked through LuckPerms (running on the proxy) whether CMI actually checks for that permission at all, but it doesn't: https://luckperms.net/verbose/RiKCHmt9vY

mfnalex commented 2 years ago

I forgot to mention: of course LuckPerms also runs on all servers and the permissions are synced

mfnalex commented 2 years ago

Just checked lp verbose again, CMI does appear in the server's log but not on the proxy and it doesn't check cmi.bungee... permissions at all:

Here's the LP verbose log again while writing a chat message: https://luckperms.net/verbose/JR5UXvTcYE (Bungee) https://luckperms.net/verbose/gIzklXpzIe (Lobby server)

mrfloris commented 2 years ago

Can you type: /cmi version and share the Full output? This will include if it sees bungee, which cmilib version etc.

mfnalex commented 2 years ago

Sure :)

>cmi version
[11:20:48] [Server thread/INFO]: --------------------------------------------------
[11:20:48] [Server thread/INFO]: CMI: 9.1.0.0 BungeeCord CMIB  SqLite
[11:20:48] [Server thread/INFO]: CMILib: 1.1.0.0
[11:20:48] [Server thread/INFO]: Server: Spigot 1.18-R0.1-SNAPSHOT
[11:20:48] [Server thread/INFO]: CMI economy: Disabled CMI Chat: Enabled
[11:20:48] [Server thread/INFO]: Modules -> 55 enabled 1 disabled: votifier
[11:20:48] [Server thread/INFO]: --------------------------------------------------
mrfloris commented 2 years ago

I am not familiar with using waterfall vs bungee either, but i see it mention git:Waterfall - while perhaps support is focussed on bungee. So perhaps with bungee it will work but not with waterfall?

Does spigot work with waterfall at all?

Does the chat not work on Any server? typing on any of the three does not result in other servers showing it, or just one or two from the three?

I see cmi version reports back CMIB, implying it sees/connected bungee, so that's good. And CMILib thankfully is 1.1.0.0.

Thanks for all the info.

mfnalex commented 2 years ago

Waterfall is basically the same thing as Bungee, it's just paper's version of it, 100% compatible.

Unfortunately the global chat doesn't work on ANY server :/

mfnalex commented 2 years ago

I could of course try to use regular BungeeCord but I highly doubt that it's the problem, because as you already pointed out, CMI can see the Bungee connection :(

mrfloris commented 2 years ago

Thanks for that info.

I have more questions haha.

https://github.com/mrfdev/CMI/blob/master/Resources/FAQ/cmi-bungee.md

On here I have some commands and perms, i see you already mentioned perms. Can you give the output of these?

/cmi placeholders parse %cmi_user_bungeeserver%

/cmi serverlist

/cmi bbroadcast test (or just let me know that this also doesn't work)

Do the following commands also not work, or just public chat?

/cmi msg ..
/cmi staffmsg test
mfnalex commented 2 years ago
>cmi placeholders parse %cmi_user_bungeeserver%
[11:28:08] [Server thread/INFO]: --------------------------------------------------
[11:28:08] [Server thread/INFO]: Can't find player with this name! (placeholders -> null)
[11:28:08] [Server thread/INFO]: %%cmi_user_bungeeserver%% by CMI result ||
>cmi serverlist
[11:28:15] [Server thread/INFO]: Usage: /cmi serverlist
[11:28:15] [Server thread/INFO]: * Show server list
>cmi bbroadcast test
[11:28:29] [Server thread/INFO]: [Broadcast] test
>cmi msg ..
[11:28:41] [Server thread/INFO]: Usage: /cmi msg [playerName] [message]
[11:28:41] [Server thread/INFO]: * Sends message to player
>cmi msg mfnalex test
[11:28:50] [Server thread/INFO]: [me -> mfnalex] test
>cmi staffmsg test
[11:28:58] [Server thread/INFO]: [Staff][Server] test

The bbroadcast thing works.

About the placeholder thing: I'm not running PlaceholderAPI in case that's relevant.

The msg thing also worked. I didn't see the staffmsg but I also don't have any special permissions setup for staff.

Thanks for helping btw :)

mrfloris commented 2 years ago

Than you - good to see some stuff is working.

So fair question: Any other chat plugins installed, towny chat? venturechat? chat control plus/red, deluxechat? Some lobby-chat or something that manipulates the chat and could cause conflict?

I understand this is a fresh install, perhaps stop the server, clone it, and put it on a different port. And remove the other plugins except stuff like vault, cmi, cmilib, and see if bungee chat starts working? Maybe that can cut it down by 50% (that some other plugin causes it) if so, then put back 50% of the plugins and start up again.. repeat until you find a plugin that might cause it.

mfnalex commented 2 years ago

I do not have any other chat plugins. Actually, I basically have no plugins installed yet besides WorldEdit and a portal plugin yet:

[11:35:39] [Server thread/INFO]: Plugins (5): LuckPerms, WorldEdit, SimplePortals, CMILib, CMI

Also btw: the serverlist command works ingame, but not from console:

image

mfnalex commented 2 years ago

Oh and further information: on BungeeCord I only have LuckPerms-Bungee and CMIB installed.

mrfloris commented 2 years ago

yeah CMIB on proxy, cmi/cmilib on all the servers. That should do the trick.

Okay, enough info, very strange ! I dont know more to help at this point, i've linked it to zrips, hopefully he has time (i mean, it is the weekend and he was busy wtih 1.18 the last few days).. so hopefully he can reply with something i completely forgot about.

mfnalex commented 2 years ago

I just noticed: it works fine when ALL servers defined in bungee's config.yml are running. However, I of course want to be able to shutdown / restart certain servers on the network without the chat breaking for all other servers.

mfnalex commented 2 years ago

I'm sorry. The information I gave above is wrong. I also disabled TAB when I removed skyblock from the bungee config. It's indeed related to the TAB plugin. Whenever it runs, the global chat does not work. The TAB author told me that it does not affect chat in anyway and to go ask at CMI's support again... :/

Again, wrong. CMI's chat isn't working whenever there's at least one server in the bungee config that is not online, so my actual statement above seems to be true. It's really weird.

mfnalex commented 2 years ago

I still don't get it to work.

image

image

image

image

Chat is still per-server :'( my config is still as mentioned above

notbike commented 2 years ago

Hi, i'm having the same problem, anyone finds a way to fix the problem? Or do we have to wait for Zrips?

mfnalex commented 1 year ago

It has been 13 months since I opened this issue. Other people confirmed this. Is it expected too much to at least get a reply from @Zrips ?

mrfloris commented 1 year ago

Sorry to read on discord today that you after a year still have this issue. Very odd.

If CMI Bungee is the latest jar and on the proxy, and the cmi / cmilibs are on all the network servers and configured for cmi chat and cmi chat + bungee .. and after a stop and start of it all, it should work fine.

I guess something might be in the way then.. so please share another /ver and /cmi version - full output, and include the config.yml and your full output of /pl so we know what plugins might run.

Please do check your latest.log on the proxy if it has one, and the servers, to see if there's any cmi/ cmilib, cmibungee reported issues during startup.

What bungeecord are you using, is there a way to tell us which one you build or got from spigotmc ? (not asking for the word 'latest'.

@Zrips I have a video offline too, but the link is here: https://discord.com/channels/452792793631555594/526402563847880725/1060677232592433163 in cmi #help channel.

mfnalex commented 1 year ago

Here's the updatest version infos: image So latest CMIB and CMI as of today. CMI+CMILib runs on all backend servers, CMIB is running on the bungee.

All backend servers use this /ver: image

Neither the proxy, nor any backend servers have any errors in their log.

Bungeecord doesn't have any /version command, but since I downloaded it today, it should be the latest version, build 1675 ( https://ci.md-5.net/job/BungeeCord/ )

mrfloris commented 1 year ago

Thank you for the up to date and additional info, I've given zrips a little poke and I hope he has time before the weekend to have another look at this. Feel free to DM him the /PL and link to this ticket, if you rather not share the plugin list on github.

mfnalex commented 1 year ago

Thanks! Here's by the way my CMI config.yml, it's the same on all servers: https://paste.jeff-media.com/?1373ad19edc0a92c#6i1ZHM11KfFEMgRDqL61M8hAPsZGE6sWeThqxGs9meAP

On the test network I only have two servers, here's their /plugins: image image

Here's a Luckperms verbose log while I was sending a message. Backend: https://luckperms.net/verbose/kNToGCAsfQ Bungee: https://luckperms.net/verbose/JXF1hCpvLW

mfnalex commented 1 year ago

Here are my latest.log files:

Lobby server: https://paste.jeff-media.com/?64fabb451eeb326e#HazHFoVziJssJLE3diGFEykQYuUEs51G6Gu4gnD8MEDR SMP server: https://paste.jeff-media.com/?7325d830f84850e6#wxK7Fun1yfVhZ4aRaLKJ9qdWbRx1ExCTCD9GniD2nMV BungeeCord: https://paste.jeff-media.com/?21dfdbc344ba24ee#9ZZWk5uyUDM2jnm2mcTmynim1xrp7iWiJaJV9QYTHJ6p

Rexmen1 commented 1 year ago

works for me, gave default group cmi.bungee.publicmessage.lobby/survival permission on both servers vice versa and works//

mfnalex commented 1 year ago

works for me, gave default group cmi.bungee.publicmessage.lobby/survival permission on both servers vice versa and works//

That's good for you but doesn't help me at all.

R3voolt commented 1 year ago

same problems i have as above, cant get chat working over network, weird is that private msgs works fine
staff chat works fine, broadcaast works fine and private messages works fine, the only problem i have is with the public chat

mfnalex commented 1 year ago

same problems i have as above, cant get chat working over network, weird is that private msgs works fine staff chat works fine, broadcaast works fine and private messages works fine, the only problem i have is with the public chat

Weird. For me, private messages do work across servers, but /broadcast does not.

EDIT: I didnt know that difference between /cmi broadcast and /cmi bbroadcast. Indeed, bbroadcast works for me too. It's only the "normal" chat that doesn't work at all.

R3voolt commented 1 year ago

mfnalex found my problem permissions on my side was wrong. was using cmi.bungee.publicmessage.server insteaad of cmi.bungee.publicmessageS.server

mrfloris commented 1 year ago

mfnalex found my problem permissions on my side was wrong. was using cmi.bungee.publicmessage.server insteaad of cmi.bungee.publicmessageS.server

Can you show me the url where it is mentioned wrong? I can not find it

R3voolt commented 1 year ago

was wrong on my side, no url...

mfnalex commented 1 year ago

I have setup the permissions correctly though.

image

The LuckPerms verbose logs also show that CMI doesn't even try to check the respective cmi.bungee.publicmessages.[server] permissions:

Backend: https://luckperms.net/verbose/kNToGCAsfQ Bungee: https://luckperms.net/verbose/JXF1hCpvLW

mfnalex commented 1 year ago

It looks like the issue is CMI looping over Player#getEffectivePermissions(), instead of just querying Player#hasPermission("cmi.bungee.publicmessages.{servername}"). Took me over a year to find this out and had to decompile CMI to learn about this. It would have been nice if I'd gotten an answer from Zrips, after all it's been almost 14 months now.

It would be nice if this could get fixed somehow, because tbh not supporting LuckPerm's * permissions is not something an admin would expect.