BG-Software-LLC / SuperiorSkyblock2

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

Losing islands after having the UUID changed #1354

Closed ChicoIdeal closed 1 year ago

ChicoIdeal commented 2 years ago

Minecraft's Version

git-Pufferfish-28 (MC: 1.19.1)

Plugin's Version

SuperiorSkyblock2 version 1.11.1

Describe the bug

When creating an island having all the permissions when restarting the server permissions are removed, it appears that I do not have an island, and when returning to the coordinates appears that if I own it but I have no permissions I can not do anything.

To Reproduce

  1. Create a new island
  2. Restart the server

Additional Information

When replicating it, also if you add it as administrator when restarting it no longer appears in the list of members, it is deleted, all happened after the player used /premium, being non-premium it happens the same, the only way to have permissions is using /is coop nick

OmerBenGera commented 2 years ago

This occurs because you have your UUID get changed. Do you see in console "Changing UUID of player X to.." when you join?

OmerBenGera commented 2 years ago

Also, what plugin do you use for the premium thingy?

ChicoIdeal commented 2 years ago

ok, if that's your uuid, thank you that was it

OmerBenGera commented 2 years ago

ok, if that's your uuid, thank you that was it

That's an issue tho, as the plugin should have it fixed by merging the data of your old player to another. I am keeping this opened until I investigate it.

OmerBenGera commented 2 years ago

I can't seem to replicate the issue, it works fine for me. Are you able to replicate the issue yourself on another server with only SSB installed?

ChicoIdeal commented 2 years ago

Hello good day, to change the uuid of the player by the real one did not work, it continues to remove the permissions but if you do /is show, still appears as the leader of the island, we have not been able to know what happens, to see the console appears that your uuid appears with the real one.

Brand-dev commented 2 years ago

I have same issue here.

OmerBenGera commented 2 years ago

I have same issue here.

Let me know how to replicate it. It may happen if another plugin uses SSB's API and does not adjust its data as well, then tries to get an instance of a player that technically doesn't exist anymore. Try replicating it on a server with only SSB installed, let me know if it still happens.

ChicoIdeal commented 2 years ago

I have same issue here.

Let me know how to replicate it. It may happen if another plugin uses SSB's API and does not adjust its data as well, then tries to get an instance of a player that technically doesn't exist anymore. Try replicating it on a server with only SSB installed, let me know if it still happens.

The player must login for the first time using /login password command, then he must create an island and then use /premium to not login again with password, as his permissions data is not saved in sqlite database, I am now in ufferfish version git-Pufferfish-36 (MC: 1. 19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) (Git: 58865aa on HEAD) and the error continues, the player must use another account to not lose the permissions and give his account the permissions.

ChicoIdeal commented 2 years ago

Now I found an error to see if it can help you.

org.bukkit.command.CommandException: Unhandled exception executing 'is invite babil0niarecord' in com.bgsoftware.superiorskyblock.commands.CommandsManagerImpl$PluginCommand(is) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165) ~[pufferfish-api-1.19.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R1.CraftServer.dispatchCommand(CraftServer.java:911) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at org.bukkit.craftbukkit.v1_19_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264) ~[pufferfish-1.19.2.jar:?] at net.minecraft.commands.Commands.performCommand(Commands.java:305) ~[?:?] at net.minecraft.commands.Commands.performCommand(Commands.java:289) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2294) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2248) ~[?:?] at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1363) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1340) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1333) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1311) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1199) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:307) ~[pufferfish-1.19.2.jar:git-Pufferfish-36] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "sender" is null at com.bgsoftware.superiorskyblock.core.messages.component.impl.RawMessageComponent.sendMessage(RawMessageComponent.java:35) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.island.SIsland.lambda$sendMessage$50(SIsland.java:1642) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.island.SIsland.forEachIslandMember(SIsland.java:3965) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.island.SIsland.sendMessage(SIsland.java:1642) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.island.SIsland.sendMessage(SIsland.java:1632) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.commands.player.CmdInvite.execute(CmdInvite.java:105) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.commands.IPermissibleCommand.execute(IPermissibleCommand.java:39) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.commands.ISuperiorCommand.execute(ISuperiorCommand.java:18) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at com.bgsoftware.superiorskyblock.commands.CommandsManagerImpl$PluginCommand.execute(CommandsManagerImpl.java:281) ~[SuperiorSkyblock2-2022.8-b826.jar:?] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[pufferfish-api-1.19.2-R0.1-SNAPSHOT.jar:?] ... 22 more

OmerBenGera commented 2 years ago

@ChicoIdeal Try replicating the issue on a server with only SSB installed and your login plugin please

OmerBenGera commented 1 year ago

Any news regarding this?

OmerBenGera commented 1 year ago

@ChicoIdeal Have you tried it?

Brand-dev commented 1 year ago

Its not a issue with ss2

OmerBenGera commented 1 year ago

Its not a issue with ss2

What was the issue?

ChicoIdeal commented 1 year ago

@ChicoIdeal Have you tried it?

Hello, I have managed to solve the uuid from the db, apparently when changing username in minecraft some players are not changed automatically and others if, it happens only to random players, what you have to be to solve it in changing the old uuid and rename it to null.

OmerBenGera commented 1 year ago

@ChicoIdeal Have you tried it?

Hello, I have managed to solve the uuid from the db, apparently when changing username in minecraft some players are not changed automatically and others if, it happens only to random players, what you have to be to solve it in changing the old uuid and rename it to null.

Change the name in the database to null? Also, if you change username, it doesn't change the name automatically? How is it related? Mind giving more details - maybe I can somehow fix it on the plugin's side

Kocimietka7192 commented 1 year ago

Hey, I have a similar problem -

Using FastLogin plugin.

We enter the server having a premium account, but log in as usual nonpremium account,

We create an island - set a premium account, and leave and enter the server.

After entering, the server thinks that this player does not have any island

Return to the account /cracked does not give anything.

OmerBenGera commented 1 year ago

Hey, I have a similar problem -

Using FastLogin plugin.

We enter the server having a premium account, but log in as usual nonpremium account,

We create an island - set a premium account, and leave and enter the server.

After entering, the server thinks that this player does not have any island

Return to the account /cracked does not give anything.

Are you able to replicate the issue yourself with only SSB and FastLogin installed? I want an exact steps on how to create this on a fresh installation

OmerBenGera commented 1 year ago

@Kocimietka7192 @DuckyDou @ChicoIdeal Check out latest dev build, let me know if it's fixed.

OmerBenGera commented 1 year ago

Closing this for now If the issue persists let me know