Commit Graph

60 Commits

Author SHA1 Message Date
Aurora Lahtela 9e25f2b26c Sanitize and validate more join address variations
- Added Data_gathering.Preserve_invalid_join_addresses to allow overriding this behavior.

Affects issues:
- Fixed #3545
2024-04-27 10:08:18 +03:00
Drex faa911e232
Update to 1.20.5 Fabric by DrexHD (#3424)
* Update to 24w03b
* Update to 1.20.5-rc2
* Bump minecraft dependency
2024-04-20 09:48:33 +03:00
Aurora Lahtela 1fdd3289a6 Move fabric command registration earlier
This prevents situation where Plan disables due to an error but reload command is not available

Affects issues:
- Fixed #3392
2024-01-21 13:44:47 +02:00
Aurora Lahtela 28f3f356cc Use getGameProfile().getName() for player name on Fabric 2024-01-07 11:44:53 +02:00
Jeroen Bollen fa1ec4f4f6
Fabric 1.20.4 (#3366) 2024-01-07 11:39:06 +02:00
Aurora Lahtela 1f485cfbe5 Use semantic version for fabric 2023-10-15 17:19:06 +03:00
Aurora Lahtela 5a2bdaf6ba
2360/plugin versions (#3249)
* Add methods to gather plugin versions from servers
* Gathering and storage for plugin version history
* Test plugin gathering
* Test plugin metadata storage
* /v1/pluginHistory endpoint
* Plugin history tab
* Plugin history to performance tab
* Possibly fix ConfigChange.MovedValue being applied all the time
* Updated locale files
* Export pluginHistory for server page
* Add plugin history to network page
* Access control and improvements
* Remove pluginHistory from export since it now requires auth
* Fix access visibility tests
* Fix VelocitySensor during test

Affects issues:
- Close #2360
2023-10-07 08:39:00 +03:00
Antti Koponen 366faaba45
Fabric 1.20.2 by Kopo (#3217)
* Upgrade Gradle to 8.3

* Fabric 1.20.2

* Fix some Gradle warnings
2023-09-22 16:37:31 +03:00
dependabot[bot] e470d63a17
Bump me.lucko:fabric-permissions-api in /Plan (#3134)
Bumps me.lucko:fabric-permissions-api from 0.2-SNAPSHOT to 0.3-SNAPSHOT.

---
updated-dependencies:
- dependency-name: me.lucko:fabric-permissions-api
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-30 08:49:39 +03:00
Aurora Lahtela a957a65d54 Update AFK status on server shutdown
Affects issues:
- Fixed #3099
2023-07-08 09:31:41 +03:00
Aurora Lahtela 2bab8f7744 Define fabric refmap json file
This prevents conflicts with other plugins that use mixins and define default refmap file.

Affects issues:
- Fixed #3106
2023-07-08 09:19:59 +03:00
Aurora Lahtela 4b33026a5f Add support for netty based socket addresses to fabric
Affects issues:
- Possibly fixed #3065
2023-06-24 09:10:46 +03:00
Drex bc2b79654a
Update fabric to 1.20 (#3047)
* update: 23w17a
* update: 1.20-pre2
* update: 1.20-rc1
2023-06-11 14:40:19 +03:00
Aurora Lahtela b2d78bb491 Add support for dynamic DNS in IP Allowlist
Affects issues:
- Close #1502
2023-05-06 15:54:17 +03:00
Aurora Lahtela cec82d5f5f Prevent missing method crashing fabric
Affects issues:
- #2991
2023-04-27 15:32:40 +03:00
Antti Koponen 3f8682b11a
Update fabric networking in fabric.mod.json (#2970) 2023-04-12 07:04:49 +03:00
Antti Koponen 64e2655466
Fabric 1.19.4 compatibility (#2944)
* Fabric 1.19.4 compatibility

- Upgraded to loom 1.1-SNAPSHOT
- Updated mappings & fixed injection targets
- Enabled ClientToServerHandshakePacketMixin (was missing from mixins JSON)
- Removed mixin for LocalServerHandshakeNetworkHandler, as that only handles local connections (client <-> its integrated server)
- Removed sunsetted velocitypowered.com repository

* Fix GameModeChangeListener not firing & add redundancy for not registering listeners twice

* Update Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/listeners/fabric/DeathEventListener.java

---------

Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-03-26 14:51:25 +03:00
Aurora Lahtela dda7199a1a Fix more sonar smells 2023-01-20 22:54:54 +02:00
Aurora Lahtela 52a80622ce Fix sonar smells in fabric module 2023-01-20 22:17:40 +02:00
Aurora Lahtela ce41dd67dc Update fabric to 1.19.3 2022-12-08 16:31:52 +02:00
Drex 143c64308f
update: Fabric 1.19.3 by DrexHD (#2764)
* update: 22w42a

* fix: Backwards compatibility

* change: Don't crash if fabric-api isn't present

Plan can run without the entire fabric api mod being present. It only needs the modules defined in fabric.mod.json!

* update: 22w42a

* fix: Backwards compatibility

* change: Don't crash if fabric-api isn't present

Plan can run without the entire fabric api mod being present. It only needs the modules defined in fabric.mod.json!

* update: 1.19.3-rc1
2022-12-03 20:07:57 +02:00
Aurora Lahtela e3bea9ee77 Add online player names to player tab completion
Affects issues:
- Close #2216
2022-11-22 13:25:12 +02:00
Aurora Lahtela fd625b5002 Remove extra bits after \u0000 in join addresses
Affects issues:
- Fixed #2710
2022-11-08 16:38:09 +02:00
Henri Schubin c49276369f
Component API by Vankka (#2665)
Adds a new Component API that allows converting between color code representations in Strings
2022-10-16 13:21:49 +03:00
Aurora Lahtela cbc880c1d3 Improve database error messages
- Don't log "database is closed" when query tries to execute after database close
- Log better error help when mysql fails to connect

Affects issues:
- Fixed #2499
2022-09-02 18:49:36 +03:00
Aurora Lahtela 7dce52245f Remove some uses of PlanPlugin#getDataFolder (deprecated) 2022-08-31 12:48:19 +03:00
Aurora Lahtela 3eff46523d Test and fix user move and combination transactions 2022-08-27 15:20:23 +03:00
Aurora Lahtela 7b41165af5 Add /plan db migrate_to_online_uuids command 2022-08-21 12:19:52 +03:00
Aurora Lahtela 79c4c8d667 Relocate slf4j on Fabric
Previously broke things because of missing mergeServiceFiles() call
2022-08-17 13:44:10 +03:00
Aurora Lahtela 2527c37d61 Fixed ALPN not being available for Fabric
- Added mergeServiceFiles() to shadow configuration on fabric

Affects issues:
- Fixed #2517
2022-08-17 13:23:59 +03:00
Aurora Lahtela b646e18c68
Fix fabric join address gathering (#2546)
- Refactored player online listeners to move common. often changed logic to common package
- Changed method fabric uses to get join address to use the client handshake packet which has the address
- Added command `/plan db removejoinaddresses {server}` to allow removing invalid join address data
- Changed build pipeline to always build jars even if tests fail
- Disabled one flaky test

Affects issues:
- Closed #817
- Fixed  #2526
2022-08-14 20:35:32 +03:00
Drex 053fe2528b
Update fabric to 1.19.1 (#2519) 2022-08-01 18:11:43 +03:00
Aurora Lahtela 42d2d8028e Exclude extra stuff from fabric jar 2022-07-15 08:58:21 +03:00
Aurora Lahtela 37f11e3269 Remove PlanSystem#getErrorLogger
This code was improper use of dagger for dependency injection,
and could be fixed by introducing new method to Component classes
that gives the initialized ErrorLogger directly.
2022-07-15 08:34:18 +03:00
Aurora Lahtela b0be4f296d Use plugin classloader for thread context when initializing system
This allows ServiceLoader to find slf4j-nop provider for Jetty
preventing SLF4J "No provider" error

Affects issues:
- Fixed #2438
2022-07-15 08:21:23 +03:00
Aurora Lahtela 8f239b010c
Add Swagger & Swagger UI (#2470)
* Adds swagger dependencies and annotations for json endpoints for documentation
* Add swagger ui to react project
* Access control to swagger endpoints
* Include swagger.json in jars using custom configuration

Also:
* Reworked project shadow configurations to avoid shadowing shadow versions of modules

Why: Extra dependencies were being included when using shadow scope

What:
- modules no longer depend on shadow configurations,
  which speeds up IDEA indexing after build considerably
  (No need to index *-all.jars)
- 'shadow' scope is now used for artifacts that need to be included
- 'shadow' scope is also 'api' so that modules that depend on common
  can import the libraries. This may cause issues in projects
  depending on Plan so this may need to be reconsidered
- Relocations and exclusions were moved to plugin module
  org.slf4j is now included in 2 locations which may cause issues.
  Needs testing with servers
- Found out that all Extension dependencies include junit as compile
  scope which caused it to be included.

Affects issues:
- Close #1890
2022-07-13 21:21:20 +03:00
Rsl1122 aa67794881 Remove unnecessary files from jar and relocate Jetty 2022-07-03 10:54:01 +03:00
Aurora Lahtela d34172412c Fix join address gathering
Affects issues:
- Fixed #2413
2022-06-11 19:02:36 +03:00
Antti Koponen 4196141db1
Fixes for Fabric 1.19 by Kopo (#2419)
* Gradle 7.4.2
* Build changes for MC 1.19

- Updated loom to minor version 0.12 & moved to root project
- Updated mappings, command API, fabric API & loader version
- Moved Selenium to common module because of a conflict with loom's dependency resolution

* Add remap folder to .gitignore
* Fix version token replacement
* Update to Minecraft 1.19
* Don't forget the pipelines

Affects issues:
- Fixed #2417
2022-06-10 16:21:53 +03:00
Aurora Lahtela 26f76d9540 Implemented average players to Playerbase as Numbers
Affects issues:
- Close #1796
2022-05-27 19:15:33 +03:00
Aurora Lahtela 52b8afe6cb Store join addresses separately and link to plan_sessions table for time data.
Affects issues:
- #2362
2022-05-20 19:32:00 +03:00
Aurora Lahtela 6fa552ca5e Register plan_user row if missing when required
- PingStoreTransaction
- GeoInfoStoreTransaction
- SessionEndTransaction

Affects issues:
- Fixed #2361
- Fixed #2343
2022-05-07 10:40:50 +03:00
Aurora Lahtela e6f3377bc2 Filter fabric player move events based on previous location
Affects issues:
- Fixed #2324
2022-04-15 12:46:14 +03:00
Aurora Lahtela 69c54fb5cb Fix some issues with data registering for new users 2022-04-11 19:08:05 +03:00
Aurora Lahtela 47e74f5ad5 Use ConcurrentHashMap for ignore afk permission checks
Affects issues:
- Fixed #2289
2022-02-28 19:23:59 +02:00
Risto Lahtela 1bffefe931 Fix fabric command issues:
- Made only players support chat events
- Added hashcode and equals needed for storing in cache (Confirmation uses CMDSender as key)
- Hacky fix for running tasks when plugin is disabled

Affects issues:
- Fixed #2183
2022-01-09 13:29:47 +02:00
Risto Lahtela a7478645bd Reduce the amount of tasks used for upkeep
- Ping gathering now uses a map of timestamps
  - Removes a task that waited for ping data to be reliable (one task / join)
- Cookie expiration now uses a map of timestamps
  - Removes a task that waited for cookie to expire (one task / login cookie)

Affects issues:
- Possibly fixed #1984
2022-01-06 15:43:48 +02:00
Antti Koponen f096d456c6
Properly log fabric deaths where killer is null (#2184)
Affects issues:
- Fixed #2182
2021-12-03 15:47:34 +02:00
Henri S efd3b75a29
Database Driver downloading (#2144)
Affects issues:
- Fixed #1944
2021-10-31 13:16:47 +02:00
Risto Lahtela fb998fdc90 Changed mysql and sqlite to use implementation instead of shadow
this is to exclude things like google/protobuf folder properly
The sql drivers are still included
2021-10-30 10:07:06 +03:00