LibelulaLogger
Libelula Logger is with no doubt the most effective anti-griefing tool you've ever seen. I believe you should not realize that a plugin is running until you need to use it, and this is a good example of my belief. You'll love this plugin!
Engine
For it I have created a specific embedded DB engine called MEODE (Minecraft Event Oriented Database Engine) which allows this plugin to be extremely efficient. Libelula Logger is lagless and uses much less resources than the most general purpose plugins you're probably already using. MEODE can record 61680 events in just 1 MB of hard disk and registers 1800* block break/place events in the same single game tic, undoubtedly much more than what your players can generate.
(*) Tested in a server which supports up to 200 users. (I bet it will perform better with better hardware, anyway it can process much more event than the players of your server can create).
Operation
Libelula Logger is a Great pluging, user-friendly, intuitive and very easy to use just like all Libelula plugins. Once installed it starts running with the default configuration and each time a player places or removes a block the event is registered by MEODE and nobody realizes it. When you find a construction/destruction made by a griefer you will be able to:
- Ask to LibelulaLogger who edited a block or an area.
- Use the repair tool for fixing it.
- Use the area undo/redo tool for a faster massive action.
Libelula Logger will tell you who, when and which. That's all, effective clear and simple.
Commands
See Commands and permissions page for a detailed information.
Installation
Place the downloaded LibelulaLogger.jar file into your plugins directory and then run (or restart) the server. You also can use plugman (which is an incredible plugin) for loading it without restarting your server.
Configuration
Libelula Logger is a ready-to-use plugin, you really don't need to change anything on the configuration. Anyway, you probably want to adjust the event registering behavior to your server gameplay. Due to this I made the plugin completely flexible and configurable. All settings can be changed from console or gameplay commands.
Also there is a config.yml you can edit and reload if you prefer.
See all configuration keys description here.
See Libelula Logger in action
Features
- The most efficient data logging.
- Lagless log/undo/redo operations.
- No configuration required. Just install the plugin on your server, and you're good to go.
- Internal Minecraft-oriented DB engine faster than MySQL, SQLite and others.
- Don't need external DB configurations.
- Easy to use.
- Multi-world support.
- Enable or disable any aspect of logging via configuration commands.
- Select a radius area for rollbacks/restores.
- Use WE selection tool for selecting an area for rollbacks/restores.
- Uses bukkit permission system.
- Safe default parameters.
- MEODE API for developers.
QA
As Professional of Software Quality Assurance I am, I can not risk my own reputation by building buggy plugins. This is a piece of software engineering and best practices which has been properly tested. But all non-trivial software has bugs. Yes, it's true! Seriously it is!!! So let me know if you find any bug and I will fix it as soon as possible.
Dependencies
This plugin doesn't have any dependency.
Optional Dependencies
- WorldEdit
- WorldGuard
Future Versions
I created this plugin because there was no one like it, all others plugins I tested which tries to provide this functionality are very slow, overload the server, use external databases and require complicated configurations. This lightweight plugin is exactly what I looking for but I cannot convert it in a great plugin by myself. I need your help and a good way to help me is by creating tickets for new features, ideas and bugs (if you find them). For my part I commit to classify and develop all these ideas as have time to do it.
Another very good way to support this plugin is by doing a tiny donation, a few cents will be enough for let me know that my work is useful for somebody else.
The software is Beta again so I started working in the Import/Export tool with the following possible features:
- Import LogBlock database so allow LogBlock users to use their stored data with this excellent software.
- Export to csv for allowing users to make free use of their stored data.
- Integrated web server for queries from web pages.
- Any other idea you post.
By the way
It would be great if you could help me work in the wee hours of the morning:
License
Libelula Logger is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Please read about GPL License here
@therealspoljo
¡Thank you for your message!
I just want to clarify that in any case I am attending all request as soon as possible. In fact I have added the functionality he was requesting. On the other hand if I receive a donation I will not able to work faster just because now I'm working as fast as possible.
My answer was just a joke, and do not really do this for donations. Trust me! ;)
@ddonofrio
In other words, DONATE! :D
@ddonofrio
@Refalm
By the way... With coffee I work faster. :)
Thank you.
@Refalm
It does nothing with TNT events, there is a ticket about but it has no votes.
My idea is to develop the functionality that people need and the most voted first. Right now I have only 2 tickets and I am working on them.
Some time ago I did a analysis about this functionality and it will take some time. Due to the way in which the game engine processes a TNT blast to record this event optimally will need to "simulate" the event in a separated tread and obtain the same result. I can do it but please vote the ticket and try that many people vote it.
@P197
Hello,
I spent more than a month of effort developing this plugin because previous existent ones have not enough performance for running on my small virtual server. Specifically CoreProtect uses SQLite which needs to use much more space to store the events. Even when the space is not a problem, IO accesses in the virtual machines are critical and LibelulaLogger uses only 16Kbytes for storing 1000 events which is a ridiculous amount.
Moreover, what I have actually developed is a event oriented database engine, flexible enough to meet any need. At this point I decided to publish this plugin with minimal functionality and be waiting for proposals to make it grow.
I think that's mainly the difference between LibelulaLogger and plugins you have mentioned.
Thank you for your message.
How does this plugin manage griefing by TNT?
I'm getting feelings of Deja Vu...
What does this have over CoreProtect? Why use this insted of an actual anti-grief plugin (GriefPrevention, Residence, ETC.)?
@CoolKill3r
I'm sorry, I'm not understanding what do you expect. Could you please create a ticket describing the new feature you're requesting?
Thanks in advance.
@ddonofrio
they only have the permission to see who eddited what with the /whomadethis permission. but they use iot get the block and they use it but for them it says, noboddy eddited this block or whatever it says.
@CoolKill3r
You are talking about different things. On one hand discovering and repair have different permissions, so you can give to your moderators the ability to know who made an edition without giving the repair tool. Please read about permissions on permission section. Moreover, the item they use is not related with permissions.
@ddonofrio
Yea but like i said, a stick with a diffrent name will get a diffrent value. this means normal sticks wont do it.
Also my moderators cant use it, even tough with the permission they say it says theres no edditing happening at the removed block.
@ddonofrio
I am using it.
I like the MB threshold that I can set, as I was worried about hdd space being used up to no end.
Now because of this setting, will there be no need for mysql?
I understand that mysql is a tad slower for data fetching and retrieving as opposed to flatfile or sqlite. Most people beg for mysql support. Reason being; their host only grants them so much hdd space and unlimited mysql storage.
@CoolKill3r
I spent some time in choosing the selection tool, in fact at the beginning it was the stick. At that time I had two commands for "discovering", one for ask about blocks placed and another one for asking about blocks removed, and also two tools, because the stick cannot be placed like a block.
When I started using the tool I noticed both commands were not very comfortable, so I decided to change them by one and take a block for asking about blocks placed/removed. But at that point I was in the dilemma you pose, I should pick two blocks could never be used in the construction.
That's why I chose the burning furnace and the red stone Lamp On, because would not normally have those items in your inventory.
Anyway if you still think it's a good idea to make them configurable, please create a ticket for it.
@Mre30
Ok, thank you for letting me know your opinion. The most important thing here is you are using my plugin and I really appreciate that.
Anyway to change the used block? for whomade this. Id like to change it to a stick. if this will be a problem make the stick be renamed for instance libululaStick. you can make the name value work with ur plugin and not a normal stick will be used then working with it.
Id like seeying this.
@Mre30 Dont be hating kids.
Hmmm. How would you 'professionally' compare this to coreprotect?
@CoolKill3r
Thank you for using it.
@ddonofrio
When storing this happens only some times right? And then i thank u, finally a plugin without hassle.
@CoolKill3r
It only uses ram for storing a batch of events, with the default configuration it consumes between 1 and 2 mega bytes of RAM depending on the number of events.
How about the ram usage itself? when its NOT being used ofc, the continuesly ram using.