NEZNAMY / TAB

"That" TAB plugin.
Apache License 2.0
900 stars 244 forks source link

[Velocity] Compatibility issue with LimboAuth - Tablist entries not getting formatted #1285

Closed andrusharusakov closed 6 months ago

andrusharusakov commented 6 months ago

Server version

Purpur 1.20.1 Velocity 3.3.0

TAB version

tab - 4.1.4 btab - 5.0.6

Plugin list

tab, tab-bridge

Describe the bug

A player who joins the server sees all the suffixes and prefixes of other users except his own. I have already deleted all plugins, and reviewed your Wiki several times.

Expected behavior

the plugin must correctly display its own nickname in the tab

Steps to reproduce

Use velocity + btab

Additional info

Снимок экрана 2024-05-08 120244 the screenshot shows how my nickname is displayed (list_tw)

Checklist

NEZNAMY commented 6 months ago

Try latest build from actions. If the issue is still happening, send your config.yml file.

andrusharusakov commented 6 months ago

I installed TAB-4.1.5-SN, it does not work

https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Header-&-Footer

header-footer: enabled: true header:

NEZNAMY commented 6 months ago

Show output of /btab debug <player>. Does /btab reload fix it?

andrusharusakov commented 6 months ago

/btab reload - has no effect Снимок экрана 2024-05-08 121936 Снимок экрана 2024-05-08 121949

NEZNAMY commented 6 months ago

Try toggling use-online-uuid-in-tablist option.

andrusharusakov commented 6 months ago

does not work

NEZNAMY commented 6 months ago

Since velocity has lots of settings that might affect tablist UUIDs, I may not be able to reproduce it just with these steps. Create a test network with only TAB and bridge where this issue is still present, zip it and send it, so I can try it myself.

andrusharusakov commented 6 months ago

I want to clarify that if a player assigned a group, the color of his nickname changed, but suffixes and prefixes did not appear

andrusharusakov commented 6 months ago

"minecraft /team"

NEZNAMY commented 6 months ago

TAB's teams override vanilla teams. I'll need that setup.

andrusharusakov commented 6 months ago

Снимок экрана 2024-05-08 123525 I somehow changed my nickname color using /cmi:glow

NEZNAMY commented 6 months ago

Sounds like TAB's teams aren't making it through then. That is also an issue. I'll need the setup.

andrusharusakov commented 6 months ago

image I FOUND IT! some proxy plugin replaces tab with tag. I'll write later what kind of plugin it was

andrusharusakov commented 6 months ago

because of the file - limboauth-v2.mv.db, this error occurs, I do not even know what to do, there are more than 2000-3000 accounts in this db

NEZNAMY commented 6 months ago

Try asking on their support what the plugin does that could break TAB.

andrusharusakov commented 6 months ago

new information has appeared, suffix and prefix do not work only for online players, everything is normal for offline

NEZNAMY commented 6 months ago

What do you mean by online / offline players?

andrusharusakov commented 6 months ago

limbo auth can register both online and offline players. Online players skip the registration process

NEZNAMY commented 6 months ago

It makes sense then. That's what I meant by toggling use-online-uuid-in-tablist option. Looks like your server uses both online and offline UUIDs. I don't know would I get player's correct tablist UUID, since even velocity team confirmed there is no way to know what UUIDs the tablist uses on Velocity.

andrusharusakov commented 6 months ago

use-online-uuid-in-tablist - does not change anything :(

andrusharusakov commented 6 months ago

I know that everything will work correctly only if the TAB is on internal servers, but then I won't get a list of players from multiple servers

NEZNAMY commented 6 months ago

Can you make a test setup with only TAB and the auth plugin that reproduces the issue, zip the whole network and send it?

andrusharusakov commented 6 months ago

how do I transfer the files to you?

NEZNAMY commented 6 months ago

Upload it to a website like mediafire. Make sure there are no unnecessary plugins (and no map so it's smaller).

andrusharusakov commented 6 months ago

Here is the link to the servers - https://www.mediafire.com/file/kyuie2xyop8ig59/testserver.zip/file . In order to get the bug, log in to the server, register using the /reg <pass> command, look in the tab and take a screenshot, register /premium <pass> confirm, re-visit the server, look in the tab and take a screenshot.

I use a translator, maybe you will understand something wrong. If you don't have the /premium command, download the lp and grant the limboauth.commands.premium permission

andrusharusakov commented 6 months ago

Can you please tell me when you will be checking? I want to be at least a little aware of events

NEZNAMY commented 6 months ago

I'll look into it today. You should still be able to use teams though, which format tablist by default unless overridden (which is the part that's failing).

andrusharusakov commented 6 months ago

should I add placeholders to the team?

NEZNAMY commented 6 months ago

You should configure tagprefix. It will (or should) appear in tablist as well.

andrusharusakov commented 6 months ago

it doesn't work correctly, I checked

andrusharusakov commented 6 months ago

prefixes will also appear above the players' heads, which I don't need.

NEZNAMY commented 6 months ago

It's a workaround, it's not about needing. If you don't mind having them, just do it. I am going to test your setup right now.

andrusharusakov commented 6 months ago

thanks

NEZNAMY commented 6 months ago

After translating messages back to english I get this when trying to activate premium: image

I obviously bought the game and am connected via mojang launcher and everything.

andrusharusakov commented 6 months ago

it's strange, I've never even seen this error, even unlicensed players could register / premium

andrusharusakov commented 6 months ago

tell me your minecraft nickname, I'll try to make / premium for you and send you a database

NEZNAMY commented 6 months ago

It's _NEZNAMY_. I still don't understand why would it not work.

andrusharusakov commented 6 months ago

image I have just rechecked the premium connection from my list_tw account. Everything worked out. I think there is a mistake in your connection

andrusharusakov commented 6 months ago

just try to restart the launcher and connect again, this happens periodically

andrusharusakov commented 6 months ago

is there anything else I can help you with to speed up the error detection process?

NEZNAMY commented 6 months ago

I was able to successfully reproduce the issue. I will look into fixing it now.

NEZNAMY commented 6 months ago

I did some investigation and it looks like this will require some form of a fix from LimboAuth. Turning connections into online connections with that plugin causes Tablist entry tracker to map entries using online UUID, but mapped entries still have offline ID, so any change made to entries has no effect, since they use the wrong ID. What's worse, even if LimboAuth somehow made these entries track online UUID, there is no way to get player's online UUID, since Velocity API returns offline IDs for all players when LimboAuth is installed.

andrusharusakov commented 6 months ago

image

NEZNAMY commented 6 months ago

As I said, Velocity's Tablist entry tracker's actions are invalid due to wrong ID, so even if I knew what the player's online UUID is, it wouldn't fix anything.

andrusharusakov commented 6 months ago

image Unfortunately, I don't know what he means by that

NEZNAMY commented 6 months ago

Me getting player's UUID using that function doesn't fix the broken Velocity API.

andrusharusakov commented 6 months ago

image Yes, it's not about velocity, but the fact that in velocity there is no way to normally replace the uuid after logging in. Well, there is not because there is no such thing in the Mojang protocol. Therefore, the problem is that this was done in the limbo api, you need to use it and there will be a correct id

NEZNAMY commented 6 months ago

The person doesn't understand. Ask them to make a tiny plugin that changes tablist display name of a player on join. Regardless of what they try, it will not work with LimboAuth installed.

andrusharusakov commented 6 months ago

image

Honestly, I don't know what needs to be done to solve the problem, and it's very hard to give up limbo

andrusharusakov commented 6 months ago

we have more than 3,000 passwords in the database