Commit Graph

414 Commits

Author SHA1 Message Date
games647 2fdcea47d0 Limit max memory for servers 2022-02-22 10:47:00 +01:00
games647 5d89273dad Use SLF4J logger for int tests 2022-02-12 18:30:38 +01:00
games647 54a8c4c08c Update dependencies 2022-02-12 18:28:55 +01:00
games647 8167afa769 Log server output using logack 2022-02-11 16:02:25 +01:00
games647 6140160a5e Force client optimization for potential faster speed up
-server forces aggressive optimization in Java which reduces startup
speed
2022-02-11 16:01:38 +01:00
games647 9a9a75fbb5 Setup logs into tempfs too for volatile storage 2022-02-11 16:00:38 +01:00
games647 f355bf7ff2 Clean up server configuration 2022-02-11 15:59:38 +01:00
games647 5f13f5ab91 Ignore unimplemented tests 2022-02-11 15:59:08 +01:00
games647 3e57b8baa4 Copy custom server settings for faster ramp up 2022-02-10 22:03:50 +01:00
games647 0f205de1c0 Disable digest for mockserver
Breaks compatibility recommendation
2022-02-10 22:03:09 +01:00
games647 ca7be278e1 Use a fixed digest for test images 2022-02-10 18:30:41 +01:00
games647 f8c2a09014 Set the hosts for Mojang API connections 2022-02-10 18:23:40 +01:00
games647 e0f1cb1729 Prepare test environment using containers 2022-02-10 17:06:01 +01:00
Smart123s 8e6221d846 Fix delayed force login for Floodgate players
Login checks are done by bungee, so Bukkit doesn't have to do anything.
The session is set for them by the plugin messages, however, force login
may be delayed. In that case, the player should be logged in at
the onPlayerJoin event.
However, FloodgateAuthTask was run at onPlayerJoin, even if the player
allready had a valid login session. And FloodgateAuthTask always deffers
force login if bungee is present.
As a result, the Floodgate player will never get logged in, if the force
login was delayed by the plugin message.

Co-authored-by: BOT-Neil <neilbooth125@gmail.com>
2022-02-07 17:30:51 +01:00
Smart123s 7951c4c893 Fix plugin startup without ProtocolLib installed
Referencing `ProtocolLibrary` in FastLoginBukkit (even in an unreachable
code block) causes Bukkit servers to throw a NoClassDefFoundError on
startup.
Fix based on commit 0082cc6536
2022-01-29 10:48:27 +01:00
games647 8a01ddc231 Do not shade the MultiMap class
This class is used by ProtocolLib. Calling it, means we use its signature. With relocating this would also update the method
call signature to `.WrappedGameProfile.getProperties()Lfastlogin/guava/collect/Multimap;`, which obviously not present.
2022-01-20 11:50:32 +01:00
games647 b351338e0b Allow disabling anti bot completely 2022-01-14 14:13:43 +01:00
games647 0e935e3ad0 Fail safe if command is not specified in plugin.yml 2022-01-14 12:53:51 +01:00
games647 52d778afb1 Clean up 2022-01-14 12:52:46 +01:00
games647 aa51e98fe2 Declare nullable variants using jetbrains annotations 2022-01-14 12:16:30 +01:00
games647 a5c7e7371d Try out to minimize unnecessary classes from big dependencies 2022-01-14 12:14:22 +01:00
games647 35b493a708 Typo fixes 2022-01-14 12:12:47 +01:00
games647 4a5516c9f9 Merge pull request #566 from Smart123s/fg-plib-fix
Workaround for Floodgate prefixes with ProtocolLlib
2021-12-23 12:28:15 +01:00
dependabot[bot] 1d7c2aed61 Bump placeholderapi from 2.10.10 to 2.11.0
Bumps placeholderapi from 2.10.10 to 2.11.0.

---
updated-dependencies:
- dependency-name: me.clip:placeholderapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 07:01:45 +00:00
Smart123s 03850ae4f2 Only add Floodgate prefixes if they are needed
Without this patch, Java players would also get a prefix.
2021-12-09 19:40:46 +01:00
Smart123s b92911bf26 Made floodgatePrefixWorkaround configurable 2021-12-09 18:03:29 +01:00
Smart123s 8859ebb454 Manually append Floodgate Prefixes
This can be used as a workaround for #493
This will leave
https://github.com/GeyserMC/Floodgate/blob/821be02bdb179f7d4ba7b0ec79bbc721c28105f5/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataHandler.java
in a limbo state, but it shouldn't have a noticable impact on neither
performance nor stability.
This commit will try append prefixes to every player, even if it's not
needed of if Floodgate isn't installed.
2021-12-09 18:01:58 +01:00
Smart123s 8c33813e45 Update to Geyser 2.0 API 2021-12-06 19:22:54 +01:00
games647 6c47abc76d Update dependencies 2021-12-03 09:46:26 +01:00
games647 9c2068032f Remove duplicate dependency 2021-12-03 09:46:26 +01:00
games647 2110e93bd6 Override slf4j transitive dependency from paper
Fixes #670
2021-12-03 09:46:25 +01:00
games647 7439a95e16 Reduce the amount of necessary dependencies by dropping transitive ones 2021-12-02 14:40:29 +01:00
games647 e1c1da199e Search SL4J JDK provider in our own classpath
Using the previous behavior it would look for the service file and provider
in the server jar. First it requires relocating the service file to our JDK
provider and let the service only be queryable from our plugin jar.

Fixes #668

Search SL4J JDK provider in our own classpath

Using the previous behavior it would look for the service file and provider
in the server jar. First it requires relocating the service file to our JDK
provider and let the service only be queryable from our plugin jar.

Fixes #668
2021-12-02 14:40:26 +01:00
games647 1dd27ff529 Restore 1.8 compatibility by shading guava in Spigot versions 2021-12-01 16:29:37 +01:00
Oldřich Jedlička 15fee92937 Detect enabled Velocity support in server 2021-11-29 13:12:19 +01:00
dependabot[bot] f5a60ca0b3 Bump paperlib from 1.0.6 to 1.0.7
Bumps [paperlib](https://github.com/PaperMC/PaperLib) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/PaperMC/PaperLib/releases)
- [Changelog](https://github.com/PaperMC/PaperLib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PaperMC/PaperLib/compare/1.0.6...v1.0.7)

---
updated-dependencies:
- dependency-name: io.papermc:paperlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-28 12:46:15 +00:00
Smart123s fcd2aa95f0 Use BedrockService in JoinManagement
Since the code only needs to interact with Geyser, if Floodgate is not
installed, and perform similar things with both, it's reasonable, to
merge their code.
This commit breaks premium checking with `auth-type=online` in Geyser
2021-11-28 13:44:57 +01:00
Smart123s f76c7bd62f Create generalized BedrockService class 2021-11-28 13:44:57 +01:00
Smart123s f570474fa3 Detect Geyser connections at packet level
It is possible to use Geyser without Floodgate by configuring Geyser to
use auth-type= 'online' or 'offline'. In that scenario, floodgateService
will be either unavailable or empty.
2021-11-28 13:44:57 +01:00
Smart123s 3ee6cb2ada Create stub GeyserService
The FloodgateService and GeyserService classes are not merged,
because Geyser can work without Floodgate.
Added Geyser as 'softdepends' in plugin.yml and bungee.yml
to make it load before FastLogin.
Also made Floodgate a soft dependency in bungee.yml.
2021-11-28 13:44:56 +01:00
games647 ef6f0fc436 Fix detecting floodgate on plugin name
Floodgate's name is lowercase
Related #630
2021-10-11 16:09:24 +02:00
Krakenied d7e0a4469f Fix #627 - skip Floodgate config validation if there's no Floodgate installed
Fix BungeeManager NPE
2021-10-09 19:52:26 +02:00
games647 28480a0f01 Add floodgate service to Bungee 2021-10-05 15:42:40 +02:00
games647 a3bf875976 Encapsulate floodgate hooks
Related #619
Related #620
2021-10-05 15:35:43 +02:00
Smart123s f39c3a1ea6 Update Floodgate repository 2021-08-20 11:49:54 +02:00
games647 6e0272d92c Fix receiving login packet twice with ProtocolLib
Fixes #578
Commit that introduces the bug:
1f4757669c
2021-07-16 14:24:17 +02:00
games647 758ccb9bf2 Clean up 2021-07-14 16:33:31 +02:00
games647 0515ac193d Extract protocollib method detection 2021-07-14 16:33:18 +02:00
games647 864e551a88 Disable verbose verification output
NameChange fix is resolved
2021-07-14 16:32:32 +02:00
games647 cde045d6fd Only build for main branches to fix duplicate actions with dependabot 2021-06-29 12:55:37 +02:00