
[Bungee] 1.7 Duplicate Scoreboard Crash
linsaftw opened this issue · 10 comments
Environment:
Proxy: FlameCord (Travertine)
Server: SportPaper 1.8
Affected Client: Vanilla 1.7.10
Running ViaRewind (1.5.3) & ViaVersion (3.2.1) on Bungee
Steps:
- Join a server that defines a scoreboard objective.
- Switch to a server that defines a scoreboard objective with the same name.
- Client crashes because of "Duplicate" scoreboard entry.
This doesn't happen when using ViaRewind on all Spigot servers. This only happens on Bungee version.
The issue is still happening. The plugin cannot be run in BungeeCord if the sub-servers have same Scoreboards.
Try Protocol Support?
I just switched to ProtocolSupport on all Spigot servers and ViaVersion on BungeeCord. CPU Usage is lower for some reason.
Logger - ViaRewind Objective Handler:
One of this crashes appear randomly when switching servers.
Crash 1:
java.lang.IllegalArgumentException: A team with the name 'line: §c1§8/§420' already exists!
Crash 2:
java.lang.IllegalArgumentException: An objective with the name '2LSScoreboard' already exists!
As you can see in the log, the objective is added twice without it getting removed.
Alright, the problem seems to be that the connection re-inits on server switch which causes Bungee to not detect the old objectives before the switch was done so it can't remove the old objective.
Before adding the "crashing" objective i am receiving a scoreboard packet (mode 1) which means the server is trying to remove the objective but ViaRewind doesn't detect it as an existing objective.
I think this can be fixed by passing the old UserConnection scoreboard values to the new one or removing all scoreboard values before switching to a new server.