nikosgram / gringotts

Gringotts is an item-based economy plugin for the Bukkit Minecraft server platform. Unlike earlier economy plugins, all currency value and money transactions are based on actual items in Minecraft, per default emeralds.
https://www.spigotmc.org/resources/gringotts.42071/
BSD 2-Clause "Simplified" License
42 stars 35 forks source link

Gringrotts + EssentialsX lowers the TPS to 1.X #93

Closed spikehidden closed 2 years ago

spikehidden commented 2 years ago

Describe the bug

Using EssentialsX together with Gringotts slows down the ticks per second (TPS) to an unplayable level (1.X TPS).

To Reproduce

Steps to reproduce the behavior:

  1. Install EssentialsX & Gringotts onto your server
  2. Start the server
  3. After it shows an error it lowers the TPS from 19.X to 1.X or below. (checkt with /tps)

Expected behavior

To not show an error and slow down the world?

Screenshots

Not a Screenshot but the Error:

[15:17:30] [Craft Scheduler Thread - 17 - Essentials/WARN]: [Essentials] Plugin Essentials v2.20.0-dev+5-d891268 generated an exception while executing task 791
org.gestern.gringotts.GringottsException: java.util.concurrent.TimeoutException
    at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:298) ~[gringotts.jar:?]
    at org.gestern.gringotts.GringottsAccount.getBalance(GringottsAccount.java:80) ~[gringotts.jar:?]
    at org.gestern.gringotts.api.impl.GringottsEco$ValidAccount.balance(GringottsEco.java:552) ~[gringotts.jar:?]
    at org.gestern.gringotts.api.impl.VaultConnector.getBalance(VaultConnector.java:126) ~[gringotts.jar:?]
    at com.earth2me.essentials.economy.layers.VaultLayer.getBalance(VaultLayer.java:27) ~[EssentialsX.jar:?]
    at com.earth2me.essentials.User._getMoney(User.java:590) ~[EssentialsX.jar:?]
    at com.earth2me.essentials.User.getMoney(User.java:568) ~[EssentialsX.jar:?]
    at com.earth2me.essentials.BalanceTopImpl.calculateBalanceTopMap(BalanceTopImpl.java:39) ~[EssentialsX.jar:?]
    at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.18.2.jar:git-Paper-317]
    at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.18.2.jar:git-Paper-317]
    at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.18.2.jar:git-Paper-317]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.util.concurrent.TimeoutException
    at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960) ~[?:?]
    at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) ~[?:?]
    at org.gestern.gringotts.GringottsAccount.getTimeout(GringottsAccount.java:296) ~[gringotts.jar:?]
    ... 13 more

Full Log: https://pastebin.com/w0qx2ksC

Desktop (please complete the following information):

Additional context

If I uninstall either Gringotts or EssentialsX the problem is solved and the TPS doesn't drop instantly to 5 and then slowly to 1. I also didn't change any settings plugins, ect. and this just happened. Also the server isn't overloaded as I checked that several times. I also already asked at EssentialsX for help and they have the opinion it must be an error with Gringrotts. - The post can be found here

spikehidden commented 2 years ago

Nevermind. The problem was a wrong configured NPC...