TAB
TAB copied to clipboard
[Teams] /team join or leave causes client fps drop
Server version
Purpur 1.20.4 git-Purpur-2106
TAB version
4.1.2
Evidence
Not a server lag, a desync from the cleint. Here's the error in minecraft client:
Error executing task on Client
net.minecraft.class_148: Main thread packet handler
at net.minecraft.class_2600.method_11072(class_2600.java:33)
at net.minecraft.class_1255.method_18859(class_1255.java:156)
at net.minecraft.class_4093.method_18859(class_4093.java:23)
at net.minecraft.class_1255.method_16075(class_1255.java:130)
at net.minecraft.class_1255.method_5383(class_1255.java:115)
at net.minecraft.class_310.method_1523(class_310.java:1283)
at net.minecraft.class_310.method_1514(class_310.java:888)
at net.minecraft.client.main.Main.main(Main.java:265)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.IllegalStateException: Player is either on another team or not on any team. Cannot remove from team 'red'.
at net.minecraft.class_269.method_1157(class_269.java:307)
at net.minecraft.class_634.method_11099(class_634.java:2029)
at net.minecraft.class_5900.method_34173(class_5900.java:129)
at net.minecraft.class_5900.method_11054(class_5900.java:14)
at net.minecraft.class_2600.method_11072(class_2600.java:24)
... 10 more
Steps to reproduce (if known)
- Create teams with colors
- join a team
- leave a team
- You should be experiencing client side lag
Additional info
I'm using sodium but this happens to some people in player base in vanilla, with other mods or even in forge / optifine.
It does not happens to everyone, it's easier to notice if you have fps limited to lower amount (140-60fps) because the fps drop will be more noticeable.
I'm running MC on rtx 3060 and i5 10400 so it's not a hardware issue. It only happens when TAB plugin installed.
According to paper devs, this bug was fixed in build 336 of paper.
Checklist
- [X] I am running latest version of the plugin
- [X] I have included sufficient evidence of the issue
- [ ] I ticked all of the boxes without actually reading them
Team feature is enabled by default. If you don't want TAB to use teams, disable them in config (scoreboard-teams
). Other than that, I will need more info confirming which part of plugin exactly is causing the lag.
How can I get you that info? There's no error in console, just client-sided error and fps drops there. I want and need to use teams, that's why I reported the bug.
Here I have made a video showing how the bug happens when I do /team join red and /team leave https://www.youtube.com/watch?v=0g2QBF-t9E8 I've also deleted tab in the end to show how magically the bug is gone.
Here are the full client logs from that session: https://pastebin.com/wgrQh5sY Here are the server logs before reset (With tab implemented): https://pastebin.com/9J5hTgun Here are the server logs after the reset (Without tab implemented): https://pastebin.com/E1anvN9N
If further proof is needed, please tell me
Have you tried disabling TAB's teams and checking if it still lags?
It obviously stops since it's a team related issue. But as I've said, this is a bug from tab, and needs to be fixed because if not, we can't use vanilla teams correctly.
https://youtu.be/_nzJyfWuX-M
I don't really understand why would that be a TAB bug. Also, players cannot be in 2 teams. If you want to use vanilla teams fine, but you cannot expect to use both vanilla and TAB teams at the same time and expect both to work. The lag may or may not be caused by the error, which is thrown because TAB prevents other sources from breaking it (also known as anti-override).
I still don't know what kind of solution are you expecting.
-
I also don't know why that would be a TAB bug. I'm neither a developer nor I developed TAB so I don't have any knowledge of the internals.
-
I'm not adding players to multiple teams. I'm not using tab teams as far as I know. How do I disable them?
-
The lag spike is caused by the error. Do you want me to repeat the first video with task manager opened?
-
Tab prevents other sources from breaking it, but it's broken by itself... It causes lag alone.
-
I expected you to be interested in improving your plugin and fixing the bug.
You can disable TAB's teams by disabling scoreboard-teams
, just like you did before.
The feature is not broken, it works for literally everyone else. It also works for you, just appears to have an unwated side effect that is currently being investigated.
Try disabling anti-override and see if it still lags.
Yes, I am trying to improve the plugin despite not having a single reason in the world to do so. However, I cannot change minecraft client's code.
- Great.
- As I've said before, it's a strange bug that happens to some people. Happens to me on vanilla too. Now it's being investigated, that's nice.
- Will try that.
- Not client bug, server / client desync fault of tab
The desync is intentional to prevent random plugins from breaking TAB just for fun. You can disable it by disabling anti-override
, however, trying to do something impossible will just not work.
I was able to reproduce the lag, unfortunately, there is nothing I can do to fix it. The cause of it is trying to remove a player from a team they are not a member of. You cannot have a player in 2 teams, this is a minecraft limitation. You need to choose 1. If you choose TAB, you are able to configure compatibility with other plugins via placeholders (sorting, prefix, suffix) or commands (collision). Closing this issue as there is nothing I can do about it. This kind of performance issue can only be fixed by mojang in the client.