From f271275bfae70935aece69dfb25b3139ce53f46c Mon Sep 17 00:00:00 2001 From: Dawson Date: Wed, 28 May 2025 16:33:29 -0400 Subject: [PATCH] Sponge is loading, other plugins load, fixed some bugs that were introduced, added sponge plugin uploader in maven workflow --- .github/workflows/maven.yml | 7 ++++++- .../dev/brighten/antivpn/bukkit/BukkitListener.java | 4 +++- Common/pom.xml | 2 +- Common/src/main/java/dev/brighten/antivpn/AntiVPN.java | 5 ++++- .../main/java/dev/brighten/antivpn/api/APIPlayer.java | 2 ++ Sponge/pom.xml | 2 +- .../dev/brighten/antivpn/sponge/SpongeListener.java | 10 +++++++++- 7 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index f4dd1cb..ed7bcd3 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -29,5 +29,10 @@ jobs: - name: Upload AntiVPN uses: actions/upload-artifact@v4 with: - name: AntiVPN + name: AntiVPN-Universal path: Universal/target/AntiVPN-*.jar + - name: Upload Sponge plugin + uses: actions/upload-artifact@v4 + with: + name: AntiVPN-Sponge + path: Sponge/target/Sponge-*.jar diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java index fe37786..9c51ef6 100644 --- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java +++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java @@ -62,7 +62,7 @@ public class BukkitListener extends VPNExecutor implements Listener { .orElse(new OfflinePlayer( event.getPlayer().getUniqueId(), event.getPlayer().getName(), - event.getRealAddress() + event.getAddress() )); CheckResult instantResult = player.checkPlayer(result -> { @@ -81,6 +81,8 @@ public class BukkitListener extends VPNExecutor implements Listener { return; } + AntiVPN.getInstance().getExecutor().log(Level.INFO, "%s was kicked from pre-login cache with IP %s", event.getPlayer().getName(), instantResult.response().getIp()); + event.setResult(PlayerLoginEvent.Result.KICK_BANNED); switch (instantResult.resultType()) { case DENIED_COUNTRY -> event.setKickMessage(StringUtil.translateAlternateColorCodes('&', diff --git a/Common/pom.xml b/Common/pom.xml index bed828a..dec5693 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -59,7 +59,7 @@ com.github.benmanes.caffeine - dev.brighten.antivpn.com.github.benmanes.caffeine + dev.brighten.antivpn.shaded.com.github.benmanes.caffeine org.h2 diff --git a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java index 6382ccb..e89821a 100644 --- a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java @@ -47,7 +47,10 @@ import java.util.List; @Relocate(from = "com.my\\" + "sql.jdbc", to = "dev.brighten.antivpn.shaded.com.mysql.jdbc") } ) -@MavenLibrary(groupId = "com.github.ben-manes.caffeine", artifactId = "caffeine", version = "3.1.8") +@MavenLibrary(groupId = "com.\\github\\.ben-manes\\.caffeine", artifactId = "caffeine", version = "3.1.8", + relocations = { + @Relocate(from = "com\\.github\\.benmanes\\.caffeine", to = "dev.brighten.antivpn.shaded.com.github.benmanes.caffeine"), + }) public class AntiVPN { private static AntiVPN INSTANCE; diff --git a/Common/src/main/java/dev/brighten/antivpn/api/APIPlayer.java b/Common/src/main/java/dev/brighten/antivpn/api/APIPlayer.java index 086755a..1c0f2bc 100644 --- a/Common/src/main/java/dev/brighten/antivpn/api/APIPlayer.java +++ b/Common/src/main/java/dev/brighten/antivpn/api/APIPlayer.java @@ -90,6 +90,8 @@ public abstract class APIPlayer { checkResult = new CheckResult(result, ResultType.ALLOWED); } + AntiVPN.getInstance().getExecutor().log(Level.FINE, "Result for " + ip.getHostAddress() + " is " + checkResult.resultType()); + checkResultCache.put(ip.getHostAddress(), checkResult); onKick.accept(checkResult); AntiVPN.getInstance().checked++; diff --git a/Sponge/pom.xml b/Sponge/pom.xml index bb8f79a..075ed54 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -109,7 +109,7 @@ com.github.benmanes.caffeine - dev.brighten.antivpn.com.github.benmanes.caffeine + dev.brighten.antivpn.shaded.com.github.benmanes.caffeine org.h2 diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongeListener.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongeListener.java index d059c0b..47b6664 100644 --- a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongeListener.java +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongeListener.java @@ -17,7 +17,7 @@ import java.util.logging.Level; public class SpongeListener extends VPNExecutor { @Listener(order = Order.EARLY) - public void onJoin(ServerSideConnectionEvent.Auth event) { + public void onJoin(ServerSideConnectionEvent.Login event) { AtomicReference player = new AtomicReference<>(AntiVPN.getInstance().getPlayerExecutor() .getPlayer(event.profile().uuid()) .orElse(new OfflinePlayer( @@ -42,6 +42,8 @@ public class SpongeListener extends VPNExecutor { return; } + AntiVPN.getInstance().getExecutor().log(Level.INFO, "%s was kicked from cache with IP %s", player.get().getName(), instantResult.response().getIp()); + event.setCancelled(true); switch (instantResult.resultType()) { case DENIED_PROXY -> { @@ -64,6 +66,12 @@ public class SpongeListener extends VPNExecutor { } } + @Listener + public void onPlayerDisconnect(ServerSideConnectionEvent.Disconnect event) { + event.profile().ifPresent(profile -> + AntiVPN.getInstance().getPlayerExecutor().unloadPlayer(profile.uuid())); + } + @Override public void registerListeners() { Sponge.eventManager().registerListeners(SpongePlugin.getInstance().getContainer(), this);