Skip to content

Releases: plan-player-analytics/Plan

5.4 build 1583 - Hotfix for MySQL issues

12 Feb 21:05
Compare
Choose a tag to compare

5.4 build 1583 - Hotfix for MySQL issue

This release contains a hotfix for MySQL driver unloading issues on disable/reload, causing the plugin to spew a really long error message and failing to reload when using MySQL.
Driver is no longer unloaded during reload to avoid any issues.

This bug was introduced in dev build 1536 on January 6th, but it was not caught or reported.

5.4 build 1581 - Bugfixes

11 Feb 15:41
Compare
Choose a tag to compare

5.4 build 1581 - Bugfixes

This build contains a heck of a lot of bugfixes and a bunch of small features.
Special thanks to HexedHero and Kopo for contributions to this update & thanks to everyone who has been reporting issues!

Change log

Data gathering

  • Kopo fixed not logging deaths on fabric when killer was not a player

Config

  • Throw more detailed error when Unit of setting is incorrect
  • Added Display_options.Player_head_img_url config setting for the player page head image

Stability

  • Fixed SpongeForge crashing with Plan on enable. This was caused by a bug in SQLite.
  • Possibly fixed OutOfMemory crash where server ran out of threads. Amount of tasks registered by Plan over time was reduced.
  • Possibly fixed error on server shutdown related to class loading ("zip file closed")
  • Possibly fixed duplicate servers being stored in the database when database is busy during enable.

Website

  • Added Join address to /player pages
  • Fixed player pages with 2 different UUIDs showing same player's data when both players had same name (In cases where offline and online UUIDs are present due to user error)
  • Fixed ISO code for South Korea and North Korea so that they show up properly on the map
  • Internal error web pages now have error context
  • Added support for Hex color codes in player display names on the website
  • Fixed Query page 'to main page' link on reverse-proxy setups using subdirectory
  • Fixed performance tab not loading on /network page if locale was not English

Extensions

  • Fixed ArithmeticException related to Libertybans extension
  • Fixed wrong block count for netherrack in Logblock extension
  • Fixed "Connected from same IP" data from Litebans not including player names that had the same IP
  • Kopo fixed Litebans extension not getting new data when there were over 5000 rows of specific punishments.
  • Disabled Litebans extension automatically on game servers if it is already installed on Proxy to avoid duplicate data
  • Clean up data of extension disabled in the config when plugin is reloaded to avoid confusion when a plugin does not disappear from the website after disabling them.
  • Luckperms extension now updates its data when player's group is changed / group is deleted even if the player is not online.

Placeholders

  • Added new placeholders
    • %plan_server_players_registered_{total/day/week/month}%
    • %plan_network_players_registered_{total/day/week/month}%
    • %plan_server_players_unique_{total/day/week/month}%
    • %plan_network_players_unique_{total/day/week/month}%
    • %plan_player_is_afk%, output true/false
    • %plan_player_is_afk_badge%, output 'AFK'/''
    • %plan_top_{category}_{time}_{n}_value%, output the value giving the player their top spot
  • Fixed group by error related to top category placeholder queries
  • Placeholders in the Plan config are now refreshed more often and earlier during login to improve chance they are displayed when the other plugin uses server thread for placeholders.

Export

  • Hid refresh buttons on exported web files since refreshing does not update data on exported files

Commands

  • Fixed fabric specific command issues
    • Fixed /plan reload
    • Fixed commands requiring confirmation expiring the confirmation immediately
    • Fixed console getting wrong kind of messages from command output

Other

  • Cleaned up extra error messages from browser dev tools console
  • Fixed index out of bounds exception related to trying to log errors after it failed previously (leaving behind empty file)
  • Reduced log level of "Webserver disabled (disabled in config)" from warning to info
  • HexedHero added more instructions to SQLite exception when temp directory is out of space for when user is using Pterodactyl

5.4 DEV build 1575 Release Candidate

04 Feb 17:30
Compare
Choose a tag to compare
Pre-release

5.4 DEV build 1575 Release Candidate

Changes from DEV build 1555

  • Hid refresh buttons on exported web files since refreshing does not update data on exported files
  • Disabled Litebans extension automatically on game servers if it is already installed on Proxy to avoid duplicate data
  • Clean up data of extension disabled in the config when plugin is reloaded to avoid confusion when a plugin does not disappear from the website after disabling them.
  • Added placeholders
    • %plan_player_is_afk%, output true/false
    • %plan_player_is_afk_badge%, output 'AFK'/''
    • %plan_top_{category}{time}{n}_value%, output the value giving the player their top spot
  • Internal error web pages now have error context
  • Fixed SpongeForge crashing with Plan
  • Added Display_options.Player_head_img_url config setting for the player page head image
  • Added support for Hex color codes in player display names on the website
  • Fix Query page 'to main page' link on reverse-proxy setups using subdirectory
  • Possibly fixed error on server shutdown related to class loading ("zip file closed")
  • Possibly fixed duplicate servers being stored in the database when database is busy during enable.

5.4 DEV build 1555

30 Jan 09:12
Compare
Choose a tag to compare
5.4 DEV build 1555 Pre-release
Pre-release

5.4 DEV build 1555

Changes from DEV build 1542

  • Fixed cookies expiring immediately, leading to data not loading at all if login was enabled (Bug introduced in build 1536)
  • Fixed player pages with 2 different UUIDs showing same player's data when both players had same name (In cases where offline and online UUIDs are present due to user error)
  • Fixed ISO code for South Korea and North Korea so that they show up properly on the map
  • Added Join address to Player pages

5.4 DEV Build 1542

09 Jan 11:35
Compare
Choose a tag to compare
5.4 DEV Build 1542 Pre-release
Pre-release

5.4 DEV Build 1542

Changes from dev build 1536

  • Fixed top category placeholder queries exception and off-by-one error
  • Fixed fabric specific command issues
    • Fixed /plan reload
    • Fixed commands requiring confirmation expiring the confirmation immediately
    • Fixed console getting wrong kind of messages from command output
  • Kopo fixed Litebans extension not getting new data when there were over 5000 rows of specific punishments.
  • Reduced log level of "Webserver disabled (disabled in config)" from warning to info

5.4 DEV build 1536

06 Jan 13:50
Compare
Choose a tag to compare
5.4 DEV build 1536 Pre-release
Pre-release

5.4 DEV build 1536

Changes from dev build 1526

  • Possibly fixed OutOfMemory crash where server ran out of threads by reducing amount of tasks registered by Plan over time
  • Cleaned up extra error messages from browser dev tools console
  • Fixed index out of bounds exception related to trying to log errors after it failed previously (leaving behind empty file)

5.4 DEV build 1526

15 Dec 11:09
Compare
Choose a tag to compare
5.4 DEV build 1526 Pre-release
Pre-release

5.4 DEV build 1526

This release contains bugfixes.

Special thanks to Kopo for contributions to this update

Change log

Placeholders

  • Added new placeholders for some player counts
    • %plan_server_players_registered_{total/day/week/month}%
    • %plan_network_players_registered_{total/day/week/month}%
    • %plan_server_players_unique_{total/day/week/month}%
    • %plan_network_players_unique_{total/day/week/month}%
  • Fixed group by error related to top category placeholder queries

Other Bugfixes

  • Throw more detailed error when Unit of setting is incorrect
  • Kopo fixed not logging deaths on fabric when killer was not a player
  • Fixed ArithmeticException related to Libertybans extension
  • Fixed wrong block count for netherrack in Logblock extension
  • Fixed "Connected from same IP" data from Litebans not including player names that had the same IP

5.4 build 1516 - Year in review

02 Dec 15:49
257c7bd
Compare
Choose a tag to compare

5.4 build 1516 - Year-in-review

Hello! So, today marks 5 years since Plan development started. That's a pretty long time to be honest. As has become customary, there's a survey and a year-in-review post below this updates change log. Thanks for being awesome!

Special thanks to zax71, KairyByte & OLEGSHA for contributions to this update!

Change log

  • Updated HighCharts to newer version since they have fixed performance issue, in addition I removed ordinal: false workaround in Plan that was used to avoid the performance issue. If you liked the odd gaps in your data that may have been present due to the workaround, you can set Display_options.Graphs.Show_gaps_in_data to true in the Plan config to have them visible.
  • Fixed NPE related to null gamemode on some platforms
  • Kairubyte added version number to javascript file loading addresses so that they are no longer cached by cloudflare between updates. (Which caused issues in the past)
  • zax71 and OLEGSHA added some missing plugin dependencies to softdepend in plugin.yml

Survey

Here's a link to this year's survey: https://forms.gle/cpc6trn6wfJCpg8E9

Read on below for a look back on what has been going on with Plan this year & what's in store in the future.

Year-in-review: Year 5

This year I started working as a full-time developer so the updates have been less frequent. Non-the-less, surprising to me, the development speed has not really slowed that much. Thanks to the past years of structuring the code, it is still easy to maintain and add new features to Plan.

Here are the "main" features that landed in the last year.

  • The Query page
  • Player join address gathering
  • 15+ new Extensions
  • Fabric support
  • Network performance tab
  • Server uptime
  • Database driver downloading

In terms of features I'd say this year has been very good compared to previous years. I can't claim all the credit, since a lot of this has been made possible by the numerous contributors!
I decided to list all the contributors from 2021 (in order of appearance) here, thank you to: Guinness_Akihiko, galexrt, QuakyCZ, MrFriggo, vacoup, Kopo, Creeperface01, WolverStones, hallo1142, Aurelien30000, BruilsiozPro, WolverStones, BrainStone, AppleMacOS, 4drian3d, EyuphanMandiraci, 10935336, 洛伊, Sander0542, portlek, rymiel, mbax, untuned, PerchunPak, Shadowhackercz, HexedHero, Vankka, DrexHD, zisunny104, SkipM4, MAXOUXAX, adhg6 and BratishkaErik, zax71, KairyByte and OLEGSHA.

This year in numbers

  • From build 1062 to 1515: 457 commits released as updates
  • From #8 to #11 in top spigot plugins by rating: The reduced update frequency has likely impacted relative score compared to other plugins
  • From 2500 servers to over 4000 servers
  • From 49k lines to 59k lines of code (not counting extensions or web files)
  • From 43,7% test coverage to 51.3% coverage

Last year around this time I thought there was a storm brewing in terms of maintainability, but this year has been rather smooth sailing - probably thanks to the reduced update frequency allowing longer testing times for dev builds catching more bugs before they end up in a main release.

Even though a bunch of tickets get closed all the time (260 tickets closed this year), they never run out. Luckily the new project tracker has turned out to be successful in reducing the ticket mass to manageable chunks that can be worked on whenever I have the extra energy to do so.

To turn towards the future, and adding a slight personal note, I have found a functional balance where things progress, but in bit smaller chunks than before. That said, I don't have nearly as much time for Plan as I used to before I got a job (25h/week vs ~3h/week now), so larger features take quite a long time. In an ideal world I would love to work on Plan full-time, but since Plan covers 1.5% of my monthly living expenses, it is simply not feasible.
Right now I'm also writing a Master's thesis, so Plan development will likely stay on the a backseat at least until I have finished that endeavor. Don't worry though - as you can see from the releases this year, being on the backseat has not really slowed things down :)

Thanks for reading, and for using Plan! I hope you have a wonderful Christmas and Happy new year!

5.4 build 1494 - Hotfix to previous build

07 Nov 07:06
b680bc0
Compare
Choose a tag to compare

5.4 build 1494 - Hotfix to previous build

  • Fixed plugins using MySQL that started after Plan from breaking due to Plan unregistering the MySQL driver (Thanks for the fix Vankka!)

There were three things that lead to this issue not being caught:

  • The driver unregistering previously dealt with other plugins using Plan driver was forgotten when writing driver download code
  • The driver downloading changed so that the mysql driver was not relocated to plan.com.mysql.driver.Driver which caused the main MySQL driver to be unregistered instead
  • There was no test environment in which a plugin using MySQL started after Plan

Sorry for any trouble this may have caused.

5.4 build 1490 - Bugfixes to "Further"

06 Nov 08:45
Compare
Choose a tag to compare

5.4 build 1490 - Bugfixes to "Further"

This patch contains bugfixes to the previous update. It seems like things went pretty smoothly and only one bug ticket was opened. In addition to the bugfixes, database drivers are now downloaded at runtime in order to meet the 20MB size requirement set by Ore and Cloudburst (They got a release when that was merged)

Special thanks to Vankka for contribution to this update!

Change log

  • Vankka implemented database driver downloading from papermc repository / maven central. The drivers are loaded to a internal class loader only used by the database classes so that it doesn't effect anything else. That's a nice 13MB off jar size!
  • Fixed SQL syntax error related to the server uptime query on networks when using MySQL 5.7, which broke Servers tab on /network page.
  • Fixed Ore version checker giving 403 error due to missing User-Agent