Njol / Skript

Skript is a Bukkit plugin which allows server admins to customize their server easily, but without the hassle of programming a plugin or asking/paying someone to program a plugin for them.
http://njol.ch/projects/skript
104 stars 60 forks source link

skript 2.1.2 not able to load sql database on minecraft 1.7.10 #356

Open selfservice0 opened 10 years ago

selfservice0 commented 10 years ago

Skript is no longer able to load databases on minecraft 1.7.10. On 1.7.2 all worked fine and skript could load my database of over 300,000 rows. Now skript freezes the server if the database has even 22,000 rows.

Using 1.7.2 minecraft bukkit works fine. Changing nothing but the minecraft bukkit to 1.7.10 causes skript to not adequately load the database.

UPDATE: I have since converted my database to CSV. It has the same issues.

selfservice0 commented 10 years ago

Just tested it and it does the same for craftbukkit 1.7.10 builds

ghost commented 10 years ago

Njol, please also look at dev.bukkit.org/bukkit-plugins/skript/forum/help/68916-skript-2-1-2-on-craftbukkit-1-7-10-builds

selfservice0 commented 10 years ago

Doesn't work on any type of databases in 1.7.10

selfservice0 commented 10 years ago

After much testing I've figured out the database won't load if it is larger than 15mb, roughly (I tested 15mb and 25mb only 15 and lower would load).

Matmorcat commented 9 years ago

Don't mind me; just some other similar topics based on this. It's a long standing problem with Skript.

354

http://dev.bukkit.org/bukkit-plugins/skript/tickets/369-long-pause-on-startup-on-newer-spigot-builds/ http://dev.bukkit.org/bukkit-plugins/skript/tickets/366-any-modification-to-players-inventories-causes-lag/

Njol commented 9 years ago

Actually Skript can load the database, but CraftBukkit looks up UUIDs of players stored in it, which takes over a second per player. Skript 2.2 will continuously output the current progress (by showing how many variables were loaded each second while loading - useful for large databases) and will also save those UUIDs so that the conversion only has to be done once.

I'm currently trying to figure out a way to make commands with an

in it not pause the server for such a second either, but it's complicated with how my code is written :/ Am 07.11.2014 21:02, schrieb Matmorcat: > I submitted a bug report like this a long time ago when I was on > 1.7.9. Skript took roughly 4 minutes to load with 5 MB of data. Since > then I made my CSV database a trashcan that gets cleared before the > server is started (via a restart .sh script) and avoided plugins that > need to store more than 100 variables or so. The rest I just make SQL > tables with skQuery for (originally stored them in YAMLs which was bad). > > A lot of data doesn't need to be saved beyond restarts, so it's a good > idea to make a temporary database that gets deleted on restart. > > — > Reply to this email directly or view it on GitHub > https://github.com/Njol/Skript/issues/356#issuecomment-62203518.
Matmorcat commented 9 years ago

Does global-cache help with thist? The description for the global-cache: true option in the Spigot.yml is that it caches UUIDs to the server as much as possible to avoid having to call to Mojang's API frequently. Kind of sucks the API is limited to 60 calls a minute.