SaveIt
Description
Hey everyone. I would like to introduce you guys, my first plugin.
Save It (SaveIt) or "Saving It" is an Advanced Lightweight Automatically Saving Plugin. Basically
does Save-All(Like that), but with much more that you could imagine :) !
SaveIt is the first AutoSave plugin, that cares about the performance, and has an own way to do it.
Features:
- World Saving
- AutoSave in minutes
- Multi-World Support
- Supports All Permission Plugin
- You can Disable the Default Bukkit Auto Save
- Saves all Players
- Per World Save Configuration
- Enable/Disable Saving Messages
- Custom Messages
- Anti-Config Error
- In-Game Help
- Supports Colors in the Config
- Save On Disable
- Save All Worlds Option
- In-Game Config Editor
- Works on Every Bukkit Build
- Forge Support!
- Now with Backup Support!
- Special Features:
- Saves On X Quit
- Saves On X Login
- Saves On X Block Place (Any kind of Block)
- Saves On X Block Break (Any kind of Block)
- Save Your Own Data With a Command
- Debug
- Power Save Mode
- Tweaked Performance Source is available again on Github
Newest Build:
Version 1.1.7
Download Here
Changelog:
Welcome to the Next Generation of SaveIt!
New Features of SaveIt are:
- Code Tunes
- Completely reworked backup system, much faster, no more path bugs.
- If you need a fresh config, or just to view it, visit: https://www.dropbox.com/s/lt0g6gvoe2ci12g/SaveItConfig.yml
- Please Read the Documentation: https://www.dropbox.com/s/scjz1qr4ez5ygox/Saving%20It%20Documentation.pdf
Future Release To-do List:
- Request Please
Configuration:
Permissions:
saveit.save - For /saveit save command
saveit.reload - For /saveit reload command
saveit.selfsave - For /saveit selfsave command
saveit.manage - For /saveit [add/remove/list] commands
saveit.backup - For /saveit backup command
Commands:
/saveit - Nice Command Lister
/saveit save - Saves the Configured Worlds
/saveit reload - Reloads Config
/saveit selfsave - Saves Your Data
/saveit add WORLDNAME - Adds a world to Config
/saveit remove WORLDNAME - Removes a world From Config
/saveit list - Lists all Current Worlds in Config
/saveit backup - Creates a Zip of all your Server Folders
/saveit update - Download the Latest Update Automatically
Special Thanks To
- rfsantos1996 - Reporting me about SaveIt's Performance bug :D Thank you mate!
- Chrispm84 - Helping me to test SaveIt out :) | Check his Nice Server out please :)Click here
- DerPavlov - Suggesting, and helping a lot :D | Check his Cannons plugin out!
- Sniperific (Tencao) - Reporting me about SaveIt's Forge Compatibility. Thank you very much! :D
- BukkitSE - For the tutorial! :D
- DoctorCooper - Reporting the problem with the lck files on backup. Check his Server out! Click Here Thank you very much! :D
- TheOnlyRealTGS - Helped me to test the performance on his server. Check his Server out! Click Here Thank you!
- For all to those who helped me to improve SaveIt by requests, or bug reports!, or just uses my plugin! :)
Performance
Thanks to BukkitSE!
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
@10jared105
@yoshinatsu
Yeah, did an idiot thing xD. Try the link again, it should work now. 2.8.1 reuploaded
Similar to yoshinatsu, I got this error when I shut down my server with the newest 2.8.1 running the newest dev bukkit build. Should I go down to 2.8? I haven't been getting this like yoshinatsu has. This is it:
[SaveIt] Disabling SaveIt v2.8.1
20:41:56 [INFO] Starting world save...
20:41:56 [SEVERE] Error occurred while disabling SaveIt v2.8.1 (Is it up to date?)
org.bukkit.plugin.IllegalPluginAccessException Plugin attempted to register task while disabled
at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.validate(CraftScheduler.java:394)
at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:120)
at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:104)
at me.dretax.SaveIt.Main.WorldSaveDelayed(Main.java:226)
at me.dretax.SaveIt.Main.onDisable(Main.java:54)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:219)
at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:481)
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400)
at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393)
at org.bukkit.craftbukkit.v1_5_R2.CraftServer.disablePlugins(CraftServer.java:277)
at net.minecraft.server.v1_5_R2.MinecraftServer.stop(MinecraftServer.java:333)
at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:440)
at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
On 2.7, 2.8 and even 2.8.1 I get this error messager whenever I stop my server:
04:43:09 [SEVERE] Error occurred while disabling SaveIt v2.8.1 (Is it up to date?) org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.validate(CraftScheduler.java:394) at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:120) at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:104) at me.dretax.SaveIt.Main.WorldSaveDelayed(Main.java:226) at me.dretax.SaveIt.Main.onDisable(Main.java:54) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:219) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:481) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.disablePlugins(CraftServer.java:277) at net.minecraft.server.v1_5_R2.MinecraftServer.stop(MinecraftServer.java:333) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:440) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
I even tried to set "DisableDefaultWorldSave" to true, but it still does the same thing. Gonna stick to 2.5 for now.
@rfsantos1996
Hmmm... I dunno. As i said try keeping DisableDefaultWorldSave true. SaveIt will do the save instead of the default one. :)
@dretax
save-off cause RAM/CPU lag by working with a lot of chunks, because it dont unloads the chunk (probably, i dont know too much about Bukkit/Minecraft system)
@rfsantos1996
That's interesting. As i said try out PTweaks. DisableDefaultWorldSave does the same as save-off. How could /save-off cause lagg, if its been already disabled? I suggest to leave DisableDefaultWorldSave true, and don't use save-off or save-on
@dretax
Your plugin dont cause lag with "DisableDefaultWorldSave: true" but /save-off cause lag by keep chunks in RAM and looking after everyone
@rfsantos1996
Would be interesting if save-off causes the chunk loading. Keep testing it.
Right now the performance status is: http://gallery.equinoxgamers.co.uk/Gallery/upload/2013/dretaxscreen/2013-04-21_1836.png
@dretax
DisableDefaultWorldSave: true - It should save-all and clean/unload chunks, but it only saves and keep it loaded, i got like 10/sec and keep loading but not unloading, isnt NoLagg fault O.o
I used /save-on and the chunks turn back to the "normal"
@rfsantos1996
LOL, and thats how nolagg keeps you lagged.
@dretax
It was NoLagg + #802 Spigot build
@rfsantos1996
No, its not. Please read the Configuration PDF, and you will know :)
Also, I successfully boosted the performance on the normal Delay Save.
The others will be done tomorrow :)
Edit: http://gallery.equinoxgamers.co.uk/Gallery/upload/2013/dretaxscreen/2013-04-21_1006.png
Send me your plugin list.
@dretax
Is this a bug? .-. Well, i will turn it off to see what happens
@rfsantos1996
Possibly, because you enabled "SavePlayersEverywhere" I think :)
@dretax
I dont know why, but after 2.6 I got 40k chunks loaded (instead of 2,2k) and 4k entities, instead of 1,8k
@rfsantos1996
I got this performance now:
http://gallery.equinoxgamers.co.uk/Gallery/upload/2013/dretaxscreen/2013-04-20_1747.png
I'm finishing the events right now, tune up!
@dretax
It saves on block place and break, for me timed saving is helpful at night only (low players, it would take to long to place/break a lot of blocks)
Whats that?
Why do you have it on 72000 interval? xD That's a bit too much.
I suspect that you save in every 60 minutes (Having 60 at DelayMinutes) which is a bit much i think so.
Saving It has 1200L in the source, and 1200X60=72000
Okay this is going to require testing, thanks for the report :)
@dretax
You nothing, i just said that only my players that was leaving on PVP that lose their items and complained, but others its all fine (;
PS: http://aikar.co/timings.php?url=5724426 Interval 7200 = saving time? Thats why too much Pct tick?
@rfsantos1996
And what do i do with it? :D xD