Change log 5.2 build 1115
Fancy new join-address pie, bugfixes, jar size optimization and large refactoring work, that's what this is update contains.
Special thanks to
vacoup for implementing player join-address gathering.
Change log
Player join-address gathering
Some servers like to use different addresses for different advertising campaigns or server listings. Now the join-address player's use when they join the server (eg "play.server.com") for the first time is gathered. This information is shown on the playerbase overview tab on both network and server pages. Database schema updates.
Special thanks to
vacoup for implementing this feature.
Shutdown session save now less disruptive
Sessions are saved on shutdown. Previously this might stop the server from shutting down if the MySQL was too busy or slow to respond. Now the attempt times out after 4 seconds and the unsaved sessions are stored on the next server start instead.
Website
- Fixed Regular -> Inactive metric being reversed (instead showing Inactive -> Regular, essentially the amount of current regular players)
- Removed /debug page
Extensions
- Reduced calls to mcMMO extension due to concerns for performance impact of fetching offline player data.
- Removed leaderboard table from mcMMO extension
- BanManager extension updated (Now supports sponge too)
- BentoBox extension now supports AOneBlock gamemode
- Removed support for GriefPreventionPlus (I could not find the jar to build it when re-releasing the extensions)
Dependency downloading (jar size optimization)
Now Plan will download the database drivers from maven central first time it enables. This reduces the jar size to 9.9 MB. This had to be done to get under the 20MB limit of Ore and Cloudburst for plugin size. Those release platforms have change log for previous versions in the same update. If you limit outbound connections with a firewall, you need to allow connections to
https://repo1.maven.org/maven2/
Refactoring
3 large scale refactorings were done
- Session was split into ActiveSession and FinishedSession since the old data type was both and thus trying to fulfill too many roles at once.
- ServerUUID data-type added when previously UUID was used. This makes code a lot easier to read in cases where both player and server UUIDs are processed at the same time.
- Replaced Abstract Plugin Framework with Platform Abstraction Layer (rewritten abstraction). This was for dependency downloading at runtime.
- Removed debug logging
- Removed benchmarking (Enable timing was removed, it might return in the future.)
Project building
Due to bintray shutting down, all Extensions had to be moved to another repository. They're now located in a self-hosted reposilite instance.