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 Apr 13, 2013Guys, nothing mean to LogBlock, but i see so many issues, i maybe think about changing to Prism. Its allmost the same. If of course not LogBlock is being fixed soon now. I hope at least that the /lb tool will work. Cause i can hit the block or right click. Nothing happens.
-
View User Profile
-
Send Message
Posted Apr 13, 2013When i do /lb tool to check a block, and right click it then, it doesnt do anything.
-
View User Profile
-
Send Message
Posted Apr 13, 2013I have a MySQL database hosted by one.com, and no matter what i do, LogBlock won't connect to the database... I have alot og php codes that can easily interact with the database, but for some reason, the plugin just can't connect to the database... Any ideas? :(
-
View User Profile
-
Send Message
Posted Apr 11, 2013Someone Help Me My /lb rollback wont rollback it keeps saying 0blocks found aborting PLease Help
-
View User Profile
-
Send Message
Posted Apr 10, 2013@pollie0102
Add the other world to lb's config?
-
View User Profile
-
Send Message
Posted Apr 10, 2013@ViscousSummer88
Noooooooooooo I mean how to do it in a plugin (with Java code utilising the API) ;)
-
View User Profile
-
Send Message
Posted Apr 9, 2013@ViscousSummer88:
I wrote it already... You said that I shall post my plugins :D
-
View User Profile
-
Send Message
Posted Apr 9, 2013hello, please help me. I hae a lb problem. LB is working fine in world right mouse gives the informations about that block.
But the moment i go to another map exaple our pvp map my right mouse button is not responding.
Im thinking ther is a conflict somewhere, does anyone had any idea where to look? i have gone trough al mij plugins.
Thnx in advance
Greets pollie
-
View User Profile
-
Send Message
Posted Apr 8, 2013@ViscousSummer88
Error occurred while enabling LogBlock v1.70 (Is it up to date?) java.lang.NoClassDefFoundError: com/sk89q/worldedit/EditSessionFactory at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.JavaPluginLoader.getClassByName0(JavaPluginLoader.java:300) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:76) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at de.diddiz.LogBlock.LogBlock.onEnable(LogBlock.java:92) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.enablePlugins(CraftServer.java:264) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.reload(CraftServer.java:605) at org.bukkit.Bukkit.reload(Bukkit.java:184) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:188) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServer.java:523) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchServerCommand(CraftServer.java:512) at net.minecraft.server.v1_5_R2.DedicatedServer.am(DedicatedServer.java:261) at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:226) at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:474) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:407) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.ClassNotFoundException: com.sk89q.worldedit.EditSessionFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 32 more
-
View User Profile
-
Send Message
Posted Apr 8, 2013@Nickchens
Please show us server startup logs. That screen shot will not help to find the issue.
-
View User Profile
-
Send Message
Posted Apr 8, 2013My logblock doesn't log chestaccess? I use logblock 1.70 and my server is 1.5.1 I have no errors or internal errors. Does anyone know how I can fix this or something?
EDIT: This is really stupid from me, I was just set to "false" in the config xD
-
View User Profile
-
Send Message
Posted Apr 8, 2013@ViscousSummer88:
http://i49.tinypic.com/etxjwm.png
Before 1.5, LogBlock worked fine.
(Sorry for my bad english)
-
View User Profile
-
Send Message
Posted Apr 8, 2013@Hoolean
Do you mean the tools? /lb toolblock /lb tool
@powrboi What errors do you get? Start-up logs etc.
-
View User Profile
-
Send Message
Posted Apr 7, 2013I'm using the dev build of bukkit so that I can use 1.5.1 MC, logblock doesn't work, is there any way to fix this?
-
View User Profile
-
Send Message
Posted Apr 7, 2013Hey there I'm a developer and unless I've been stupid and missed something obvious I can't seem to find how to/if it's possible to get the last change made to a block, who it was by and how long ago it was?
Thanks for any help :)
-
View User Profile
-
Send Message
Posted Apr 7, 2013@FlawlessSin
Yes, you can use the /lb redo command, pretty much same parameters are the rollback command.
-
View User Profile
-
Send Message
Posted Apr 6, 2013is there anyway to undo rollbacks? by yourself or another player?
-
View User Profile
-
Send Message
Posted Apr 6, 2013@Nickchens
What plugins do you have installed?
-
View User Profile
-
Send Message
Posted Apr 6, 2013@Laserspongebob
This is an error with your MySQL connection
-
View User Profile
-
Send Message
Posted Apr 6, 2013I need help badly. My server was running logblock fine, but now this has started to happen:
2013-04-06 13:32:56 [SEVERE] [LogBlock] Error while fetching connection: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.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.SQLError.createCommunicationsException(SQLError.java:1116) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.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.ConnectionImpl.getInstance(ConnectionImpl.java:378) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at de.diddiz.util.MySQLConnectionPool.getConnection(MySQLConnectionPool.java:72) at de.diddiz.LogBlock.LogBlock.getConnection(LogBlock.java:216) at de.diddiz.LogBlock.LogBlock.onLoad(LogBlock.java:63) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.loadPlugins(CraftServer.java:244) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.<init>(CraftServer.java:217) at net.minecraft.server.v1_5_R2.PlayerList.<init>(PlayerList.java:56) at net.minecraft.server.v1_5_R2.DedicatedPlayerList.<init>(SourceFile:11) at net.minecraft.server.v1_5_R2.DedicatedServer.init(DedicatedServer.java:105) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:381) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292) ... 24 more
I have tried it on two different mySQL databases, and it does the same thing everytime.