Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

FAQ

Philip Cass edited this page · 8 revisions

Permissions

Everyone has x permission! Help!

Set permissionDefault in the configuration to 'FALSE'.

How do I skip the table upgrade in 1.57?

Set 'version' in config to '1.57'

Warnings

[WARNING] [LogBlock Updater] playername not found - giving UUID of noimport_playername

The updater couldn't find out the UUID for the given name. This is probably because in the meantime, the player has changed their name. The player's old record has been given a dummy UUID. Nothing will crash or become corrupt because of this, but if the player rejoins the server, they will be given a new record with their new name. All old actions they have logged will be listed under their old name permanently, while actions logged from now on will use their current name, whatever they change it to.

[SEVERE] [LogBlock Updater] Error:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'bukkit.lb-world' doesn't exist The table 'lb-world' doesn't exist in your LogBlock setup. For each table that does exist, run these commands in SQL (may take a while, run them each separately). After doing so set 'version' in config.yml to '1.57' and your SQL has been 'updated'. Note that if you already have modified your columns to allow for large enough integers, just update the config and don't worry about the table alteration.

ALTER TABLE `<name>` MODIFY `x` MEDIUMINT NOT NULL
ALTER TABLE `<name>` MODIFY `y` SMALLINT NOT NULL
ALTER TABLE `<name>` MODIFY `z` MEDIUMINT NOT NULL

[LogBlock Consumer] Queue overloaded. Size:

This means that the amount of blocks in the queue is higher than that of which can be processed and written into the database. The changes aren't lost, even if the server stops! Only a server crash will lead to the loss of the queue. The following are possible causes and solutions for this issue:

  • Too many players for your setup Depends on whether you are using a remote SQL server, etc. Increase the processed block count: consumer: delayBetweenRuns: 5 timePerRun: 200

  • Temporarily peak due to forest fires, huge explosion(s) or massively large amounts of liquid flow Don't worry, it'll be processed soon.

  • The queue just processes really slow This may be due to high cpu load, or something entirely different. You will see the queue building up slowly and taking a considerably lengthy amount of time to process at shutdown. consumer: forceToProcessAtLeast: 25 These values are only demonstrative and need to be fine-tuned depending on your server size and setup.

[LogBlock] Remaining queue size:

When this error is shown at a server reload/shutdown and there are no Queue overloaded messages being spammed, set consumer.useBukkitScheduler to false to have a Java timer used instead. More info over at the Configuration page.

[LogBlock Consumer] Failed to add player

This shouldn't happen. Please open an issue ticket (click Issues above!) with the following information:

  • The players username
  • Where your database is hosted in relation to your server (same machine, remote, etc)
  • Your database schema

[LogBlock] Your server reached 65000 players ...

Your server has just reached more than 65000 players logging in to it. The original database table scheme was designed to fit 65535 entries, so you may soon run into the problem where LogBlock will not log new users. To prevent this, you should update your database scheme asap:

USE minecraft;
ALTER TABLE `lb-players` CHANGE `playerid` `playerid` INT UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `lb-chat` CHANGE `playerid` `playerid` INT UNSIGNED NOT NULL;
ALTER TABLE `lb-<world>` CHANGE `playerid` `playerid` INT UNSIGNED NOT NULL;
ALTER TABLE `lb-<world>-kills` CHANGE `killer` `killer` INT UNSIGNED NOT NULL;
ALTER TABLE `lb-<world>-kills` CHANGE `victim` `victim` INT UNSIGNED NOT NULL;

Errors

[LogBlock] Failed to fetch connection.

See MySQL-Connection-Problems

MySQLSyntaxErrorException: Unknown database ""

Either change the url in the config to an existing database or create a new one named the same as the one already in the Configuration (to save your time), or, update the name in configuration to the name of the new database.

SQLException: near "AUTO_INCREMENT"

Please update the database schema.

DataFormatException: worldNames or worldTables not set properly

Make sure worldTables and worldTables have an equal count of entries and do actually contain entries. See Installation for correct setup. Each world needs a table!

MysqlDataTruncation: Data truncation: Out of range value for column 'x' at row 1

Your world has a larger radius than 32,767 blocks. You need to either limit the map to a radius of 32k blocks, or change the data types of the columns x and z from SMALLINT to MEDIUMINT, which allows you a radius of 8,388,607 blocks. If that wouldn't be enough you can also use INT (radius of 2,147,483,647 blocks). This will result in a larger database size.

SQL
USE `minecraft`;
ALTER TABLE `lb-world` MODIFY x MEDIUMINT NOT NULL;
ALTER TABLE `lb-world` MODIFY z MEDIUMINT NOT NULL;

MySQLIntegrityConstraintViolationException: Duplicate entry '' for key PRIMARY

Likely your MySQL server crashed recently, thus, your database is corrupted. In most cases this is fixable by executing the following SQL commands: (replace

with the actual name of the table. If you are not sure which table is corrupted, execute for all tables, it won't hurt. Best to shut the server down before.)
SQL
REPAIR TABLE `<table>`;
ANALYZE TABLE `<table>`;
OPTIMIZE TABLE `<table>`;

Feature Requests:

Is it possible to log action from a editor like WorldEdit or VoxelSniper?* +

No. These editors change the world right in the server without firing the hooks. But you can ask them to use the LogBlock API.

Is it possible to add SQLite support?

SQLite has some nasty locks, so LB would have to handle everything with just one connection, shared between all threads, to avoid lock issues. This would slow down SQLite even more.

Rollback Issues:

It says something like "Undid 224 of 287 changes (o errors, 0 blacklist collisions)" - It never does it all

The 'missing' changes are blocks that have been modified later by another player as well as rollback.dontRollback blocks. Ex: I destroy a wood block, and someone places cobble later. When I rollback my changes, LogBlock expects air at that location, but there is cobble there instead, so LogBlock doesn't respawn the wood to avoid destroying someone's building, only because he built where someone destroyed blocks.

I try to rollback something, but it always says: "0 block changes found"

You are most likely using incorrect params. Make sure there is a log to rollback. Check that there is actually something logged by using the tool/toolblock. Or maybe you are using too short of a time span. If all of this doesn't help, create an issue ticket containing the following information: Command used, answer from LogBlock (Searching block changes ...), whether or not there's a log for the blocks and whether or not a console error occured.

It tries to rollback a different player.

Specify the exact player with <>s: /lb rollback player <player>.

Something went wrong with that request. Please try again.