stargate-rewritten / Stargate-Bukkit

The original, and still the best, survival-friendly portal plugin.
https://sgrewritten.org/paper
GNU Lesser General Public License v3.0
28 stars 13 forks source link

Stacktrace when joining a server with interserver networks enabled #305

Open Thorinwasher opened 5 months ago

Thorinwasher commented 5 months ago

Bug Description

Stacktrace when joining a server with interserver networks enabled

Reproduction Steps

Start server1, build a portal with the I flag. After you have built the I portal, start server2 and join it.

Desired Behaviour

There should not have been a stacktrace

Observed Behaviour

After a player joins, the following stack trace is shown.

[11:08:25 WARN]: [Stargate] org.sgrewritten.stargate.exception.name.NameConflictException : portal of name 'inter1' already exist in network 'inter'
[11:08:25 WARN]: [Stargate]      at Stargate-1.0.0.14-ALPHA.jar//org.sgrewritten.stargate.network.StargateNetwork.addPortal(StargateNetwork.java:149)
[11:08:25 WARN]: [Stargate]      at Stargate-1.0.0.14-ALPHA.jar//org.sgrewritten.stargate.manager.StargateBungeeManager.portalAddOrRemove(StargateBungeeManager.java:108)
[11:08:25 WARN]: [Stargate]      at Stargate-1.0.0.14-ALPHA.jar//org.sgrewritten.stargate.manager.StargateBungeeManager.updateNetwork(StargateBungeeManager.java:54)
[11:08:25 WARN]: [Stargate]      at Stargate-1.0.0.14-ALPHA.jar//org.sgrewritten.stargate.listener.StargateBungeePluginMessageListener.onPluginMessageReceived(StargateBungeePluginMessageListener.java:101)
[11:08:25 WARN]: [Stargate]      at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:455)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.network.ServerCommonPacketListenerImpl.a(ServerCommonPacketListenerImpl.java:163)
[11:08:25 WARN]: [Stargate]      at net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket.a(ServerboundCustomPayloadPacket.java:46)
[11:08:25 WARN]: [Stargate]      at net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket.a(ServerboundCustomPayloadPacket.java:12)
[11:08:25 WARN]: [Stargate]      at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$0(PlayerConnectionUtils.java:53)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.TickTask.run(TickTask.java:18)
[11:08:25 WARN]: [Stargate]      at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
[11:08:25 WARN]: [Stargate]      at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1324)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:193)
[11:08:25 WARN]: [Stargate]      at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.bg(MinecraftServer.java:1301)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1294)
[11:08:25 WARN]: [Stargate]      at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1371)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1156)
[11:08:25 WARN]: [Stargate]      at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315)
[11:08:25 WARN]: [Stargate]      at java.base/java.lang.Thread.run(Unknown Source)

Trace Logs

The sg trace command may be run through console or in-game.

Other Information

server1 saves the portal to the database, server2 loads the portal from the database, but also later on receives a portal add message whenever a player joins. This is the cause of the issue.

A valid fix for this would be to hide any exceptions like this. But it might be good to wait with this until a release