BG-Software-LLC / SuperiorSkyblock2

Optimized, feature packed Skyblock core.
https://bg-software.com/superiorskyblock/
GNU General Public License v3.0
160 stars 137 forks source link

Island upgrades resetting... #1727

Open JakkitDE opened 1 year ago

JakkitDE commented 1 year ago

Minecraft's Version

1.19.4 PaperMC

Plugin's Version

Latest Dev Build (#18 06/05/2023 14:33:35)

Describe the bug

Island upgrades like size, block-limit & co.. are resetting. Even without restart. After an unknown amount of time the upgrades reset. We have to manually type in "/sky admin syncupgrades * " to recover them. I searched the console for errors: nothing. Everything's working fine.

To Reproduce

Thats a bit complicated.. Because we just do nothing. The entire plugin works fine. Upgrading works fine, too. Only after an amount of time upgrades resetting. My players can see the reset by the border e.g..

Additional Information

No response

OmerBenGera commented 1 year ago

Look into what causing this to occur, as this doesn't happen for me. You have a faulty configuration, command or another plugin somehow resets the upgrades.

JakkitDE commented 1 year ago

Look into what causing this to occur, as this doesn't happen for me. You have a faulty configuration, command or another plugin somehow resets the upgrades.

I can't find anything. It is not occuring for all players. The upgrades.yml file is a valid YAML file as I checked it. After syncupgrades it works for a unknown amount of time. Either after rejoin or after restart the upgrades got reset for some players.

The database doesn't seem to be corrupt.

OmerBenGera commented 1 year ago

Is this still relevant?

OmerBenGera commented 10 months ago

I am closing this due to lack of response If the issue continues, let me know

leon37921 commented 6 months ago

Hey, I'm working together with JakkitDE

The problem is still there and happens quite randomly only to some players. I've tried various things to reproduce the bug, so far without success. Neither as a normal player nor with Op.

Players report that after purchasing a border-size upgrade (it's usually the upgrade from level 2 to level 3. But I couldn't reproduce this with my own islands) their island size was not changed. I had to manually enter the command '/sky admin syncupgrade playername' every time to sync the upgrade. The players were on the island. No errors in the console.

While the server is running, the upgrade is not rolled back.

The upgrade will be reset when the server restarts.

previous SSB2 version: dev build b107 Current version: dev build b134 Server Version: This server is running Paper version git-Paper-550 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 483368e on ver/1.19.4) You are running the latest version Previous version: git-Paper-515 (MC: 1.19.4)

main config.yml https://pastebin.com/uieQbh2P upgrades config.yml https://pastebin.com/h0U7gsq3

OmerBenGera commented 6 months ago

Let me know how to to replicate the issue.

OmerBenGera commented 2 months ago

Any news regarding this?

JakkitDE commented 2 months ago

Any news regarding this?

Hello. Sadly no. The issue still happens every day. But there is no way to trigger the issue. Randomly players messaging us their border has reset. /is admin syncupgrades fixes it temporarily. Additional information: Not all islands get reset. It doesn`t matter if its an island which exists for a long time or if its an island which has been created just a few hours ago like those of new players. But when it resets until fixing, its only these Island. Neither all Islands nor all islands of all players currently playing. Yet we are using latest dev build on 1.20.4.

JakkitDE commented 2 months ago

I am responding because I was told to do so. Kadnick (Discord) -> Thats me. I've openend the ticket.

OmerBenGera commented 1 month ago

Does it happen after restarts, or it works and then suddenly it stops working on the same server session?

JakkitDE commented 1 month ago

Does it happen after restarts, or it works and then suddenly it stops working on the same server session?

It just randomly happens. A restart doesnt matter. Also it just happens for one specific player at the same time. Sync does fix it until it happens again for another one.

OmerBenGera commented 1 month ago

When it happens, run /is admin show <island> and send me a screenshot of what you get

JakkitDE commented 1 month ago

When it happens, run /is admin show <island> and send me a screenshot of what you get

I have forwarded that information to my team Members. We will post it here as soon as possible. Thanks.

JakkitDE commented 1 month ago

2024-06-08_17 44 19 2024-06-08_17 44 43 2024-06-08_17 45 33 So. Finally I catched it. Island size (german: Insel Größe) is 40 and has been reset whyever. I resynced all upgrades for all islands. Then Island size is 62. The border was correct after resync.

OmerBenGera commented 1 month ago

It seems like it was really desynced from the upgrades value (there's no green symbol near it) Run /is admin debug SET_SIZE as well as /is admin debug SHOW_STACKTRACE - this should print to console when changing the island border size, which will desync it from the upgrade value, as well as the stack trace (it will be shown similar to how an error is printed to console) Once it occurs, look for these logs in console and send it here

JakkitDE commented 1 month ago

I will do so as soon as possible.

OmerBenGera commented 1 week ago

@JakkitDE Any news regarding this?

JakkitDE commented 1 week ago

@JakkitDE Any news regarding this?

Sorry. Due to private circumstances I totally forgot about that. I will do it as soon as possible. Thank you.

JakkitDE commented 1 week ago

@JakkitDE Any news regarding this?

So, my admin tried to change an island size which resulted in this output.

[23:21:42 INFO]: [SuperiorSkyblock2] SIsland::setIslandSize {skrilly4} {4} [23:21:42 WARN]: java.lang.Exception: Stack trace [23:21:42 WARN]: at java.base/java.lang.Thread.dumpStack(Thread.java:1380) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.core.logging.Log.printStackTrace(Log.java:155) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.core.logging.Log.debug(Log.java:72) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.island.SIsland.setIslandSize(SIsland.java:1718) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.commands.admin.CmdAdminSetSize.execute(CmdAdminSetSize.java:83) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.commands.IAdminIslandCommand.execute(IAdminIslandCommand.java:27) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.commands.ISuperiorCommand.execute(ISuperiorCommand.java:18) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.commands.player.CmdAdmin.execute(CmdAdmin.java:82) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.commands.ISuperiorCommand.execute(ISuperiorCommand.java:18) [23:21:42 WARN]: at org.bukkit.craftbukkit.v1_20_R3.CraftServer.dispatchCommand(CraftServer.java:999) [23:21:42 WARN]: at org.bukkit.craftbukkit.v1_20_R3.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) [23:21:42 WARN]: at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:19) [23:21:42 WARN]: at net.minecraft.commands.execution.ExecutionContext.a(ExecutionContext.java:103) [23:21:42 WARN]: at net.minecraft.commands.CommandDispatcher.a(CommandDispatcher.java:434) [23:21:42 WARN]: at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) [23:21:42 WARN]: at net.minecraft.commands.execution.tasks.ExecuteCommand.a(ExecuteCommand.java:31) [23:21:42 WARN]: at net.minecraft.commands.execution.UnboundEntryAction.a(UnboundEntryAction.java:8) [23:21:42 WARN]: at net.minecraft.commands.execution.CommandQueueEntry.a(CommandQueueEntry.java:5) [23:21:42 WARN]: at SuperiorSkyblock2-2024.1-b228.jar//com.bgsoftware.superiorskyblock.commands.CommandsManagerImpl$PluginCommand.execute(CommandsManagerImpl.java:309) [23:21:42 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) [23:21:42 WARN]: at net.minecraft.commands.CommandDispatcher.performCommand(CommandDispatcher.java:336) [23:21:42 WARN]: at net.minecraft.commands.CommandDispatcher.a(CommandDispatcher.java:323) [23:21:42 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.b(IAsyncTaskHandler.java:59) [23:21:42 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2230) [23:21:42 WARN]: at net.minecraft.server.network.PlayerConnection.lambda$handleChatCommand$14(PlayerConnection.java:2190) [23:21:42 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) [23:21:42 WARN]: at net.minecraft.server.TickTask.run(TickTask.java:18) [23:21:42 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:149) [23:21:42 WARN]: at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1465) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194) [23:21:42 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:123) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.bl(MinecraftServer.java:1442) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1365) [23:21:42 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.bu(IAsyncTaskHandler.java:112) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1226) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1557) [23:21:42 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) [23:21:42 WARN]: at java.base/java.lang.Thread.run(Thread.java:833) ​

JakkitDE commented 5 days ago

Additional my Admin told me, island upgrades only would getting reset after restart. The exception was called when running the island size changing admin command.

JakkitDE commented 5 days ago

I mean, the issue still also happens for other players. The command just was used to faster trigger the exception in console.

OmerBenGera commented 5 days ago

If you set size of an island using /is admin setsize, it will not be synced with upgrades anymore, and the island will keep the size of the border you set to them - overriding the upgrade value.