Commit Graph

4120 Commits

Author SHA1 Message Date
Rsl1122
3e734ec505 Updated javadoc of extension queries
Some of them were for wrong class and contained
lots of unnecessary or out of date information
2020-01-26 22:39:06 +02:00
Rsl1122
0a1c20c070 Renamed DataProviderExtractor to ExtensionWrapper
This makes the purpose of the class more clear,
as it has methods that are not related to
extracting DataProvider objects.
2020-01-26 22:39:05 +02:00
Rsl1122
6a0c25edd5 Refactored more Gatherers
Now all "non special" gatherers have been combined
to use Gatherer interface inside ProviderValueGatherer
Two gatherers are not yet abstracted:
- BooleanProviderValueGatherer, returns Conditions
- TableProviderValueGatherer, different provider save§

This removes a lot of duplicate code that was pretty
difficult to understand due to the complexity of the
functional interfaces inside the classes
2020-01-26 22:39:05 +02:00
Rsl1122
f438366adc MethodWrapper Parameters
Parameters for MethodWrapper were abstracted to a
visitor interface in order to call any method types
with same class structure (Gatherer)
2020-01-26 22:39:00 +02:00
Rsl1122
ee9a9ba7d8 Refactored code of DataProvider
Some optional values from different providers
were not included in ProviderInformation,
which lead to unnecessary instanceof usage and
weird static methods.

Added the optional info to ProviderInformation
and created a Builder, making much cleaner code
and removing those odd ball methods.

- Also fixed StoreProviderTransaction having
  insert of Icon and Tab in wrong order
2020-01-26 22:38:59 +02:00
Rsl1122
2c19e0e980 StoreProviderTransaction
- Removes duplicate code by replacing 5 different
  Store___ProviderTransaction classes with
  a single one.

  Null value is inserted where possible / makes sense
2020-01-26 22:38:59 +02:00
Rsl1122
0b1ae59c48 Begun creating abstract Gatherer class
This class is supposed to replace all different gatherers (except maybe Boolean)
because these classes contain a lot of duplicate code, and adding group
methods would only increase the amount of duplicate code.

So instead of having duplicate code in different classes, a single
class could be abstract enough to construct the different functionality
without having branches in the execution logic.
2020-01-26 22:38:58 +02:00
Rsl1122
7293cdf98f Registered BentoBox Extension
Affects issues:
- Close #722
2020-01-26 22:33:01 +02:00
Risto Lahtela
6591fd35e8
Update versions.txt 2020-01-24 12:51:56 +02:00
Rsl1122
0ee2d9a1e0 Fixed some issues with javadoc task 2020-01-24 12:22:41 +02:00
Rsl1122
ba34d2ad9a Changed export of non-text files
Some non-text files like fonts were being exported as text

Fixed by identifying text files and exporting other files
by copying the bytestream directly.

Affects issues:
- Fixed #1297
2020-01-24 11:16:03 +02:00
Rsl1122
d731919b26 Implemented %plan_player_favorite_server% placeholder
Requested on Discord in priority-support.
2020-01-24 10:45:26 +02:00
Rsl1122
73343f8d20 Change false assumption about paper methods
Some paper methods are not available in old versions of Paper,
leading to exceptions.

Method for checking the existence of the methods was added

Affects issues:
- Fixed #1304
2020-01-24 10:41:23 +02:00
Risto Lahtela
189d076001
Update README.md 2020-01-22 20:54:25 +02:00
Rsl1122
380f848f62 Added 'Webserver.Security.Disable_authentication' setting.
This is a feature flag to not have authentication even when
https has been enabled.

Affects issues:
- Close #1264
2020-01-21 16:33:56 +02:00
dependabot-preview[bot]
c6416254e9 Bump junit-jupiter-params from 5.5.2 to 5.6.0 in /Plan
Bumps [junit-jupiter-params](https://github.com/junit-team/junit5) from 5.5.2 to 5.6.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.5.2...r5.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-21 05:44:35 +00:00
dependabot-preview[bot]
90bf15bbe5 Bump junit-platform-runner from 1.5.2 to 1.6.0 in /Plan
Bumps [junit-platform-runner](https://github.com/junit-team/junit5) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-21 05:36:13 +00:00
dependabot-preview[bot]
55ee448a84 Bump junit-jupiter-engine from 5.5.2 to 5.6.0 in /Plan
Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.5.2 to 5.6.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.5.2...r5.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-21 05:28:32 +00:00
dependabot-preview[bot]
43cbd7339c Bump httpclient from 4.5.10 to 4.5.11 in /Plan
Bumps httpclient from 4.5.10 to 4.5.11.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 05:39:36 +00:00
Rsl1122
78b3239a63 Removed setDefaultUseCaches(false)
Calling this method causes SpongeForge to crash later
https://forums.spongepowered.org/t/spongeforge-crashes-in-odd-circumstances/34699/4

Affects issues:
- Fixed #1296, #1291, #1292
2020-01-19 12:28:08 +02:00
Risto Lahtela
6d90752f5d
Update versions.txt 2020-01-18 11:32:49 +02:00
Rsl1122
f5809420a5 Disconnect HTTP Connection after using IP2C
Affects issues:
- Possibly fixes #1296, #1291, #1292
2020-01-18 11:31:46 +02:00
Risto Lahtela
bccff17d85
Update README.md 2020-01-17 23:06:29 +02:00
Risto Lahtela
044b7c435b
Update versions.txt 2020-01-17 22:17:30 +02:00
dependabot-preview[bot]
4dc3fc7e3e Bump mysql-connector-java from 8.0.18 to 8.0.19 in /Plan
Bumps [mysql-connector-java](https://github.com/mysql/mysql-connector-j) from 8.0.18 to 8.0.19.
- [Release notes](https://github.com/mysql/mysql-connector-j/releases)
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.0/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-17 19:36:22 +00:00
Rsl1122
287eaf9b12 Fixed js worlds getting translated
- Deaths
- Ended
- Length

This bug can easily regress!

Affects issues:
- Fixed #1293
2020-01-17 21:11:07 +02:00
Rsl1122
0cfd98a127 Fixed memory leak when using Export
Also fixes an issue where players with partially same name get wrong json URL
2020-01-17 21:11:06 +02:00
Rsl1122
f16bd6a565 Updated font awesome to 5.12.0
- Adds support for fonts to Plan webserver
2020-01-17 21:11:06 +02:00
Rsl1122
c73eeda59e Added missing sidebar toggles.
Some togglers were missing from titles
- on players page
- on error pages
- on debug page

Affects issues:
- Fixed #1287
2020-01-17 21:11:06 +02:00
Rsl1122
c87f981d6a Rewrote TPSCounter Task
This commit is a squash of 8 optimization commits to TPSCounter.

1. Extracted duplicate code in TPSCounters to ServerSensors.

- TPSCounter tasks now live inside common module
  - ServerTPSCounter and ProxyTPSCounter
- Gathering methods are implemented with ServerSensor interface:
  Player count, TPS, Entity count, Chunk count
- ServerProperties#getOnlinePlayers was replaced with ServerSensor
- Fixed sonar smells: "Hiding field" in TPSStoreTransaction & NavLink

2. Optimizations down to 0.15ms / run

- Optimized entity+chunk count (same for loop)
- Added warm-up for system resource methods
- Removed Stream API usages
- Removed List copy operation
- Entities & chunks only count once per minute
- CPU & RAM averages now produced with Average class
- Maximum player count per minute now produced with Maximum class

Affects issues:
- Fixed #1289
2020-01-17 21:11:05 +02:00
Rsl1122
8a059ced0b Added SystemUsage class
This class is collection of some methods in TPSCounter that
were refactored out of it.
2020-01-17 21:11:05 +02:00
Rsl1122
d6e3817c71 All Extension tables now displayed
Original query used an odd inner join which caused some tables to
not be displayed at all, in some cases no tables were displayed at all.
The inner join was joining the value table, which is lower in the table hierarchy.

Changed the query to instead inner join upwards in the table hierarchy, joining the
plugin table.

Affects issues:
- #1260
2020-01-17 21:11:05 +02:00
Rsl1122
5908c6f41b Extra Extension tabs now take full width
Regression during redesign placed single tab content in card-columns div,
which caused the content to be displayed with a sub-par width.

Fixed by extracting new code that handles case for wide tabs, which
display the plugin container as full page width.

- Additionally, solved some issues with the plugin tab names & ids

Affects issues:
- Fixed #1276
2020-01-17 21:11:05 +02:00
Rsl1122
50948c7a65 Fixed Plugin tab names
Tab name was not being used, instead every plugin would show "Plugins Overview"
The server name was also missing on server & network page
2020-01-17 21:11:04 +02:00
Rsl1122
7c0f4450a7 Update Tebex Extension to R0.3
Fixes column names of the table

Affects issues:
- Fixed #1286
2020-01-17 21:11:04 +02:00
Rsl1122
4776305b78 Fixed test compile errors 2020-01-17 21:11:04 +02:00
Rsl1122
8dcfd3ad9a Fixed new sonar smells
- Reduced constructor parameters in Exporter
- Removed Throwable#printStackTrace calls
- Cleaned up SessionsMutator#toJSONMaps a little
- Replaced uses of getString/Number/ methods of PlanConfig with PlanConfig#get
2020-01-17 21:11:04 +02:00
Rsl1122
a5219dd901 Fixed broken tests 2020-01-17 21:11:03 +02:00
Rsl1122
9480245dae Made Geolocator init asynchronous. 2020-01-17 21:11:03 +02:00
Rsl1122
304d8da86b Changed back links /server -> /server/
Also for /network -> /network/

This was causing some issues with relative links when Plan was in
subdirectory eg address/plan/server would direct requests to address/v1/
instead of address/plan/v1/

Affects issues:
- Fixed #1210
2020-01-17 21:11:03 +02:00
Rsl1122
3d3c7289bb Fixed /v1/players permisison level
Affects issues:
- #1210
2020-01-17 21:11:03 +02:00
Rsl1122
ca89ab70d9 Prevent use of /plugins/Plan/web/ for export.
Warns if the export path is bad and falls back to 'Analysis Results'

Affects issues:
- Fixed #1194, Fixed #1279, Fixed #1195
2020-01-17 21:11:03 +02:00
Rsl1122
d22c850253 Changed sessionAccordion to use player names
Player names were in use previously, but changed to uuids to reduce
odd player name issues (On cracked servers the names can be whatever)

Encoded the playernames to URL (new session json parameter) and added that
to sessionAccordion

Affects issues:
- Fixed #1269
2020-01-17 21:11:02 +02:00
Rsl1122
d2b3b86154 Replace '+' with ' ' in exported file paths.
Affects issues:
- Fixed #1278
2020-01-17 21:11:02 +02:00
Rsl1122
6e4dce2553 Truncated some other Strings 2020-01-17 21:11:02 +02:00
Rsl1122
5bd325c2a7 Truncate weapon names to 30 chars
Affects issues:
- Fixed #1272
2020-01-17 21:11:02 +02:00
Rsl1122
16a5b41db5 Implemented new GeoLite2 & IP2C geolocators
- GeoLite2 downloads the file using License key, only if EULA is accepted
- Fallback to IP2C if GeoLite2 is not available
- Remove GeoIP.dat after successfully downloading GeoLite2-Country.mmdb
- Added case where geolocation fails to enable and doesn't cause issues

- Adds Apache commons-compress to the dependencies because of a tar archive

Affects issues:
- Fixed #1273
2020-01-17 21:11:02 +02:00
Risto Lahtela
8d86a752a9
Update versions.txt 2020-01-14 21:40:56 +02:00
dependabot-preview[bot]
f90079edff Bump HikariCP from 3.4.1 to 3.4.2 in /Plan (#1285)
Bumps [HikariCP](https://github.com/brettwooldridge/HikariCP) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/brettwooldridge/HikariCP/releases)
- [Changelog](https://github.com/brettwooldridge/HikariCP/blob/dev/CHANGES)
- [Commits](https://github.com/brettwooldridge/HikariCP/compare/HikariCP-3.4.1...HikariCP-3.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-12 17:05:50 +02:00
Risto Lahtela
84bd679997
Changed http to https for repositories
https://www.alphabot.com/security/blog/2020/java/Your-Java-builds-might-break-starting-January-13th.html
2020-01-10 12:29:55 +02:00