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 Feb 23, 2013@md_5
It works fine for me too, but I have a small problem. My mods often get the issue that the LB tool gets treated as a normal block (we use farmland) so the block gets placed instead of giving a query. As an OP this never seem to happen. We use bPermissions. Do you know why ?
-
View User Profile
-
Send Message
Posted Feb 23, 2013Ive been getting this for player disconnects. how do i fix this?
-
View User Profile
-
Send Message
Posted Feb 23, 2013@lolitsthad
Latest version completely fine with R1.1
-
View User Profile
-
Send Message
Posted Feb 23, 2013Latest version completely broken with R1.1
-
View User Profile
-
Send Message
Posted Feb 22, 2013Hi. Maybe you could add a feature to the config to disable the commands /lb hide and /lb clearlog? I have had problems on my server with admins looking for something to do. They thought it would be fun to world edit delete my spawn, and they remembered there was logblock. They did /lb hide and then worldedited my spawn, then because of the worldedit, the server crashed and he was unable to roll it back. Nice, Huh?
-
View User Profile
-
Send Message
Posted Feb 22, 2013How much lines plugin can support ? 4.000.000 is very too much ?
-
View User Profile
-
Send Message
Posted Feb 20, 2013@CarrotNubbin
https://github.com/LogBlock/LogBlock/wiki/FAQ
-
View User Profile
-
Send Message
Posted Feb 20, 2013Is it possible to make this compatible with flatfile?
-
View User Profile
-
Send Message
Posted Feb 19, 2013Is there a way to log tekkit lite items
-
View User Profile
-
Send Message
Posted Feb 18, 2013@jorgazm
Same shit over here, I have no idea what I have to do. I have tried everything what comes to mind.
-
View User Profile
-
Send Message
Posted Feb 16, 2013Help please, I have had this error ever since I got griefed on my server, I just don't know what to do.
Error:
2013-02-16 23:06:06 [SEVERE] [Lookup] SELECT date, replaced, type, data, playername, signtext, itemtype, itemamount, itemdata FROM `lb-world` INNER JOIN `lb-players` USING (playerid) LEFT JOIN `lb-world-sign` USING (id) LEFT JOIN `lb-world-chest` USING (id) WHERE x = '-108' AND y = '62' AND z = '276' ORDER BY date DESC, id DESC LIMIT 15: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '75143_clientdb.lb-world' doesn't exist 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.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.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.executeQuery(StatementImpl.java:1474) at de.diddiz.LogBlock.CommandsHandler$CommandLookup.run(CommandsHandler.java:416) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
-
View User Profile
-
Send Message
Posted Feb 16, 2013i get this error , please help :
16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:224) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.MinecraftServer.r(MinecraftServer.java:598) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.DedicatedServerConnection.b(SourceFile:30) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.ServerConnection.b(SourceFile:39) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.PlayerConnection.d(PlayerConnection.java:112) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.NetworkManager.b(NetworkManager.java:290) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.Packet3Chat.handle(Packet3Chat.java:44) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.PlayerConnection.a(PlayerConnection.java:852) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.PlayerConnection.chat(PlayerConnection.java:897) 16.02 21:23:52 [Server] INFO at net.minecraft.server.v1_4_R1.PlayerConnection.handleCommand(PlayerConnection.java:979) 16.02 21:23:52 [Server] INFO at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchCommand(CraftServer.java:514) 16.02 21:23:52 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) 16.02 21:23:52 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) 16.02 21:23:52 [Server] INFO at me.jmgr2007.Reloader.ReloaderListener.onCommand(ReloaderListener.java:64) 16.02 21:23:52 [Server] INFO at me.jmgr2007.Reloader.Utils.load(Utils.java:89) 16.02 21:23:52 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 16.02 21:23:52 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 16.02 21:23:52 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 16.02 21:23:52 [Server] INFO at de.diddiz.LogBlock.LogBlock.onEnable(LogBlock.java:94) 16.02 21:23:52 [Server] INFO java.lang.IllegalAccessError: tried to access method de.diddiz.LogBlock.CommandsHandler.<init>(Lde/diddiz/LogBlock/LogBlock;)V from class de.diddiz.LogBlock.LogBlock 16.02 21:23:52 [Server] SEVERE Error occurred while enabling LogBlock v1.70 (Is it up to date?) 16.02 21:23:52 [Server] INFO Accepted EditSessionFactory of type de.diddiz.worldedit.LogBlockEditSessionFactory from de.diddiz.worldedit 16.02 21:23:52 [Server] INFO Enabling LogBlock v1.70 16.02 21:23:52 [Server] INFO README.htmldidn't match 16.02 21:23:52 [Server] INFO CHANGELOG.txtdidn't match 16.02 21:23:52 [Server] INFO LICENSE.txtdidn't match 16.02 21:23:51 [Server] INFO Disabling LogBlock v1.61
-
View User Profile
-
Send Message
Posted Feb 15, 20131:38:50 PM CONSOLE: [SEVERE] [Consumer] SQL exception 1:38:50 PM CONSOLE: '65885_clientdb.lb-players' doesn't exist
Every time a block is placed? Is there an SQL query I can run to add this table?
-
View User Profile
-
Send Message
Posted Feb 15, 2013@ViscousSummer88
Cakes are log able, aswell as eating it.
-
View User Profile
-
Send Message
Posted Feb 14, 2013@xclucky
LogBlock can't log linked actions, so a block behind an item being broken would lead to you not seeing any break actions for, in this case, the ladder.
@Kepler_
No, LogBlock can't log physics or moment on blocks.
@_kalen_
LogBlock can't log entities, in this case the paintings and item frames are technically logged as entities and LogBlock does not know how to handle such an event. Same for cake.
@howy7214
This could be caused by slow write times to the MySQL server, turn the SQL related time settings down to help reduce load on the database, found in the config.
@PontifexFairy
Ensure you're running the most upto date version of both LogBlock and world edit.
@numskull34
That is not possible, but you could simply rollback using different parameters to determine the area and how far back you would like to rollback. (Area, time)
-
View User Profile
-
Send Message
Posted Feb 14, 2013How do I add custom blocks? Doesn''t seem to be any list any longer like before<sub>,</sub>
-
View User Profile
-
Send Message
Posted Feb 13, 2013is there a way to select a region useing world guard and create a restore point then later be able to restore that region to the restore point? kinda like just loading a schem however useing logblock so that it dosent do the whole region lag and kill the server? so that only blocks changed are restored?
-
View User Profile
-
Send Message
Posted Feb 13, 2013Hi, i have some issues with LogBlock, it seems like it can't find WorldEdit.
http:i.imgur.com/PNDNhhQ.png?1
How i can fix that?
-
View User Profile
-
Send Message
Posted Feb 12, 2013@Dinastya
Indeed, we need metadata and enchantment support. Also, I don't think so, being I don't have a recipe for glass panes...
-
View User Profile
-
Send Message
Posted Feb 12, 2013I have been getting this error every 2 mins then it crush the server
[INFO] [Consumer] Queue overloaded. Size: 5584 please help