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 Sep 13, 2012worldedit support, please :)
-
View User Profile
-
Send Message
Posted Sep 13, 2012I don't think this is a high enough version. I own multiple servers, and I've tried alot of 1.3.1 plugins that won't work.
-
View User Profile
-
Send Message
Posted Sep 13, 2012Can this work without database? This does not accept my x10hosting database.
-
View User Profile
-
Send Message
Posted Sep 13, 2012I just switched to this from CoreProtect, mainly b/c their chest logging sucks. I am loving this plugin so much. It's fast allows for "area" checks and of course actually can rollback chests!
However I am having an issue (possibly configuration issue on my end). But lets say there is a torch on a block and the block is broken (both blocks fall). Upon doing a rollback, the torch does not come back. Is this not logged, can it be logged?
-
View User Profile
-
Send Message
Posted Sep 12, 2012@lst96
Lockette doesn't interfere with LogBlock :D
-
View User Profile
-
Send Message
Posted Sep 10, 2012Does using lockette prevent logblock from logging chestacceses?
-
View User Profile
-
Send Message
Posted Sep 10, 2012@SuperPyroManiac
lol i run my local which is faster xD
-
View User Profile
-
Send Message
Posted Sep 10, 2012Hello,
I've got LogBlock installed but it is currently not working for Trial-Mods, Mods and Admins. It will only work for OPs. I gave up and put logblock.* to see if this would work, it still hasn't worked. They can't use /lb toolblock but can use /lb tool.
Is this a common error? Can you help also
-
View User Profile
-
Send Message
Posted Sep 9, 2012@JeffAvery
My MySQL host is about 7 states away from my server, and it runes like a charm.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@GumbyDammit
First off, love the Nick best skit ever. "you kids wanna hear a story? Then sit down and shut yur dam mouths" just like the Christmases I remember ha, ha. thanks!
Thanks for the info. I went ahead and set it up to monitor only one world with only place/break tracked. It seems OK so far but the most Ive had on at one time has been 10 in that world. The MySQL is on a completely different host / city lol. Fingers crossed, thanks for the insight, I may have to figure something else out.
Jeff
-
View User Profile
-
Send Message
Posted Sep 8, 2012@JeffAvery
As long as both are on the same subnet, you should be fine. If they're on different networks then latency may be an issue. My hosting co provides a MySQL server on a separate vm and LogBlock performance is good.
-
View User Profile
-
Send Message
Posted Sep 7, 2012Hello,
Couple quick questions....Sorry if this info is out there I looked everywhere I could find and didn't see much.
1. Is it practical to run the mysql server on a hosted server on a separate host than the bukkit server? so, two hosted servers one bukkit one logblock?
2. if this is practical should I tone down the aggressiveness at all? All I really want to log is block place and block break (and be able to roll those back).
Thanks in advance for any info,
jeff
-
View User Profile
-
Send Message
Posted Sep 7, 2012Couldn't pass PlayerInteractEvent at 1.3.1 R2.0
-
View User Profile
-
Send Message
Posted Sep 6, 2012Can you add logging of mobs please? Some players are mad when they have their cows killed for example.
-
View User Profile
-
Send Message
Posted Sep 6, 2012When will Worldedit-Logging be added?
-
View User Profile
-
Send Message
Posted Sep 5, 2012<<jamietech>>
23:32:08 [SEVERE] [LogBlock] [LogBlock] Error while fetching connection:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException Access denied for use
r 'snowninja67'@'%' to database 'survialcraft2'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
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:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:931)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4031)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1296)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2338)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2
371)
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 Sou
rce)
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:73)
at de.diddiz.LogBlock.LogBlock.getConnection(LogBlock.java:243)
at de.diddiz.LogBlock.LogBlock.onLoad(LogBlock.java:89)
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:227)
at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:565)
at org.bukkit.Bukkit.reload(Bukkit.java:183)
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
21)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:16
8)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:4
92)
at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.
java:488)
at net.minecraft.server.DedicatedServer.ai(DedicatedServer.java:249)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:214)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
-
View User Profile
-
Send Message
Posted Sep 5, 2012@jamietech
I couldn't find an option to log players online times in the config/world files?. All other logging is working fine such as block placement etc...
-
View User Profile
-
Send Message
Posted Sep 5, 2012Hi! When i get the bedrock tool it just place it, and when i use the wooden pickaxe it does nothing! I'm using the version for 1.2.5 the last recommended, cause i'm using Tekkit. Please help!
Thanks in advance.
-
View User Profile
-
Send Message
Posted Sep 5, 2012@jamietech
Heh, I already implemented it and it seems to be working fine from what I can tell as an absolute noob to this plugin. One thing that confused me was when I removed a piece of fence, and then waited a minute and tested it. It didn't tell me that I destroyed the fence piece. When I replaced the missing fence piece, it then told me that I built the fence piece, but still had nothing about the removal of the piece.
-
View User Profile
-
Send Message
Posted Sep 4, 2012@firecombat4
Are you sure that logging is enabled?
@shadowwrad
What is your error?
@GumbyDammit
There were no API breaking changes, so it should work.
@Ekevoo
Are you sure that logging is enabled?
@MyGameforce
I will check this when I have access.