Commit Graph

1744 Commits

Author SHA1 Message Date
Aurora Lahtela
24a8c75b67 Add support for configuring the plugin using environment variables.
Examples:
- Plugin.ServerName -> PLAN_PLUGIN_SERVERNAME
- Database.MySQL.Password -> PLAN_DATABASE_MYSQL_PASSWORD

Affects issues:
- Close #1353
- #1991
2024-04-21 20:35:41 +03:00
Aurora Lahtela
74ae2dcf40 Fix server allowlist bounces not being exported 2024-04-07 11:18:38 +03:00
Aurora Lahtela
f40e1498c1
3268/redesign join address visualization (#3558)
- Join address pie removed
- Join address group mechanism added
  - User can select multiple addresses for each group
  - User can rename each group to their liking
  - The groups are stored in preferences so that user doesn't need to add them back every time
- Use the join address group mechanism for time series of Join Addresses
- Use the join address group mechanism for Player Retention
- Small improvement to retention graph: Show multiple labels
- Small improvement to site clock: Can now hover to show actual date

Affected issues:
- Close #3268
2024-04-07 11:13:18 +03:00
Aurora Lahtela
8c36f318c7 Prevent duplicate key exception from being thrown entirely
Affects issues:
- Fixed #3543
2024-03-30 10:11:15 +02:00
Aurora Lahtela
49269d3aab Attempt to fix duplicate key issue in UpdateWebPermissionsPatch
Affects issues:
- #3543
2024-03-30 09:48:19 +02:00
Aurora Lahtela
6d9494d680
Add mcmdev as contributor
For this contribution https://github.com/plan-player-analytics/Extension-LibertyBans/pull/9
2024-03-21 21:28:17 +02:00
Aurora Lahtela
4fb67d7ba7 Update French Locale (FR) by Sniper_TVmc 2024-03-14 20:44:50 +02:00
Aurora Lahtela
20b8ab9baa Add 'Edit Query' button to Query Results
This allows easier editing of existing query results
2024-03-14 20:17:08 +02:00
Aurora Lahtela
7463d4e440 Fix exception related to CONCAT on SQLite in Extension boolean storage
Affects issues:
- Fixed #3514
2024-03-11 20:52:41 +02:00
Aurora Lahtela
9fa1a94301 Fix join address not appearing in /plan ingame
Affects issues:
- Fixed #3513
2024-03-11 20:30:31 +02:00
Aurora Lahtela
8116063e62
Whitelist bounce gathering (#3511)
* Store bounced whitelist logins

* Add allowlist bounce endpoint

* Restore locale file indent from master branch

* Add UI for allowlist

* Update locale

* Fix sonar detected bug and implement database tests

Affects issues:
- Close #2233
2024-03-10 10:25:42 +02:00
Aurora Lahtela
7299e10064 Fix InstalledPluginGatheringTask running on server thread 2024-03-09 21:15:43 +02:00
Aurora Lahtela
de9f9ec5b4
Sonar fixes (#3510)
* Remove deprecated code

- RemoveUnsatisfiedConditionalPlayerResultsTransaction.java
- RemoveUnsatisfiedConditionalServerResultsTransaction.java

* Fix apache compress deprecations

- Use org.apache.commons.io.IOUtils instead of org.apache.commons.compress.utils.IOUtils
- Use TarArchiveInputStream#getNextEntry instead of getNextTarEntry

* Rename variable in BukkitPingCounter

* Extract ApiServices from PlanSystem
2024-03-09 14:43:41 +02:00
Aurora Lahtela
670ef2aff3 Fix exception when storing Extension boolean values with MySQL
Query was using reserved keyword 'stored' as a table alias

Changed it to use 'indb' as the alias

Affects issues:
- Fixed #3508
2024-03-09 10:51:53 +02:00
Aurora Lahtela
9c43287f60 Add Join Address to /plan ingame and placeholders
Adds a %plan_player_join_address% placeholder

Affects issues:
- Close #3463
2024-03-09 10:44:33 +02:00
Aurora Lahtela
70e3f394ba Change player ping graph data format
HighCharts error 12 was occurring due to too many data points

This commit changes player ping graph data to be served in format expected by turbo-mode so that it renders.

Affects issues:
- Fixed #3498
2024-03-05 20:10:20 +02:00
Aurora Lahtela
701866cc6a Don't try to delete conditional providers if there's nothing to delete 2024-03-02 09:14:27 +02:00
Aurora Lahtela
7368eccbbd Optimize unsatisfied extension conditional value cleanup
Extensions support @Conditional value where a boolean provider determines if other values should exist.
Unsatisfied values were being removed during database cleanup task.
The cleanup transaction was very slow and could hang the server if it was performed near shutdown.

The cleanup is now performed on boolean value change (individual value for one player)
instead of with large cleanup transaction (all values and all players).

Affects issues:
- #3436
2024-03-02 08:53:38 +02:00
Aurora Lahtela
6ed23f0c0b Download GeoLite2 Country database from playeranalytics.net
Affects issues:
- Fixed #3452
2024-02-28 11:47:16 +02:00
Aurora Lahtela
4042980379 Fix build issue 2024-02-28 10:10:35 +02:00
Aurora Lahtela
092533d0b7 Change order of guards to allow IP blocklisted requests to be rate-limited 2024-02-28 10:09:21 +02:00
Aurora Lahtela
ab94ab9125 Rate limit against simple DDoS
Affects issues:
- Close #1846
- Close #3486
2024-02-28 10:02:26 +02:00
Aurora Lahtela
b50fa10e12 Reduce DDoS impact of access log transactions
Made Plan skip access logging if transaction queue is larger than 500 transactions
Reduced amount of objects held by access log transaction by serializing request properties to objects before passing to transaction.

Affects issues:
- #3486
2024-02-27 10:11:45 +02:00
Aurora Lahtela
b867bcebdb Don't save sessions on server shutdown if database already closed
Affects issues:
- #3436
2024-02-17 09:19:38 +02:00
Aurora Lahtela
2daf3943b7 Make call-site for SQLite JVM wait more accurate
Affects issues:
- #3436
2024-02-17 09:06:45 +02:00
Aurora Lahtela
e041e193fc Close transaction queue after connection wait on SQLite
Affects issues:
- #3436
2024-02-11 15:47:39 +02:00
Aurora Lahtela
bf3bdb599d Log connection waiting sites without dev mode 2024-02-04 10:05:48 +02:00
Aurora Lahtela
5ddbd52d37 Log connection holding call sites in dev-mode 2024-02-03 10:17:31 +02:00
Aurora Lahtela
4615c6b6b0 Optimize unsatisfied condition removal for players with user_id join
The query was joining based on UUID which can be slow since it's a string.
2024-02-03 09:13:00 +02:00
甜力怕
bda96726f8
Update locale_CN.yml by liuzhen932 (#3437) 2024-01-28 09:05:07 +02:00
Aurora Lahtela
a8decff8e8 Make Ping Table use DataTablesTable
Also fixed issue where server ping table never loaded
2024-01-27 21:02:04 +02:00
Aurora Lahtela
3ad5d577d4 Make Query view affect ping data retrieved
All ping data was being used to create average.

This allows comparing ping over time
2024-01-27 14:01:14 +02:00
Aurora Lahtela
7494902e46 Add regular_players and network_regular_players placeholders
Affects issues:
- Close #3425
2024-01-27 13:38:06 +02:00
Aurora Lahtela
01ce503c77 Add network session placeholders
Affects issues:
- Close #2267
2024-01-27 13:35:03 +02:00
Aurora Lahtela
8356a0d52e Test and fix top_ placeholders
Affects issues:
- Fixed #3369
2024-01-21 20:08:46 +02:00
Aurora Lahtela
c8d0cc91b6 Fixed react bundle getting exported when export is disabled
Caused by missing checks before react export.

Affects issues:
- #3384
2024-01-21 19:33:24 +02:00
Aurora Lahtela
ae85f39871 Stop JSON cache mismatch when UUID is missing
The check for {identifier}- meant that lookup for "PLAYERS_ONLINE-"
would also match "PLAYERS_ONLINE-{uuid}-" since start is the same

Fixed this by changing identifiers to PLAYERS_ONLINE_{uuid}-{timestamp}

Affects issues:
- Fixed #3404
2024-01-21 19:21:41 +02:00
Aurora Lahtela
34a731b70a Add CSV export to all DataTables
Affects issues:
- Close #3413
2024-01-21 10:02:39 +02:00
Aurora Lahtela
8e94d26ff3 Format Server/Network Overview values in the frontend 2024-01-20 11:34:20 +02:00
Jeroen Bollen
fa1ec4f4f6
Fabric 1.20.4 (#3366) 2024-01-07 11:39:06 +02:00
Aurora Lahtela
bc4aef8b2b Add some missing javadocs to not generate warnings 2024-01-06 18:01:50 +02:00
Aurora Lahtela
bc424f062f
3236/vite migration (#3354)
* Migrate to Vite
* Remove asset-manifest.json which vite doesn't generate
* Fix tree-shaking removing Export URL if-blocks from services
* Implement address correction for the vite bundle
* Fixed issue with single proxy online graph 403 without page.server.overview.players.online.graph

Affects issues:
- Close #3236
2023-12-10 09:29:01 +02:00
Aurora Lahtela
012b61c21d Reorganize some packages
- webserver.resolver.json
- database.sql.tables
- database.transactions
2023-10-21 19:19:08 +03:00
Aurora Lahtela
3d1c0f8d64 Make sure /v1/query checks access permissions for using filters. 2023-10-21 10:57:48 +03:00
Aurora Lahtela
c032009144 Add possibility of clicking geolocation map to Query players from there 2023-10-18 19:12:36 +03:00
Aurora Lahtela
9c9d029268 Add Ping to Players table
Affects issues:
- Close #2593
2023-10-18 18:12:12 +03:00
Aurora Lahtela
9c9058eda9 Add API to tell Plan what permissions an endpoint uses. 2023-10-18 17:28:23 +03:00
Aurora Lahtela
394c47ba6f Add %plan_player_geolocation% placeholder
Affects issues:
- Close #3269
2023-10-17 18:46:43 +03:00
Aurora Lahtela
dae9ebe362 Various fixes to tables
- Fixed errors related to how sortBy changes when column visibility is toggled.
- Fixed player page links in extension tables
- All Extension tables are now colored DataTables instead of being different based on row count.
2023-10-15 18:16:23 +03:00
Aurora Lahtela
b076308ec3 Add a 'Click and Drag' text to calendar to highlight new functionality 2023-10-15 17:31:39 +03:00