LogBlock
Works 100% with 1.7 / 1.8
The best block logging and rollback solution for the savvy server administrator.
LogBlock is the best block logging plugin for Bukkit server. Not only is it awesomely powerful, it’s blazing fast! Everything is logged into a MySQL database, allowing developers to hook in and produce things such as player stats and even administrative panels. Every loggable action can be logged with LogBlock: WorldEdit, leave decay, fire, sign changes, explosions, chest changes, player and animal deaths, chat, commands and more!
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
LogBlock will very rarely break between Minecraft / Bukkit updates, however if you find it does, please be sure to try a development build from above, as we generally test new releases there until deemed stable.
What is LogBlock?
LogBlock is a tool which allows you to keep track of almost everything on your server, while also giving you the ability to rollback (revert) or redo changes made by users and natural occurrences such as liquid flow or leaf decay. Additionally, LogBlock is able to log and rollback chest contents, sign text and more! LogBlock was originally created by bootswithdefer for HMod, ported to Bukkit by DiddiZ and is now actively maintained by md_5, ammar2 and the community of developers on Bukkit. We accept pull requests on GitHub frequently which means that community developers can add features they wish to see quicker than LogBlock developers are able to from tickets. All database actions are run not only in their own threads, but are queued into a consumer to minimize lag on the main thread. This is great for larger servers! All optional features (not dependencies below) are enabled and disabled from within the config file allowing complete control over what is logged thus ensuring database size is kept to a minimum.
Notices
Most virtual chest plugins are not compatible with LogBlock. Because they do not set the player who is opening the “chest”, LogBlock can’t do what it’s meant to be able to do, thus, making errors in your console. Please report these issues to the fake-chest plugin developer, NOT LogBlock developers.
Issues are read more frequently on the GitHub Issues page as compared to the comments below. When updating to LB1.57, if you already have a large database and have changed your columns to MEDIUMINT, INT or LARGEINT, you do not need the updater to fix this for you automatically. To stop this behaviour, simply change “version” in the configuration to ‘1.57’.
If you are experiencing an error such as this please read the FAQ for answers.
If you're receiving errors regarding players from the consumer such as "[Consumer] Failed to add player <playername>" then change all `playerid` columns to MEDIUMINT or INT in each table that contains them. This may take a long time if you have a lot of rows.
Optional Dependencies
- WorldEdit (Recommended)
- Permissions plugin
- LogBlock Questioner
Need help?
Found a bug or an issue? Please report it (and attach code if you know how to squash it) on our ticket manager.
Just need help in general or have an urgent, more private bug? Join us on IRC at irc.esper.net #LogBlock and ping a +o or +v for faster help. Webchat is available here if you don't have a client, or prefer to use it.
As always, check if your question is on the FAQ before asking!
Installation
More Information
- FAQ (read me first!)
- Command reference
- Configuration
- Helpful Commands
- MySQL Connection Problems
- MySQL Schema
- SQL Queries
- Parameters
Are you a Developer?
If you wish to contribute to the LogBlock project, head on over to the GitHub page, fork the project and submit your pull request(s).
If you wish to develop a plugin that interacts with LogBlock in some way, read up on the API here. Support for API and more can be found in the IRC channel, which is listed above.
Developer builds can be found here. (These builds have not been approved by the BukkitDev staff. Use them at your own risk.)
Still need help? Join us on IRC at irc.esper.net #LogBlock and ping a +o or +v for faster help.
Please do not post comments requesting support. Report bugs here or, alternatively, talk to a real person. Commenting below is a surefire way to not receive help.
-
View User Profile
-
Send Message
Posted Jan 14, 2013wooden button action(being pressed) not being logged.
-
View User Profile
-
Send Message
Posted Jan 14, 2013also. signs dont rollback properly
-
View User Profile
-
Send Message
Posted Jan 14, 2013maybe you should add the config reload command /lb reload
-
View User Profile
-
Send Message
Posted Jan 14, 2013Error for MySQL bukkit R0.3 16:27:51 [SEVERE] [ClearLog] Exception while dumping log: java.sql.SQLException: Access denied for user 'logblock'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) at de.diddiz.LogBlock.CommandsHandler$CommandClearLog.run(CommandsHandler.java:735) at de.diddiz.LogBlock.CommandsHandler$AbstractCommand.<init>(CommandsHandler.java:363) at de.diddiz.LogBlock.CommandsHandler$CommandClearLog.<init>(CommandsHandler.java:701) at de.diddiz.LogBlock.AutoClearLog.run(AutoClearLog.java:24) at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
-
View User Profile
-
Send Message
Posted Jan 14, 2013You should add parameters "killer" and "victim" to wiki and ingame help, I found them with fortune! )
P.S. Okay, I have seached .jar file like .zip with far manager and found parameter "weapon" ... Also I know frm config that there is parameter "all", but it is not described in wiki / parameters...
-
View User Profile
-
Send Message
Posted Jan 14, 2013Why does this happen? The logininformations are correct, they worked until a few days ago. I updated to latest logblock, worldedit, worldguard builds and craftbukkit is 1.4.6 R0.3
16:27:51 [SEVERE] [ClearLog] Exception while dumping log: java.sql.SQLException: Access denied for user 'logblock'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) at de.diddiz.LogBlock.CommandsHandler$CommandClearLog.run(CommandsHandler.java:735) at de.diddiz.LogBlock.CommandsHandler$AbstractCommand.<init>(CommandsHandler.java:363) at de.diddiz.LogBlock.CommandsHandler$CommandClearLog.<init>(CommandsHandler.java:701) at de.diddiz.LogBlock.AutoClearLog.run(AutoClearLog.java:24) at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
-
View User Profile
-
Send Message
Posted Jan 14, 2013@jryan17
Could you try out the latest dev build, can't seem to replicate this at all.
-
View User Profile
-
Send Message
Posted Jan 13, 2013@jryan17
I had my host completely wipe the localhost DB, and it still did not fix it. It is a really big issue.
-
View User Profile
-
Send Message
Posted Jan 13, 2013@SuperPyroManiac
Huh, not tried over a remote db, will give that a try.
But yeah, heard quite a few people have been having issues, no solutions yet though (apart from remote server)
-
View User Profile
-
Send Message
Posted Jan 13, 2013@Waterflow
Its not really surprising that hundreds of thousands of block changes lag your mysql server.
-
View User Profile
-
Send Message
Posted Jan 13, 2013@jryan17
Exact same issue here, although they deleted both my tickets and do not reply. It only does this with a localhost DB, but with my remote DB it works fine. Not sure why.
-
View User Profile
-
Send Message
Posted Jan 13, 2013Slight issue with LB, not sure if others are having this or not.
LogBlock itself works, though the rollback seems to be buggy calling out the MySQL db. It logs block changes fine.
I have to type in the cmd /lb rollback time 6 hours - before I can rollback something I did 30 seconds ago, where as the usual cmd that I used to use in previous revisions (/lb rollback area 10) worked perfectly fine, but now says there are 0 changes, and aborts the rollback.
If you need any more info, let me know and I'll provide for ya.
-
View User Profile
-
Send Message
Posted Jan 13, 2013@ammar2
That really lags the whole dedicated Server while Worldedit actions.
-
View User Profile
-
Send Message
Posted Jan 13, 2013Is it possible to use this plugin without MySQL? I believe you could before.. A long time ago.
-
View User Profile
-
Send Message
Posted Jan 12, 2013Hey, i got a problem in my server.log:
2013-01-12 23:12:56 [INFO] [LogBlock] Waiting for consumer ... 2013-01-12 23:12:56 [INFO] [LogBlock] Remaining queue size: 44820 2013-01-12 23:12:56 [INFO] [LogBlock] Remaining tries: 10 2013-01-12 23:12:56 [INFO] [Consumer] Queue overloaded. Size: 44820 2013-01-12 23:12:56 [SEVERE] [Consumer] SQL exception on insertion: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1682827' for key 'PRIMARY' at sun.reflect.GeneratedConstructorAccessor48.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) at com.mysql.jdbc.Util.getInstance(Util.java:382) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310) at de.diddiz.LogBlock.Consumer$BlockRow.executeStatements(Consumer.java:452) at de.diddiz.LogBlock.Consumer.run(Consumer.java:291) at de.diddiz.LogBlock.LogBlock.onDisable(LogBlock.java:222) 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_4_6.CraftServer.disablePlugins(CraftServer.java:277) at net.minecraft.server.v1_4_6.MinecraftServer.stop(MinecraftServer.java:351) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:458) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
Anyone got an idea how i can fix that? i use LogBlock 1.61
-
View User Profile
-
Send Message
Posted Jan 12, 2013And before I get spammed with "WHY DOESN'T WORLDEDIT LOGGING WORK." You need the latest WorldEdit dev build for it, unfortunately it isn't compatible with the latest craftbukkit build so you'll need to wait for them to update.
-
View User Profile
-
Send Message
Posted Jan 12, 2013@WESandTER
Added in as of the latest dev build, make sure to enable it in your world config!
-
View User Profile
-
Send Message
Posted Jan 11, 2013Can you please add support for worldedit actions?
-
View User Profile
-
Send Message
Posted Jan 11, 2013Can someone plz help me set up log block for my sever, I'm new to this stuff so Pm me if you are willing to help me plz. (i know how to install but not how to set up MySQL) plz help me.
-
View User Profile
-
Send Message
Posted Jan 10, 2013How do I eactly look at how much of a certain item a player mined? Because I saw a video of someone doing /lbp {Name} And that looked perfect for me but sadly it doesn't work so any ideas?