brunyman / MPDB

9 stars 2 forks source link

Error on Interval save + Player join MC 1.20.4 + MysqlPlayerDataBridge-v4.12.0 #128

Closed nydoo closed 2 months ago

nydoo commented 2 months ago

Hi I'm experienceing the following issue:

Whenever a player joins/leaves the server or MPDB attempts to save user data the following errors are being displayed:

Interval save:

Apr 28 15:14:23 vm-nyd-gs1 java[75330]: [15:14:23 INFO]: [MysqlPlayerDataBridge] Saving online players data... Apr 28 15:14:23 vm-nyd-gs1 java[75330]: [15:14:23 WARN]: [MysqlPlayerDataBridge] Plugin MysqlPlayerDataBridge v4.12.0 generated an exception while executing task 28 Apr 28 15:14:23 vm-nyd-gs1 java[75330]: java.lang.Error: Unresolved compilation problems: Apr 28 15:14:23 vm-nyd-gs1 java[75330]: CraftItemStack cannot be resolved to a type Apr 28 15:14:23 vm-nyd-gs1 java[75330]: The method getCraftVersion(ItemStack) from the type Version_1_20_R3 refers to the missing type CraftItemStack Apr 28 15:14:23 vm-nyd-gs1 java[75330]: CraftItemStack cannot be resolved Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.utils.nms.Version_1_20_R3.toBase64(Version_1_20_R3.java:54) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.events.handlers.InventoryDataHandler.onDataSaveFunction(InventoryDataHandler.java:198) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.runnables.DataSaveTask.saveOnlinePlayersData(DataSaveTask.java:62) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.runnables.DataSaveTask$1.run(DataSaveTask.java:37) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.20.4.jar:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] Apr 28 15:14:23 vm-nyd-gs1 java[75330]: at java.lang.Thread.run(Thread.java:1583) ~[?:?]

Player join:

Apr 28 15:11:47 vm-nyd-gs1 java[75330]: [15:11:47 WARN]: [MysqlPlayerDataBridge] Plugin MysqlPlayerDataBridge v4.12.0 generated an exception while executing task 45 Apr 28 15:11:47 vm-nyd-gs1 java[75330]: java.lang.Error: Unresolved compilation problems: Apr 28 15:11:47 vm-nyd-gs1 java[75330]: CraftItemStack cannot be resolved to a type Apr 28 15:11:47 vm-nyd-gs1 java[75330]: The method getCraftVersion(ItemStack) from the type Version_1_20_R3 refers to the missing type CraftItemStack Apr 28 15:11:47 vm-nyd-gs1 java[75330]: CraftItemStack cannot be resolved Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.utils.nms.Version_1_20_R3.toBase64(Version_1_20_R3.java:54) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.events.handlers.InventoryDataHandler.onDataSaveFunction(InventoryDataHandler.java:198) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.events.handlers.InventoryDataHandler.onJoinFunction(InventoryDataHandler.java:259) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.utils.Utils.syncCompleteTask(Utils.java:23) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.events.PlayerJoin$1.run(PlayerJoin.java:32) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.20.4.jar:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] Apr 28 15:11:47 vm-nyd-gs1 java[75330]: at java.lang.Thread.run(Thread.java:1583) ~[?:?]

Player leave:

Apr 28 15:21:55 vm-nyd-gs1 java[75330]: [15:21:55 WARN]: [MysqlPlayerDataBridge] Task #81 for MysqlPlayerDataBridge v4.12.0 generated an exception Apr 28 15:21:55 vm-nyd-gs1 java[75330]: java.lang.Error: Unresolved compilation problems: Apr 28 15:21:55 vm-nyd-gs1 java[75330]: CraftServer cannot be resolved to a type Apr 28 15:21:55 vm-nyd-gs1 java[75330]: CraftServer cannot be resolved to a type Apr 28 15:21:55 vm-nyd-gs1 java[75330]: Type mismatch: cannot convert from void to WorldServer Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.utils.nms.Version_1_20_R3.loadPlayer(Version_1_20_R3.java:153) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.craftersland.data.bridge.events.PlayerDisconnect$1.run(PlayerDisconnect.java:39) ~[MysqlPlayerDataBridge-v4.12.0.jar:?] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:482) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1646) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1525) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1226) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-493] Apr 28 15:21:55 vm-nyd-gs1 java[75330]: at java.lang.Thread.run(Thread.java:1583) ~[?:?]

I use paper-1.20.4-496 + MysqlPlayerDataBridge-v4.12.0 0.5.19-MariaDB-0+deb11u2 - Debian 11

The database is accessed correctly. The tables are being created as expected but stay empty (due to the bug mentioned above). In-game I received the mssage "Data sync in progress! Please wait..." whenever I enter any command.

MC_Evidence

Edit: When I leave my server and an interval saving happens console displays:

Apr 28 15:23:23 vm-nyd-gs1 java[75330]: [15:23:23 INFO]: [MysqlPlayerDataBridge] Saving online players data... Apr 28 15:23:23 vm-nyd-gs1 java[75330]: [15:23:23 INFO]: [MysqlPlayerDataBridge] Data save complete for 1 players in 0 ms.

Which seems right, BUT: Database tables are still completely empty

I also use Essentials MySQL Storage Extension on the same server and it works perfectly fine. Is there anything I am missing regarding the installation / confguration?

Thanks in advance!

nydoo commented 2 months ago

Downgrade to 4.11 solved the issue for me