* Adding back dynamic library support and adding some metrics, velocity first
* Removing guava, using caffiene instead
* Merge cleanup
* Maybe this will get caches working properly now?
* Refactored to be more clean and reliable
* Fixing bungee compile
---------
Co-authored-by: Dawson <dawson@funkemunky.cc>
* Fixing bug where player is not kicked when using proxy on Bukkit servers
* Removing from PlayerLoginEvent and doing PlayerJoinEvent only instead.
---------
Co-authored-by: Dawson <dawson@funkemunky.cc>
* Moving to previous H2 version that was in 1.9.2 that somehow got downgraded
* Reverting back to Java 8 compile target
* removing minimize on shade for Common
* Clearly something here changed something, cause reverting it this way seems to have fixed it
* Cleaning up code here
---------
Co-authored-by: Dawson <dawson@funkemunky.cc>
* Updating velocity API
* Added exception logging and fixed NullPointerException with antivpn plan command in velocity from tab-complete being null. Replaced MySQL with MariaDB driver
* Added exception logging and fixed NullPointerException with antivpn plan command in velocity from tab-complete being null. Replaced MySQL with MariaDB driver.
* Added exception logging and fixed NullPointerException with antivpn plan command in velocity from tab-complete being null. Replaced MySQL with MariaDB driver.
* Fixing kick reason
* Corrected MySQL ssl errors and fixed visual bug with velocity users kicking
* Reverted to mysql driver
---------
Co-authored-by: Dawson <dawson@funkemunky.cc>
* Bump com.h2database:h2 from 2.1.210 to 2.2.220 in /Common
* Merge branch 'master' into dependabot/maven/Common/com.h2database-h2-…
* Merge branch 'master' into dependabot/maven/Common/com.h2database-h2-…
* Updating mysql depends to non-vulnerable
I believe this occurs when the API response is below 50ms, and we attempt to Player#kickPlayer() or run commands on console that attempt to kick the player. The problem is that if this is running before the tick PlayerLoginEvent runs on ends, the player wouldn't be considered "online". Therefore, the player would never be removed from the server even if desired.
I assumed wrongly that the async processing of the query would always end up on the next tick. So now I update the PlayerLoginEvent result to KICK_BANNED no matter if the processing is async or in the same thread stack as the event.