Commit Graph
24 Commits
Author SHA1 Message Date
Brokkonaut 3e836c2f50 Remove LogBlockQuestioner soft dependency, as it is no longer a separate plugin 2018-10-19 16:40:17 +02:00
Brokkonaut 166548da18 Upgrade config, chestaccess and kills too 2018-07-29 15:37:28 +02:00
Brokkonaut 8f18af2252 Convert old blockchange logs 2018-07-29 15:37:28 +02:00
Brokkonaut ce30d33824 Update to 1.13 / Logging/Rollbacks work but largely untested
Still missing: Import data from 1.12 and older
2018-07-29 15:37:28 +02:00
Philip Cass 9c558f8a74 Directly set plugin version information from pom.xml. Will include build number
whenever the project version contains anything other than numbers and periods
i.e. has "-SNAPSHOT" in it.
2015-03-16 13:36:28 +00:00
Philip Cass e12b9eee2b Add missing playername index on table creation and make the updater enforce this
for existing tables

Fixes missing change from commit 143bcf6d76
2015-03-16 11:19:03 +00:00
Philip Cass 143bcf6d76 Add missing index on playername column 2015-02-28 12:12:27 +00:00
Philip Cass 82b4ffc2a2 Support utf8mb4 if the database does. Fixes #535
What MySQL calls "UTF8" is actually a subset of the full unicode specification.
It doesn't accept 4-byte UTF-8 characters.  Proper support is called "utf8mb4"
and is, these days, fairly common (Ubuntu 10.04LTS's bundled MySQL does not
support it, but later ones do)

Detection of utf8mb4: "SHOW CHARACTER SET WHERE charset='utf8mb4';" returns at
least one row

Conversion of pre-existing DBs: this was easy, we already had code in the
updater for this for when we started enforcing utf8. It was version-bumped and
set to update to either utf8mb4 or utf8, depending

Making it use utf8mb4 in the database connection: Actually hard.  Connector/J
5.1.13 or newer should autodetect this, but in my testing it didn't
(http://dev.mysql.com/doc/relnotes/connector-j/en/news-5-1-13.html)

As such, if utf8mb4 has been detected, I've added code that should manually
execute "SET NAMES utf8mb4;" on all new connections.

If a database does not support utf8mb4 (rare these days) I've added code to
strip these characters before DB insertion; they won't be recorded correctly,
but it'll avoid the exception from issue #535
2015-02-20 22:48:40 +00:00
Philip Cass e07038acee Missed version bump 2015-02-15 03:06:55 +00:00
Philip Cass e3dc430931 Identify players by UUID and migrate existing databases to include this. Fixes #538, fixes #568
This creates a new column in the lb-players table called UUID. If this is in the form of a UUID,
it's assumed to be a player. If not, it's assumed to be a server entity (zombie, sheep, or
WaterFlow, LavaFlow etc.). LogBlock will set the UUID of entities to "log_" plus their name
(i.e. log_zombie or log_sheep)

To assist this is a new class Actor, which wraps a name/UUID pair, with constructors that will
generate one from server entities, or SQL results. Every listener and every class in Consumer
needed to be updated to deal with this

As of yet, only the playername is displayed in results (although the queries do return UUID data).
Similarly, you can only query by name (the database stores the last name they have logged in as).
In addition, the WorldEdit hook has been disabled (is not compiled) since LB needs to be updated
to use their new API, and the LB code hook has to extract UUID information for insertion.

The UUID importer assumes any player with an onlinetime of 0 is a server-generated source, and set
the UUID as above (log_sheep etc.).  For everything else, it sends 100 names at a time to Mojang's
name->UUID service, and records them if available.  If no result is found, it records their UUID as
noimport_theirname.  As this is more likely than other updates to be interrupted mid-way, the
importer is tolerant of e.g. the column already being added, and will resume where it left off.
2015-02-14 14:01:21 +00:00
Philip Cass 0d5607be43 Update PR for new version number 2013-12-05 08:42:20 +00:00
md-5 28b4c2f60c Bump to release 1.80 2013-12-05 13:26:03 +11:00
Philip Cass c117bcd854 Minor database change
- Text fields should be UTF-8. Fixes #491
2013-11-06 09:27:00 +00:00
md-5 045de2b1c5 Update to 1.70 for release 2013-01-20 19:30:34 +11:00
Ammar Askar 5d0c3216c2 WorldEdit restored to soft dependency instead of dependency 2013-01-12 16:02:33 +05:00
md_5 d21633c14f Update to 1.61 2012-12-23 17:05:21 +11:00
md-5 4d7ca57ca9 Fix plugin.yml 2012-09-23 20:56:34 +10:00
md-5 705a6fcf2e Update plugin.yml in preparation for new release 2012-09-23 19:42:36 +10:00
md-5 2671e015a8 Fix * permission 2012-09-21 17:50:48 +10:00
md_5 823ae35a85 1.57 updates are optional 2012-08-11 15:15:57 +10:00
md_5 e3aa14582b Increase default table sizes and default to OP. 2012-08-09 18:56:46 +10:00
md_5 0290305b23 Bump to 1.56 and invert container ordering 2012-08-05 14:49:01 +10:00
md_5 6d4a46bcde Use async player chat, upgrade to 1.55, and disable lookup permission by default. 2012-08-05 09:08:00 +10:00
md_5 61e9643b90 Mavenize this project so we can use Jenkins and easily enable developers to compile from source. 2012-07-28 14:52:38 +10:00