diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java index 7d94b55..ae5c12e 100644 --- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java +++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java @@ -1,10 +1,7 @@ package dev.brighten.antivpn.bungee; import dev.brighten.antivpn.AntiVPN; -import dev.brighten.antivpn.api.APIPlayer; -import dev.brighten.antivpn.api.CheckResult; -import dev.brighten.antivpn.api.OfflinePlayer; -import dev.brighten.antivpn.api.VPNExecutor; +import dev.brighten.antivpn.api.*; import dev.brighten.antivpn.utils.MiscUtils; import dev.brighten.antivpn.utils.StringUtil; import dev.brighten.antivpn.utils.Tuple; @@ -79,7 +76,7 @@ public class BungeeListener extends VPNExecutor implements Listener { CheckResult instantResult = player.checkPlayer(result -> { if (!result.resultType().isShouldBlock()) return; AntiVPN.getInstance().getExecutor().getToKick() - .add(new Tuple<>(result, event.getConnection().getUniqueId())); + .add(new Tuple<>(result, player.getUuid())); }); if (!instantResult.resultType().isShouldBlock()) { diff --git a/Common/pom.xml b/Common/pom.xml index 0854ccd..bed828a 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -57,6 +57,10 @@ dev.brighten.antivpn.depends.MavenLibraries + + com.github.benmanes.caffeine + dev.brighten.antivpn.com.github.benmanes.caffeine + org.h2 dev.brighten.antivpn.shaded.org.h2 @@ -159,7 +163,7 @@ com.github.ben-manes.caffeine caffeine 3.1.8 - compile + provided diff --git a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java index 3eb00b2..6382ccb 100644 --- a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java @@ -47,6 +47,7 @@ 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") public class AntiVPN { private static AntiVPN INSTANCE; diff --git a/Common/src/main/java/dev/brighten/antivpn/utils/MiscUtils.java b/Common/src/main/java/dev/brighten/antivpn/utils/MiscUtils.java index 50d7dea..77cde0b 100644 --- a/Common/src/main/java/dev/brighten/antivpn/utils/MiscUtils.java +++ b/Common/src/main/java/dev/brighten/antivpn/utils/MiscUtils.java @@ -73,8 +73,8 @@ public class MiscUtils { JSONObject object = JsonReader .readJsonFromUrl("https://funkemunky.cc/mojang/uuid?name=" + playername); - if(object.has("id")) { - return formatFromMojangUUID(object.getString("uuid")); + if(object.has("uuid")) { + return UUID.fromString(object.getString("uuid")); } } catch (IOException | JSONException e) { AntiVPN.getInstance().getExecutor().logException("Error while looking up UUID for " + playername, e); diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 98b6cc5..7af842c 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -13,8 +13,8 @@ - sponge - https://repo.spongepowered.org/repository/maven-public/ + spongepowered-repo + https://repo.spongepowered.org/maven/ @@ -22,7 +22,7 @@ org.spongepowered spongeapi - 8.1.0 + 11.0.0 provided @@ -31,12 +31,6 @@ 1.9.4-DEV provided - - org.slf4j - slf4j-api - 2.0.17 - compile - @@ -44,4 +38,41 @@ 17 + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + 17 + 17 + -XDignore.symbol.file + + + + org.apache.maven.plugins + maven-shade-plugin + 3.6.0 + + + package + + shade + + + + + + + + + + + src/main/resources + true + + + + \ No newline at end of file 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 4519f61..c996343 100644 --- a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongeListener.java +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongeListener.java @@ -19,10 +19,10 @@ public class SpongeListener extends VPNExecutor { @Listener(order = Order.EARLY) public void onJoin(ServerSideConnectionEvent.Auth event) { AtomicReference player = new AtomicReference<>(AntiVPN.getInstance().getPlayerExecutor() - .getPlayer(event.connection().profile().uuid()) + .getPlayer(event.profile().uuid()) .orElse(new OfflinePlayer( - event.connection().profile().uuid(), - event.connection().profile().name().orElse("Unknown"), + event.profile().uuid(), + event.profile().name().orElse("Unknown"), event.connection().address().getAddress() ))); @@ -66,17 +66,17 @@ public class SpongeListener extends VPNExecutor { @Override public void registerListeners() { - Sponge.eventManager().registerListeners(SpongePlugin.INSTANCE.getPlugin(), this); + Sponge.eventManager().registerListeners(SpongePlugin.getInstance().getContainer(), this); } @Override public void log(Level level, String log, Object... objects) { if (level.equals(Level.SEVERE)) { - SpongePlugin.INSTANCE.getLogger().error(String.format(log, objects)); + SpongePlugin.getInstance().getLogger().error(String.format(log, objects)); } else if (level.equals(Level.WARNING)) { - SpongePlugin.INSTANCE.getLogger().warn(String.format(log, objects)); + SpongePlugin.getInstance().getLogger().warn(String.format(log, objects)); } else { - SpongePlugin.INSTANCE.getLogger().info(String.format(log, objects)); + SpongePlugin.getInstance().getLogger().info(String.format(log, objects)); } } @@ -87,7 +87,7 @@ public class SpongeListener extends VPNExecutor { @Override public void logException(String message, Throwable ex) { - SpongePlugin.INSTANCE.getLogger().error(message, ex); + SpongePlugin.getInstance().getLogger().error(message, ex); } @Override diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java index 3b68391..ae9cbb3 100644 --- a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java @@ -4,49 +4,52 @@ import com.google.inject.Inject; import dev.brighten.antivpn.AntiVPN; import lombok.Getter; import org.spongepowered.api.Server; -import org.spongepowered.api.config.ConfigDir; +import org.apache.logging.log4j.Logger; +import org.spongepowered.api.Sponge; +import org.spongepowered.api.config.ConfigManager; import org.spongepowered.api.event.Listener; -import org.spongepowered.api.event.lifecycle.StartedEngineEvent; -import org.spongepowered.api.event.lifecycle.StoppingEngineEvent; +import org.spongepowered.api.event.lifecycle.*; import org.spongepowered.plugin.PluginContainer; import org.spongepowered.plugin.builtin.jvm.Plugin; import java.nio.file.Path; -import org.slf4j.Logger; @Plugin("kaurivpn") @Getter public class SpongePlugin { - public static SpongePlugin INSTANCE; - //Plugin init - @Inject - private PluginContainer plugin; + private final PluginContainer container; + private final Logger logger; @Inject - private Logger logger; - - @Inject - @ConfigDir(sharedRoot = false) - private Path configDir; + SpongePlugin(final PluginContainer container, final Logger logger) { + this.container = container; + this.logger = logger; + } @Listener - public void onServerStart(final StartedEngineEvent event) { - INSTANCE = this; - - logger.info("Starting AntiVPN services..."); + public void onServerStart(final ConstructPluginEvent event) { //Start AntiVPN + ConfigManager configManager = Sponge.game().configManager(); SpongeListener spongeListener = new SpongeListener(); - AntiVPN.start(spongeListener, new SpongePlayerExecutor(), configDir.toFile()); + var path = configManager.sharedConfig(container).directory(); + + logger.info("Fucking path: " + path); + + AntiVPN.start(spongeListener, new SpongePlayerExecutor(), path.toFile()); } @Listener - public void onServer(final StoppingEngineEvent event) { + public void onServer(final StoppingEngineEvent event) { AntiVPN.getInstance().getExecutor().disablePlugin(); } + public static SpongePlugin getInstance() { + return (SpongePlugin) Sponge.pluginManager().plugin("kaurivpn").get(); + } + } diff --git a/Sponge/src/main/resources/META-INF/sponge_plugins.json b/Sponge/src/main/resources/META-INF/sponge_plugins.json new file mode 100644 index 0000000..be21d3b --- /dev/null +++ b/Sponge/src/main/resources/META-INF/sponge_plugins.json @@ -0,0 +1,29 @@ +{ + "loader": { + "name": "java_plain", + "version": "1.0" + }, + "license": "All-Rights-Reserved", + "plugins": [ + { + "id": "kaurivpn", + "name": "Kauri VPN", + "version": "${version}", + "entrypoint": "dev.brighten.antivpn.sponge.SpongePlugin", + "description": "A simple and fast antivpn plugin.", + "branding": {}, + "links": { + }, + "contributors": [ + ], + "dependencies": [ + { + "id": "spongeapi", + "version": "11.0.0", + "load-order": "after", + "optional": false + } + ] + } + ] +} diff --git a/Universal/pom.xml b/Universal/pom.xml index fe9424e..0706963 100644 --- a/Universal/pom.xml +++ b/Universal/pom.xml @@ -42,12 +42,11 @@ ${project.version} compile - - + @@ -77,6 +76,10 @@ org.bstats dev.brighten.antivpn.shaded.org.bstats + + org.objectweb + dev.brighten.antivpn.shaded.org.objectweb +