5.4 build 1485 - feature patch "Further"
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
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
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
![[IMG]](/proxy/image?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F24460436%2F136654585-278584e4-7e6d-4497-b548-10ae231a02fb.png)
- Added has played on server filter to only see players who have joined certain servers.
![[IMG]](/proxy/image?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F24460436%2F136652993-474cd3a6-659b-4238-9bce-d1a04dd023f1.png)
- Added plugin boolean group filter
You can now filter players by booleans defined by Extensions.
![[IMG]](/proxy/image?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F24460436%2F126860951-4fff5644-1cdd-44f2-902a-69a7e75209e4.png)
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_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
- 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