* Forcing BukkitPlayer#kickPlayer to always run within a main thread context using BukkitRunnable. Bumping version to 1.10.1
* Fixing async kick error, adding condition that allows players to be whitelisted even while they are offline (assuming this is not a cracked server).
* Updating gradle piplines and files
* correcting startup bug as a result of a packaging issue
* Fixing asynchronous run command
* Adds a regression test to ensure this doesnt happen again
* Using built in pipeline
* Added testing for databases, and fixed some potential database bugs
* Fixing MySQL issues
* Adding central test suite
* Updating test workflow to build without tests and one with tests
* Gradle project refactor
* Updating workflows for github
* Attempting to fix workflows
* Fixing maven central proxy
* Fixing missing dependency in velocity
* Fixing build
* Getting rid of universal submodule
* Updating workflows to handle new build structure, removing maven workflows
* Fixing permissions issues caused by gradle files being handled on Windows
* Revert "Fixing permissions issues caused by gradle files being handled on Windows"
This reverts commit 3e4d8be955.
* replacing instances of gradlew
* Adding gradlew wrapper
* Attempting to fix gradle issues
* Attempting to fix gradle issues
* Adding back ssl args
* Using built in pipeline
* 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>
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.
- Fixed H2 database error on index creation when loading plugin by using dynamic library downloader/loader from Lucko's Helper.
- Shrunk jar file size extensively so it can be uploaded to Spigot directly.
- Updated h2database driver to 2.1.214 to patch vulnerability
- Updated mysql database driver to 8.0.30 to patch vulnerability
- Updated MongoDB java driver to 3.12.11.