EncryptSL / LiteEco

Minecraft Economy Plugin works with vault.
19 stars 8 forks source link

[Bug]: Error occurs when plugin disabling #79

Closed srnyx closed 3 months ago

srnyx commented 3 months ago

What happened?

Whenever I stop my server, I get a error from LiteEco in the console I'm using MySQL (sensitive information redacted):

# Settings for Database or SQLite connection.
database:
  # For SQLite, the path to the SQLite database file: jdbc:sqlite:plugins/LiteEco/database.db
  # For MySQL, the JDBC connection URL in the format: jdbc:mysql://your_host:port/name_of_database
  connection:
    # Settings for JDBC_HOST
    jdbc_url: jdbc:mysql://IP:PORT/NAME
    # The username of the user to connect to your database (MySQL only).
    username: USERNAME
    # The password of the user to connect to your database (MySQL only).
    password: PASSWORD

No other warnings/errors from the plugin observed

Plugin Version

1.4.3-SNAPSHOT

You detected problem on this server platform ?

PurpurMC

Version /version - output

Current: git-Purpur-2155 (MC: 1.20.4)*
* You are 3 version(s) behind
Download the new version at: https://purpurmc.org/downloads

Relevant log output

[17:23:07 ERROR]: Error occurred while disabling LiteEco v1.4.3-SNAPSHOT
java.lang.NullPointerException: null
        at encryptsl.cekuj.net.api.PlayerAccount.syncAccounts(PlayerAccount.kt:62) ~[LiteEco-1.4.3-SNAPSHOT.jar:?]
        at encryptsl.cekuj.net.api.economy.LiteEcoEconomyAPI.syncAccounts(LiteEcoEconomyAPI.kt:97) ~[LiteEco-1.4.3-SNAPSHOT.jar:?]
        at encryptsl.cekuj.net.LiteEco.onDisable(LiteEco.kt:77) ~[LiteEco-1.4.3-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:290) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:223) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugins(PaperPluginInstanceManager.java:147) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugins(PaperPluginManagerImpl.java:92) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:528) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R3.CraftServer.disablePlugins(CraftServer.java:584) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:986) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:862) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1288) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[purpur-1.20.4.jar:git-Purpur-2155]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
EncryptSL commented 3 months ago

Fixed in this release: https://www.spigotmc.org/resources/liteeco-simple-economy-plugin-1-18-x-1-20.101934/update?update=537541

srnyx commented 3 months ago

Fixed in this release: spigotmc.org/resources/liteeco-simple-economy-plugin-1-18-x-1-20.101934/update?update=537541

Still getting a similar error:

[03:59:34] [Server thread/ERROR]: Error occurred while disabling LiteEco v1.4.4-SNAPSHOT
java.lang.NullPointerException: null
    at com.github.encryptsl.lite.eco.api.PlayerAccount.syncAccounts(PlayerAccount.kt:64) ~[LiteEco-1.4.4-SNAPSHOT.jar:?]
    at com.github.encryptsl.lite.eco.api.economy.LiteEcoEconomyAPI.syncAccounts(LiteEcoEconomyAPI.kt:96) ~[LiteEco-1.4.4-SNAPSHOT.jar:?]
    at com.github.encryptsl.lite.eco.LiteEco.onDisable(LiteEco.kt:77) ~[LiteEco-1.4.4-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:290) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:223) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugins(PaperPluginInstanceManager.java:147) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugins(PaperPluginManagerImpl.java:92) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:528) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_20_R3.CraftServer.disablePlugins(CraftServer.java:584) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:986) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:862) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1288) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[purpur-1.20.4.jar:git-Purpur-2155]
    at java.lang.Thread.run(Thread.java:840) ~[?:?]
EncryptSL commented 3 months ago

This happend during restart, stop server or command /reload ?

srnyx commented 3 months ago

This happend during restart, stop server or command /reload ?

It was happening on restart/stop, but now I can't replicate it. I saw it happening multiple times though, so it wasn't a one-time thing

srnyx commented 3 months ago

@EncryptSL Still happening, causing a lot of data loss for players :( Could the issue be reopened?

EncryptSL commented 3 months ago

You can try, this pre release https://github.com/EncryptSL/LiteEco/releases/tag/1.4.5-PreRelease

I recommended use this on localhost or other server then production. Because there is small changes, in config and locales.

srnyx commented 3 months ago

I recommended use this on localhost or other server then production. Because there is small changes, in config and locales.

Considering I can't manually replicate it, would it still be safe to use it on production if I copy/paste the new config options and locale changes?

EncryptSL commented 3 months ago

Yes can be. But create backup of LiteEco folder and table of lite_eco if you have MySQL enabled.

You know, only for reasons.

srnyx commented 3 months ago

Yes can be. But create backup of LiteEco folder and table of lite_eco if you have MySQL enabled.

You know, only for reasons.

Alright, took all my backups, will let you know if I notice the bug again, thank you! By the way, I tried running the new command, /eco monolog, and got this error: https://paste.srnyx.com/ovujecupoy.md

EncryptSL commented 3 months ago

Yep i know about this bug. Don't use this command for now.

EncryptSL commented 3 months ago

I may release version 1.4.5 tomorrow or Monday, full fixed.

EncryptSL commented 3 months ago

Update is here: https://www.spigotmc.org/resources/liteeco-simple-economy-plugin-1-18-x-1-20.101934/update?update=540226

If you find another bug create issue.