diff --git a/Assembly/pom.xml b/Assembly/pom.xml index 9e3fa66..a118190 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.3 + 1.9.4-DEV 4.0.0 @@ -65,6 +65,12 @@ ${version} compile + + org.xerial + sqlite-jdbc + 3.41.2.2 + compile + dev.brighten.antivpn Bukkit diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index 15cd426..0cc59d1 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.3 + 1.9.4-DEV 4.0.0 @@ -78,7 +78,7 @@ dev.brighten.antivpn Common - 1.9.3 + 1.9.4-DEV provided 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 0f2f730..0cc5093 100644 --- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java +++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java @@ -86,6 +86,7 @@ public class BukkitListener extends VPNExecutor implements Listener { event.setResult(PlayerLoginEvent.Result.KICK_BANNED); event.setKickMessage(org.bukkit.ChatColor.translateAlternateColorCodes('&', AntiVPN.getInstance().getVpnConfig().getKickString())); + proxyKick(event.getPlayer(), cached); return; } } @@ -123,49 +124,21 @@ public class BukkitListener extends VPNExecutor implements Listener { && AntiVPN.getInstance().getVpnConfig().countryList() .contains(result.getCountryCode()) != AntiVPN.getInstance().getVpnConfig().whitelistCountries()) { - final String kickReason = AntiVPN.getInstance().getVpnConfig() - .countryVanillaKickReason(); + // Start "online" fix // In case the response was so fast from API the player wouldn't be "online". event.setResult(PlayerLoginEvent.Result.KICK_BANNED); event.setKickMessage(ChatColor .translateAlternateColorCodes('&', - kickReason + AntiVPN.getInstance().getVpnConfig().countryVanillaKickReason() .replace("%player%", event.getPlayer().getName()) .replace("%country%", result.getCountryName()) .replace("%code%", result.getCountryCode()))); // End "online" fix - //Using our built in kicking system if no commands are configured - if(AntiVPN.getInstance().getVpnConfig().countryKickCommands().isEmpty()) { - // Kicking our player - new BukkitRunnable() { - public void run() { - event.getPlayer().kickPlayer(ChatColor - .translateAlternateColorCodes('&', - kickReason - .replace("%player%", event.getPlayer().getName()) - .replace("%country%", result.getCountryName()) - .replace("%code%", result.getCountryCode()))); - } - }.runTask(BukkitPlugin.pluginInstance); - } else { - final String playerName = event.getPlayer().getName(); + countryKick(player, result); - BukkitPlugin.pluginInstance.getPlayerCommandRunner() - .addAction(event.getPlayer().getUniqueId(), () -> { - for (String cmd : AntiVPN.getInstance().getVpnConfig().countryKickCommands()) { - final String formattedCommand = ChatColor.translateAlternateColorCodes('&', - cmd.replace("%player%", playerName) - .replace("%country%", result.getCountryName()) - .replace("%code%", result.getCountryCode())); - - // Runs our command from console - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), formattedCommand); - } - }); - } } else if(result.isProxy()) { // Start "online" fix @@ -179,41 +152,7 @@ public class BukkitListener extends VPNExecutor implements Listener { .replace("%code%", result.getCountryCode()))); // End "online" fix - if(AntiVPN.getInstance().getVpnConfig().kickPlayersOnDetect()) { - new BukkitRunnable() { - public void run() { - player.kickPlayer(org.bukkit.ChatColor.translateAlternateColorCodes('&', - AntiVPN.getInstance().getVpnConfig().getKickString())); - } - }.runTask(BukkitPlugin.pluginInstance); - } - log(Level.INFO, event.getPlayer().getName() - + " joined on a VPN/Proxy (" + result.getMethod() + ")"); - - //Ensuring the user wishes to alert to staff - if(AntiVPN.getInstance().getVpnConfig().alertToStaff()) - AntiVPN.getInstance().getPlayerExecutor().getOnlinePlayers().stream() - .filter(APIPlayer::isAlertsEnabled) - .forEach(pl -> pl.sendMessage(AntiVPN.getInstance().getVpnConfig().alertMessage() - .replace("%player%", event.getPlayer().getName()) - .replace("%reason%", result.getMethod()) - .replace("%country%", result.getCountryName()) - .replace("%city%", result.getCity()))); - - //In case the user wants to run their own commands instead of using the built in kicking - if(AntiVPN.getInstance().getVpnConfig().runCommands()) { - String playerName = event.getPlayer().getName(); - BukkitPlugin.pluginInstance.getPlayerCommandRunner() - .addAction(event.getPlayer().getUniqueId(), () -> { - for (String command : AntiVPN.getInstance().getVpnConfig().commands()) { - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), - ChatColor.translateAlternateColorCodes('&', - command.replace("%player%", - playerName))); - } - }); - } - AntiVPN.getInstance().detections++; + proxyKick(player, result); } } else { log(Level.WARNING, @@ -224,6 +163,78 @@ public class BukkitListener extends VPNExecutor implements Listener { }); } + private void countryKick(Player player, VPNResponse result) { + final String kickReason = AntiVPN.getInstance().getVpnConfig() + .countryVanillaKickReason(); + //Using our built in kicking system if no commands are configured + if(AntiVPN.getInstance().getVpnConfig().countryKickCommands().isEmpty()) { + // Kicking our player + new BukkitRunnable() { + public void run() { + player.kickPlayer(ChatColor + .translateAlternateColorCodes('&', + kickReason + .replace("%player%", player.getName()) + .replace("%country%", result.getCountryName()) + .replace("%code%", result.getCountryCode()))); + } + }.runTask(BukkitPlugin.pluginInstance); + } else { + final String playerName = player.getName(); + + BukkitPlugin.pluginInstance.getPlayerCommandRunner() + .addAction(player.getUniqueId(), () -> { + for (String cmd : AntiVPN.getInstance().getVpnConfig().countryKickCommands()) { + final String formattedCommand = ChatColor.translateAlternateColorCodes('&', + cmd.replace("%player%", playerName) + .replace("%country%", result.getCountryName()) + .replace("%code%", result.getCountryCode())); + + // Runs our command from console + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), formattedCommand); + } + }); + } + } + + private void proxyKick(Player player, VPNResponse result) { + if(AntiVPN.getInstance().getVpnConfig().kickPlayersOnDetect()) { + new BukkitRunnable() { + public void run() { + player.kickPlayer(org.bukkit.ChatColor.translateAlternateColorCodes('&', + AntiVPN.getInstance().getVpnConfig().getKickString())); + } + }.runTask(BukkitPlugin.pluginInstance); + } + log(Level.INFO, player.getPlayer().getName() + + " joined on a VPN/Proxy (" + result.getMethod() + ")"); + + //Ensuring the user wishes to alert to staff + if(AntiVPN.getInstance().getVpnConfig().alertToStaff()) + AntiVPN.getInstance().getPlayerExecutor().getOnlinePlayers().stream() + .filter(APIPlayer::isAlertsEnabled) + .forEach(pl -> pl.sendMessage(AntiVPN.getInstance().getVpnConfig().alertMessage() + .replace("%player%", player.getName()) + .replace("%reason%", result.getMethod()) + .replace("%country%", result.getCountryName()) + .replace("%city%", result.getCity()))); + + //In case the user wants to run their own commands instead of using the built in kicking + if(AntiVPN.getInstance().getVpnConfig().runCommands()) { + String playerName = player.getName(); + BukkitPlugin.pluginInstance.getPlayerCommandRunner() + .addAction(player.getUniqueId(), () -> { + for (String command : AntiVPN.getInstance().getVpnConfig().commands()) { + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), + ChatColor.translateAlternateColorCodes('&', + command.replace("%player%", + playerName))); + } + }); + } + AntiVPN.getInstance().detections++; + } + @EventHandler public void onQuit(PlayerQuitEvent event) { AntiVPN.getInstance().getPlayerExecutor().unloadPlayer(event.getPlayer().getUniqueId()); diff --git a/Bungee/pom.xml b/Bungee/pom.xml index 74b9836..06e4cff 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.3 + 1.9.4-DEV 4.0.0 @@ -71,7 +71,7 @@ dev.brighten.antivpn Common - 1.9.3 + 1.9.4-DEV provided diff --git a/Common/pom.xml b/Common/pom.xml index 3c8ee46..82f313f 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.3 + 1.9.4-DEV 4.0.0 @@ -86,6 +86,8 @@ com.mysql mysql-connector-j 9.1.0 + jar + compile com.h2database diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 51be0b0..de32988 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.3 + 1.9.4-DEV 4.0.0 @@ -28,7 +28,7 @@ dev.brighten.antivpn Common - 1.9.3 + 1.9.4-DEV provided diff --git a/Velocity/pom.xml b/Velocity/pom.xml index 93d2f38..045296f 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.3 + 1.9.4-DEV 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.9.3 + 1.9.4-DEV provided diff --git a/pom.xml b/pom.xml index eacb2aa..1bab415 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.9.3 + 1.9.4-DEV Common