Player Analytics, Sponge/Bukkit/Bungee/Velocity support

5.1-build-545

Release

Rsl1122 released this version on May 7, 2020

16.1 MB
Download

Login page - Change log 5.1 build 545

This update changes how login and registration is handled when authentication is enabled (requires https to be set up). In addition, a lot of smaller changes also got into the update.

Special thanks to Catalina (Spanish locale), Creeperface01 (Nukkit PlaceholderAPI support), developStorm (Emphasized online sessions) & qsefthuopq (Chinese locale) for contributions to this update! :)

Change log

Website

  • Online and offline sessions are now distinguished on the website. Offline sessions have an outline and online sessions are emphasised. Original PR by @developStorm kuva
  • Fixed several issues with page width and plugin tabs not being accessible when (No data) was in the title.
  • Changed session average to median on player page to reduce impact of quick relogs.

Added Login & Register pages

login-small

This was one of the most requested features on the feature backlog and discord.

  • Login is now based on Cookies instead of Basic Authentication.
  • You can now logout without closing the browser using a button on the website.
  • Username and in-game name are no longer required to be the same for viewing own player page (permission level 2) - User needs to be linked instead (see below).
  • Registration page allows registering users without showing the password on the console:

Webuser - Player linking

Webusers and players now link together so that the username doesn’t need to be same as their IGN. This is in preparation for an upcoming webuser permission overhaul.

  • PageExtension API now has a new method that returns the username. The existing method now returns the player’s name or ‘console’ the account is tied to.
  • The user is linked upon registration, users can be linked to ‘console’ as well.
  • Existing users are automatically linked by matching playernames. If no match is found the user is linked to ‘console’.
  • Note that this means permission level 2 users can no longer be registered via /plan register [pass] [name] 2. Guide the players to self register via the website instead.

More about why:
The new registration form on the page does not know about permissions of the player, and cannot force users to register with their IGN. The permission levels will be replaced with a permission system in the future, so the best effort solution was to link player uuid to the username when the player uses the register command in game. This allows the users to still access their own player page when they have permission level 2.

Commands

  • Added /plan unregister command for removing linked user
  • Added Active playtime and AFK time to /plan qinspect [player]

Database

  • Optimized query for playerbase activity grouping that is used for the graphs. This should speed up the loading for that graph.
  • Added online session playtime method to CommonQueries in Query API.
  • Fixed an unhandled deadlock error case

Locale

  • Added Spanish (ES) Locale made by Catalina
  • Chinese (CN) Locale updated by qsefthuopq
  • Fixed plugin tabs not being available when some locales were in use

Placeholders

  • Nukkit PlaceholderAPI support added by @Creeperface01
    The Placeholder API code was refactored and improved to support both Nukkit and Bukkit PlaceholderAPI with similar information.
  • Fixed plan_sessions_recent_peak_date placeholder not showing anything

DataExtensions

  • Fixed Litebans loading after Plan on Spigot based servers
  • Fixed Litebans /server table headers not matching content
  • Stoped logging any Buycraft API connection exceptions.