Player Analytics plugin for Minecraft Server platforms (Bukkit/Sponge/Nukkit/BungeeCord/Velocity) - View player activity of your server with ease. 📆
Go to file
Risto Lahtela 96564c90be
[Merge] [#818] Organized Database Classes (#920)
These can be summarized in 3 categories of changes:

### Moved SQL queries from `Table` classes to `Queries` classes.

`Table` classes were turned into static information classes that only contain statements and table fields for the tables. Classes with static methods were created that return `Query<T>` objects that can be passed to the Database. This simplifies addition of multi-table queries.

### Changes are now executed via Transactions

A new `Transaction` class was made, and executing row updating statements was limited inside these classes. This allows committing changes once per multiple statements (speedup) and rolling back partial failed transactions (reliability).

### Database ExecutorService and access lock

A single thread executor was added to be in charge of executing Transactions. All submitted transactions will be executed by this one thread.
Queries will be held until database is operational (Patches have been applied). This should alleviate issues such as #893

## Other changes

- SaveOperations, CheckOperations, CountOperations, SearchOperations were all removed. FetchOperations was completely deprecated, but since it is still provided by `PlanAPI` it was kept in place.
`FetchOperations` is scheduled for removal upon implementation of the new PluginData API.

- Database interface was not very useful, so it was changed to make it usable instead of SQLDB.

- [Wrong branch] Moved to using JUnit 5.4 TempDir instead of junitpioneer 

- `DataCache` was split off to a separate class `NicknameCache` and `SessionCache` no longer saves the session when ended, responsibility is now with the caller
2019-02-22 10:49:58 +02:00
.github/ISSUE_TEMPLATE Update issue templates (#696) 2018-08-23 08:53:54 +03:00
docs Fixed plan.inspect and plan.qinspect permission nodes for Sponge 2018-09-06 16:34:33 -04:00
Plan Added a fail message to web traffic if database is not open 2019-02-22 10:35:36 +02:00
PlanPluginBridge Fixed pluginbridge 2019-02-19 12:21:07 +02:00
scripts Added 'set -e' to test scripts to exit correctly 2019-01-04 17:18:35 +02:00
.gitattributes :octocat: Added .gitattributes 2016-12-08 19:28:26 +02:00
.gitignore Added gradle out/ folder to gitignore 2019-01-03 12:38:37 +02:00
.travis.yml Update .travis.yml 2019-01-27 11:31:38 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-10-09 13:07:37 +03:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-10-24 11:38:52 +03:00
LICENSE [Merge] Changing license from proprietary to LGPLv3 2018-10-28 08:59:38 +02:00
README.md Updated build status badge 2019-02-16 14:26:16 +02:00
versions.txt Update versions.txt 2019-02-16 14:26:17 +02:00

Player Analytics

Build Status Discord Quality Gate
Maintainability Lines of Code Code coverage Duplicate lines Code Smells

Player Analytics is a Bukkit plugin that gathers data about player activity & displays that data on an internal webserver. Originally the plugin only displayed data of other plugins, but now it gathers it's own data, while displaying data from various other plugins.

Image

Documentation

Documentation can be found On the Wiki

Used Libraries