Plan - Player Analytics, Sponge/Bukkit/Bungee support


#21

A new version has been released for Plan, it is available for download here.


Change log 4.6.2

Bugfixes

  • Fixed a bug where MySQL did not like a GROUP BY statement
  • Fixed /network page appearing buggy when no Bukkit/Sponge servers were connected
  • Fixed Litebans table prefix issues
  • Page now scrolls to the top when switching tab (“Information”, “Server Health”, etc)

#22

A new version has been released for Plan, it is available for download here.


4.7.0 - Database Code Restructuring

This update brings some database stability changes as well as various fixes

Fixed Security Vulnerability

  • Fixed a brute force vulnerability of the Plan web panel by adding a 90s delay after 5 failed login attempts from a certain address.

Improvements

  • Database code restructured
    • Everything that updates rows in the database is now using Transactions. This allows automatic rollbacks of failed transactions (such as a failed patch)
    • Transactions are now performed on their own thread to remove single-server deadlock possibility.
    • Queries & Transactions wait before patches are applied (This is to prevent tons of exceptions)
    • Sponge now uses same HikariCP as other server implementations. (Should prevent some issues with connection leaks)
  • Some Query memory optimizations
    • Sessions of other servers are no longer fetched to memory when doing analysis on network server
    • Sessions, WorldTimes and PlayerKills related to the sessions fetched with single query instead of 3.
    • All users no longer fetched when analysing a network server
  • Sessions are now saved on server shutdown if possible. (ínstead of JVM shutdown) Special thanks to @Fuzzlemann for his research on this.

Bugfixes

  • Commands and web panel now notify user if the database is not open.
  • Servers no longer generate same ServerUUID when Plan is installed
  • Fixed login message displaying ‘/’
  • Fixed /server page “back” button on networks
  • Fixed concurrent modification related to FileWatcher (Network config update system)
  • Attempt to fix databases that fail on KillsOptimizationPatch
  • Attempt to fix timeout error on network servers when viewing /server pages

As always if you are having issues with the update, please report issues on Github (https://github.com/Rsl1122/Plan-PlayerAnalytics/issues) or join Discord for support (https://discord.gg/yXKmjzT). Thanks


#23

A new version has been released for Plan, it is available for download here.


4.7.1 Change log

Bugfixes

  • Fixed ParseException related to WorldMap (Caused both /network and /server page to fail)
  • Fixed Server JSON export
  • Fixed SQL errors related to World Times

As always if you are having issues with the update, please report issues on Github (https://github.com/Rsl1122/Plan-PlayerAnalytics/issues) or join Discord for support (https://discord.gg/yXKmjzT). Thanks


#24

A new version has been released for Plan, it is available for download here.


4.7.2 - Change log

New

  • /plan manage export command for exporting all player pages/json.
  • Added Export.Export_player_on_login_and_logout setting for exporting Player pages/json on login & logout based on the other settings.

Bugfixes

  • Fixed a Duplicate key error on Analysis
  • Fixed Server UUID NPE on enable
  • Prevented/Fixed some unsupported key errors
  • Solved a server hang on updating Server UUID in the database
  • Solved player pages/json not being exported
  • Fixed json export failing when player name contained a ‘/’

As always if you are having issues with the update, please report issues on Github (https://github.com/Rsl1122/Plan-PlayerAnalytics/issues) or join Discord for support (https://discord.gg/yXKmjzT). Thanks


#25

A new version has been released for Plan, it is available for download here.


DataExtension API - Change log 4.8.0

This update brings a new API that is eventually going to replace PluginData API. This replacement is necessary, as the old API is one of the limitations that still need Bungee-Bukkit connections. If you’re interested, a roadmap has been added on Github: https://github.com/orgs/plan-player-analytics/projects/1

In addition some bugs have been squashed. Special thanks to Vankka and Skmedix for helping me out with some gradle stuff.

Support development: https://www.paypal.me/Rsl1122
Rating the plugin and giving the project a star on Github also helps :slight_smile:

New

  • New Plugin support: CoreProtect, Minigameslib
  • DataExtension API
    • Annotation based API that allows storing plugin data in Plan database.
    • API Documentation: https://github.com/plan-player-analytics/Plan/wiki/APIv5
    • PluginData (Old API) will appear with (Legacy) label on the web panel since it is not possible to do all the functionality with the new API yet. This will be removed once all functionality can be ported over. In the meanwhile both will function side by side.

Bugfixes

  • #922 Fixed config.yml having wrong defaults on Sponge in some cases
  • #982 Fixed Login Prompt not appearing on iOS devices
  • #966 Fixed MySQL transaction timeout error on Clean task
  • #967, #956 Cleaned up duplicate data in ‘plan_user_info’
  • #979 Fixed Exported /player-page js & css links
  • #971 Use_server_timezone should now properly affect Recent days formatting (‘Yesterday’) and Calendars

As always if you are having issues with the update, please report issues on Github (https://github.com/Rsl1122/Plan-PlayerAnalytics/issues) or join Discord for support (https://discord.gg/yXKmjzT). Thanks


#26

A new version has been released for Plan, it is available for download here.


4.8.1 Change log

Bugfixes

  • #991 Fixed customized file loading from plugin folder (Html Customization)
  • #992 Added a color to tps and disk graph labels
  • CoreProtect API v5 (1.8 - 1.12) now supported.
  • #994 Fixed player calendar showing UUIDs instead of player names of killed players.

#27

A new version has been released for Plan, it is available for download here.


Locales, DataExtension Tables - Change log 4.8.2

New

Locale updates

  • Added Japanese (JA) by yukieji
  • Improved Simplified Chinese (CN) by qsefthuopq
  • Added French (FR) by Aurelien

DataExtension Tables

  • DataExtensions can now display table data with TableProvider annotations
  • /server page players tab now displays DataExtension data as well.
    • Viewing exported html now requires a web service. (The players table is now delivered using JSON. The json being loaded via XMLHTTPRequest, and that does not work properly with file:// protocol)
  • Added a CapabilityService for future additions to the API.
  • Updated documentation here: https://github.com/plan-player-analytics/Plan/wiki/APIv5

New settings

  • Time settings for clean up of time series and ping data.
  • Setting to disable Ping gathering
  • Default database changed to H2 for new installs due to SQLite not working properly on 1.8.8 anymore

Ported PluginData to DataExtensions

  • ASkyBlock, GriefPrevention (Bukkit+Sponge), GriefPreventionPlus, mcMMO, Nucleus, RedProtect (Bukkit+Sponge), Vault Eco
  • Removed some old PluginData implementations that have been implemented as Extensions

Removed IP Hashes from the database

  • Removed IP Hashes from the database due to concerns over rainbow table related hash resolution of stored IPs from the hashes.

Spigot 1.14 support

  • #1012 Fixed Plan not enabling on Spigot 1.14
    • #1029 Fixed bStats task breaking reload

Bugfixes

  • [Analysis] #1017 Fixed a query related to DataExtensions
  • [Plugin Startup] Reduced reliance on platform class exists checks that were causing compatibility issues with plugins that incorrectly shade in platform (eg bukkit, bungee) classes
  • [Export] #1019 Fixed Network page exporting
  • [UX] Fixed incorrect error displayed when player was not found
  • [PluginData] #1027 Fixed Error related to AAC database table
  • [DataExtensions] Fixed DataExtension @Tab annotation not working
  • [DataExtensions] Fixed Exception handling of DataExtensions
  • [Performance] #1034 Tasks with too large delays are now cancelled instead.

If you run into issues feel free to open a ticket https://github.com/plan-player-analytics/Plan/issues/new/choose or join discord for support https://discord.gg/yXKmjzT - Please use tickets for exceptions.

Thanks!


#28

A new version has been released for Plan, it is available for download here.


Change log 4.8.3

Bugfixes

  • Fixed DataExtension columns appearing multiple times in the /server Players table.
  • #1039 Fixed SQL error when using h2
  • @Vankka fixed issue with DiscordSRV integration, thanks!
  • Fixed issue with Vault integration when another plugin incorrectly shaded in Vault classes

Minor additions

  • DataExtension API users can now throw NotReadyException if their API is not ready for a Provider method call.
  • DataExtension API Provider annotations now have ‘showInPlayerTable’ parameter

If you run into issues feel free to open a ticket https://github.com/plan-player-analytics/Plan/issues/new/choose or join discord for support https://discord.gg/yXKmjzT - Please use tickets for exceptions.


#29

A new version has been released for Plan, it is available for download here.


4.8.4 Change log

Bugfixes

Fixed a IllegalArgumentException: class com.djrapitops.extension.DiscordSRVExtension method guildUsers could not be called: null

This was a stupid mistake on my part, since it was an exception that was not supposed to be logged. I did put a catch for the exception (NotReadyException), BUT since the method that throws the error is called via Reflection (method.invoke) the error was wrapped to InvocationTargetException, causing it to be logged. Well now it’s fixed.


In other news:

Hello people, just you guys know I’ll be very busy until 30.06. due to a course that focuses on teaching teamwork. It includes 6h/day workdays mon-fri. On top of that I have to finish my bachelor’s thesis by 30.05. - so I might not have time for as much support as usual. If you are having bad issues that aren’t getting answers please open a ticket on github.


#30

A new version has been released for Plan, it is available for download here.


Change log 4.8.5

Bugfixes

  • #1041 Fixed “CapabilityService has not been initialized yet” Exception

#31

A new version has been released for Plan, it is available for download here.


4.8.6 Change log

New

  • Turkish Locale by TDJisvan, Plugin.Locale: TR
  • Portugese (Brazil) Locale by jvmuller, Plugin.Locale: PT_BR
  • /plan register command now displays link to the panel after successful register. (The link will redirect based on the user’s permission level)

Bugfixes

  • Version names for ViaVersion & ProtocolSupport now use the plugins’ naming utility, no more out of date version numbers! :slight_smile: Special thanks to @Vankka for doing the research on this.
  • #1062 Fixed Chunk graph displaying data for the CPU graph
  • #1066 Fixed NoSuchFileException on Export of players table json when the folder for the server doesn’t exist

#32

A new version has been released for Plan, it is available for download here.


4.8.7 Change log

New

  • #739 Added MySQL Driver to Plan (Full Velocity support)

Bugfixes

  • #1089 Fixed error on Analysis when a World_aliases world name had a dot in the name
  • #1090 Fixed command registration when plugin failed to enable (To allow reload)
  • #1095 Fixed some database altering commands sending “Success” message too early (web delete, manage remove, manage clear)