Player Analytics, Sponge/Bukkit/Bungee/Velocity support

5.4-build-1489

Release

AuroraLS3 released this version on Oct 31, 2021

9.6 MB
Download

5.4 build 1485 - feature patch “Further”

Due to size limit of Ore, new versions have been skipped on Ore for the last 7 months - The main change log has changes from version 5.4 build 1366, all changes other from 5.3-build-1284 are listed at the bottom - You can find version specific release notes from https://github.com/plan-player-analytics/Plan/releases

Hi! This update has been in the making for quite a while, but it’s here now. It has a bunch of new exciting features as well as, maybe exciting bugfixes? There’s now a little over 5000 commits! Pretty good pace for ~5 years of development.

This feature patch was codenamed “Further” as it attempts to bring more to the already existing features.

Special thanks to untuned, PerchunPak, Shadowhackercz, HexedHero, Kopo, rymiel, Vankka, DrexHD, zisunny104, SkipM4, MAXOUXAX, adhg6 and BratishkaErik for their contributions to this update!

Change log

  • Notice: A warning is now emitted on enable with JVM version < 11. Plan will require Java 11 or newer from version 5.5 onwards.

Fabric support

Kopo, DrexHD, Vankka and rymiel implemented fabric server support for Plan. Big thanks to the ton of work that was put into porting the abstraction layer, listeners and command logic to support fabric servers.

  • Fabric is distributed separately as PlanFabric.jar, see Github or Curseforge if you need to install it. Thanks to Kopo for implementing a release pipeline that automatically deploys the fabric version to CurseForge to avoid extra work.

Website

Added Performance tab to Network page

performance tab

This new performance tab can be used to compare server performance of multiple servers as well as view the performance data gathered by proxy server. You can find it under /network > Servers > Performance

Added server uptime

uptime

Network as numbers, Quick view and Server as numbers now show the current uptime of the server. The uptime shows time since last server start. It is calculated from latest plan_tps entry or from time stored in memory at startup.

Query page additions

  • Added View selector for servers
    You can now select one or multiple servers to view the result data from. This is useful if you want to know players who have played the most on specific servers image
  • Added has played on server filter to only see players who have joined certain servers. image
  • Added plugin boolean group filter You can now filter players by booleans defined by Extensions. example query Multiple-select performs players in both (OR-operation). Adding a 2nd ‘Has plugin boolean value’ -filter allows AND-operation

Other website changes

  • Added server name to kill lists
  • Fixed active session not appearing or affecting numbers on the /player page
  • Kopo fixed query page graphs not showing in light mode
  • Kopo fixed accordions not opening properly due to missing bootstrap attributes
  • Hexedhero changed /player page player head image to include the helm of the skin.
  • Kopo updated HighCharts to 9.2.2
    • Due to an open bug in HighCharts the line graphs may look slightly odd if you have gaps in data and Display_options.Graphs.Show_gaps_in_data is false - as the gaps will now appear as long lines without points. I think this bug will be fixed some time next week as fix for it is in review
  • Kopo added /v1/version (for getting information about current version) and /v1/user (for getting information about logged in user) endpoints preparing for future removal of server side html rendering

Added web developer mode

  • Customized_files.Path can now be used to choose where Html Customized files are placed (Change this to "<absolute path to git repo>/Plan/common/src/main/resources/assets/plan/web" for easy time developing)
  • Customized_files.Enable_web_dev_mode can be used to enable modifications of all files as well as bypass resource caching for instant updates on browser refresh.

Adding new files still needs recompiling the plugin, but this should speed up modifications to existing parts of the website considerably.

Html Customization

  • Enabled Plan web resources are now exported during Plan enable so you no longer need to visit the page after enabling.
  • rymiel implemented a task that checks the modify dates of your custom html files against the ones in the jar and warns if you’re using files that are older. (Old files usually cause confusing webpage errors so it’s good to have some warning about it on the console.) If you have old files, rename them and reload Plan to generate new versions, then apply your modifications to the new file.
    • Note that files generated after modifications made on github are not detected due to lack of data on what version the generated files are. (The last modified date is used)

Config

  • Added World_aliases.Regex-setting that allows defining a regex to use for grouping world names under same alias. (Note that you can also use the existing list to group worlds under the same alias). This feature helps servers where plugins generate large amounts of worlds manage their Plan config - any world that matches a regex won’t be added back to the list.
  • Incorrect Buycraft secret link was corrected by untuned
  • rymiel made it possible to set Display_options.Graphs.TPS.High_threshold and Medium_threshold as decimal numbers (eg 19.5) to allow finer control over these thresholds.

Locale

  • RU Locale was updated by PerchunPak and BratishkaErik
  • CS Locale was updated by Shadowhackercz
  • CN Locale was updated by SkipM4
  • zh_TW Locale was updated by zisunny104

Extensions

  • Vankka made an Extension for LibertyBans
  • Fixed issues with Logblock Extension not working (Now it should finally work)
  • Fixed issue with newer Quests version and Quests Extension
  • MAXOUXAX fixed ViaVersion extension on Velocity & it changed support to 4.x.x versions of ViaVersion.
  • Ignored Floodgate related exception

Placeholders

  • Added player kill related placeholders
    • %plan_player_player_caused_deaths%
    • %plan_player_deaths%
    • %plan_player_mob_caused_deaths%
    • %plan_player_kdr%
    • %plan_player_mob_kdr%
    • %plan_player_recent_kill_<1-10>%
    • %plan_player_recent_death_<1-10>%
  • Added %plan_top_{category}_{timespan}_{i}% placeholders
    • categories: playtime, active_playtime
    • timespans: month, week, day, total
    • i: 1 to 10
    • Example: %plan_top_playtime_month_1% shows name of the player with highest playtime in last 30 days
  • All placeholders that don’t start with plan_player_ now support server identifier at the end to show data from another server. Use plan servers command for identifiers. Examples:
    • %plan_tps_day:Skyblock%
    • %plan_ping_day:Proxy%
    • %plan_sessions_afk_time_day:Lobby%
    • %plan_sessions_afk_time_day:Server 1%
    • %plan_tps_day:ed568cd3-f5ab-4893-996b-90fa3b9a9e64% (supports server uuids too)

Other

  • Vankka implemented database driver downloading to reduce jar size
  • Fixed NPE on 1.7 servers related to ping method
  • Fixed issue with plan db move command when a server had been uninstalled
  • Fixed an issue with plan db uninstalled not being able to set Proxy as uninstalled
  • Plugin startup should no longer perform a query related to export system on the server thread during enable. (now async)
  • Building Plan now requires JDK 16 - NOTE that this does not mean Java 16 is needed to run Plan since it is still compiled to Java 8.
  • rymiel fixed Velocity implementation using wrong component serializer for legacy text
  • rymiel added a Ore version checker for Sponge to comply with Ore guidelines.
  • Fixed NPE when Plan was reloaded at the same time as website was accessed

Changes from build 5.3 build 1284

Removed H2 support

H2 has been deprecated for a while now, and the database drivers are removed in this update. If you still haven’t migrated despite the big warning during enable, do so with /plan db move h2 <sqlite / mysql> before updating. This database was very prone to corruption and that’s the main reason it was phased out.

Website

  • Kopo fixed registration modal not opening after pressing register [builds 1354+]
  • rymiel fixed Player page plugin tabs not switching with multiple servers having the same plugin
  • rymiel changed login and registration to use Request body instead of query parameters - This is more secure as the query parameters could end up in browser history. Previous authentication still works to not break discord bots written by community members, but it is recommended that you move to POST /auth/login with the same previously used query parameters in request body.
  • Login page now looks proper (I was getting some uncomfortable feeling about it being slightly different than before)
  • Kopo updated Plan to use Bootstrap 5, this was a large update, a lot of effort was put to keep appearance of the page the same
  • Kopo fixed dark theme not applying to query page table properly
  • Kopo removed horizotal scrollbar from players tables so it should look a lot cleaner if you have a lot of plugin data there.
  • Some or all Performance graph labels are now hidden depending on the screen width so that the graph is still viewable on mobile.
  • Added /errors and /v1/errors to view recent Plan error logs in the browser
  • Fixed tab navigation going under the “close sidebar” area on some phones [all builds]
  • Fixed South Korea not getting color on the map [all builds]

Extensions

  • Kopo fixed ProtectionStones extension causing a chunk load and as result a lag spike (Not a problem in ProtectionStones)
  • Fixed Logblock throwing world: null errror
  • Fixed Registration of Floodgate extension with Floodgate 2.0 (1.0 no longer supported)
  • This was already in previous release, but I forgot to mention it: mbax fixed FactionsUUID extension breaking with newer version of FactionsUUID
  • Fixed LogBlock Extension not getting any data [all builds]
  • Fixed PlotSquared Extension throwing error sometimes [builds 1284+]
  • Possibly fixed Tebex Extension throwing error sometimes [builds 1284+]
  • portlek fixed a NPE related to DiscordSRV Extension [all builds?]

Locale

  • Added Traditional Chinese (ZH_TW) locale by 洛伊
  • Added Dutch (NL) locale by Sander0542
  • Simplified Chinese locale updated by 10935336
  • Turkish locale updated by EyuphanMandiraci
  • Spanish locale updated by 4drian3d

Other

  • Removed two exception logging calls accidentally left in during debugging
  • Started using the new github issue forms
  • Moved to a new workflow for implementing issues, separating the tasks of figuring out what needs doing, and doing it.
  • Kopo moved Velocity support to version 3.0.0.
  • Fixed session shutdown save exception on 1.17 related to class loading
  • Fixed network page breaking due to loadServerPie going missing with some locales
  • Fixed ping not being available on 1.17 Spigot
  • Fixed AdvancedBan Extension running to NPE when player name doesn’t have an UUID