Player Analytics, Sponge/Bukkit/Bungee/Velocity support

5.0-build-224

Release

Rsl1122 released this version on Oct 5, 2019

14.5 MB
Download

Player Analytics 5

This is the largest update to the plugin to date, accomplishing a long time goal that makes life of network admins a lot easier (more on that down below). Here is a release trailer to get you hyped up:

Existing configurations should work after updating to this version, here is Migration guide to Version 5

Extra special thanks to Beta testers who have ensured that the release goes smoothly. I would also like to thank Vankka, aidn5, Aurelien, yukieji & qsefthuopq for their contributions that are released in this update & mibby for allowing me to use Plan of his server for promotional materials.

What’s new

Redesigned Panel

Server Page

The panel has had a complete overhaul.

Benefits from the redesign:

  • Separate analysis process is no longer required, the data is analyzed and delivered on the spot.
  • Data is accessible from a single Webserver (Even on networks) so other webservers can be disabled.
  • Data and pages can be cached separately & the data updated when events fire
  • Memory usage has significantly improved
  • JSON is used to transfer data instead of the html file, improving load times

Changed Activity Index formula

Activity index formula was rewritten to be easier to explain and understand. It is based on playtime per week for last 3 weeks, where the threshold value in the config affects the activity index.

Here is an image of the curve where y is the activity index and x is playtime per week divided by threshold.

image

  • If someone plays as much as threshold every week, they are given activity index ~3
  • Very active is ~2x the threshold
  • The index approaches 5 indefinitely.

Panel features

Here are some new features that are introduced with the panel redesign.

Night Mode

Server Page_night

Night mode can be toggled from the theme selector.

Trends & Insights

image image

Server Health has been split into Trends (little red & green arrows on the panel), and Insights that attempt to uncover more knowledge from the data.

Insights and Trends have been placed closer to the related section to give a better overview.

Server Quick View (Networks)

Network_servers

You can now view the last 7 days for a server without going to Server Analysis. Mant more features from Server pages are also now available for the whole network, such as the Day by Day graph (Unique & New players / Day)

Long term goal: Removal of proxy<->server connections

Set-up on Bungee has been a large hurdle for many due to the Webserver being required on all servers - No more! The proxy<->server connection system has been removed, marking a long term goal complete.

Now you can easily set-up more servers on Bungee & Velocity networks just by connecting them to the same MySQL. Their webserver will disable automatically after a reload when the proxy is detected in the database, saving resources.

Export improvements

Pages of the whole network can now be exported on the Bungeecord or Velocity servers on networks. The system was refactored to be easier to maintain in the future.

Package restructuring

Since the major version is increased I took the opportunity to restructure the package structure, separating objects that represent gathered data and objects that represent data in the database. This might break other plugins using internal classes such as SessionsMutator.

API version 4 (PlanAPI class & related classes) have been deprecated, but have not moved.

  • PlanAPI#fetchFromDatabase has been removed.
  • Schema: plan_ips table renamed to plan_geolocations, ip & ip_hash columns removed.
  • Schema: plan_commandusages table removed

Plugin Support changes

  • Added PlaceholderAPI support, thanks to aidn5 for his work on this.
  • Added Extensions for DKBans & DKCoins, implemented by Vankka
  • PluginData API has been decommissioned and its users will get a no-op warning on the console.
    • BuyCraft, Factions, Jobs, Litebans & Towny were moved to DataExtension API. Some of their old features were not possible to be moved over, but graphs and accordions will return in the future.

Fixes

  • #603 Activity index will no longer cap out at 3.04 for new players
  • #840 Vulnerability XSS attack using Bungee-Bukkit connection system is no longer possible (Connection system was removed)
  • #938 “Refreshing analysis” page no longer displayed when viewing server page
  • #964 Server JSON end point removed
  • DataExtension API Tables’ values can now be up to 250 characters
  • #1167 RedProtect extension fixed for Sponge
  • #1161 CoreProtect extension should no longer cause a crash
  • #1131 Disabled extension’s data is cleaned after configurable time (default: 2 days)
  • Many more that were not reported on Github.

Versioning scheme change

The previous semantic versioning has been very non-semantic - so the main benefit of knowing when things break has not really been there.

With the incrementation of major (4 -> 5) it is clear that the version contains breaking changes (For other plugins).

I want to convey useful information to both developers and users alike, so this version is 5.0 ALPHA build 1

The new scheme is major.minor build build

major will change when Plan API (currently version 5) has breaking changes & needs new documentation.
minor will change when new features are introduced.
build will increase with every commit, such as bugfixes and other improvements.

The new scheme removes confusion from dev release versioning as well.


Would you like to support the project more? Consider donating on Paypal