diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml
index 2e4a037..f90579e 100644
--- a/Assembly/dependency-reduced-pom.xml
+++ b/Assembly/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
Assembly
diff --git a/Assembly/pom.xml b/Assembly/pom.xml
index 6d7684b..5bea941 100644
--- a/Assembly/pom.xml
+++ b/Assembly/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml
index 469a270..fb8d50e 100644
--- a/Bukkit/dependency-reduced-pom.xml
+++ b/Bukkit/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
Bukkit
@@ -56,7 +56,7 @@
dev.brighten.antivpn
Common
- 1.8.2
+ 1.8.2.1
provided
diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml
index 1a5a348..81bc455 100644
--- a/Bukkit/pom.xml
+++ b/Bukkit/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
@@ -69,7 +69,7 @@
dev.brighten.antivpn
Common
- 1.8.2
+ 1.8.2.1
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 914201a..ae9adc1 100644
--- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java
+++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java
@@ -68,7 +68,6 @@ public class BukkitListener extends VPNExecutor implements Listener {
@EventHandler
public void onListener(final PlayerLoginEvent event) {
//If they're exempt, don't check.
- System.out.println(event.getAddress().getHostAddress() + ";" + event.getPlayer().getUniqueId() + ";" + event.getPlayer().getName());
if(event.getPlayer().hasPermission("antivpn.bypass") //Has bypass permission
|| AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getUniqueId()) //Is exempt
//Or has a name that starts with a certain prefix. This is for Bedrock exempting.
diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml
index d0084f0..4bca8ed 100644
--- a/Bungee/dependency-reduced-pom.xml
+++ b/Bungee/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
Bungee
@@ -50,7 +50,7 @@
dev.brighten.antivpn
Common
- 1.8.2
+ 1.8.2.1
provided
diff --git a/Bungee/pom.xml b/Bungee/pom.xml
index 21fb7ed..6fc38f8 100644
--- a/Bungee/pom.xml
+++ b/Bungee/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
@@ -63,7 +63,7 @@
dev.brighten.antivpn
Common
- 1.8.2
+ 1.8.2.1
provided
diff --git a/Common/pom.xml b/Common/pom.xml
index 9548534..8214366 100644
--- a/Common/pom.xml
+++ b/Common/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
diff --git a/Common/src/main/java/dev/brighten/antivpn/database/sql/utils/MySQL.java b/Common/src/main/java/dev/brighten/antivpn/database/sql/utils/MySQL.java
index fbf0b01..398453c 100644
--- a/Common/src/main/java/dev/brighten/antivpn/database/sql/utils/MySQL.java
+++ b/Common/src/main/java/dev/brighten/antivpn/database/sql/utils/MySQL.java
@@ -1,11 +1,15 @@
package dev.brighten.antivpn.database.sql.utils;
import dev.brighten.antivpn.AntiVPN;
+import org.h2.jdbc.JdbcSQLNonTransientConnectionException;
import java.io.File;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
+import java.util.Properties;
public class MySQL {
private static Connection conn;
@@ -36,13 +40,16 @@ public class MySQL {
}
}
+ private static boolean attemptedTwice = false;
public static void initH2() {
- File dataFolder = new File(AntiVPN.getInstance().getPluginFolder(), "databases" + File.separator + "database");
+ File dataFolder = new File(AntiVPN.getInstance().getPluginFolder(), "databases");
+ File databaseFile = new File(dataFolder, "database");
try {
- Class.forName("org.h2.Driver");
- conn = new NonClosableConnection(DriverManager.getConnection ("jdbc:h2:file:" +
- dataFolder.getAbsolutePath(),
- AntiVPN.getInstance().getVpnConfig().getUsername(),AntiVPN.getInstance().getVpnConfig().getPassword()));
+ Constructor jdbcConnection = Class.forName("org.h2.jdbc.JdbcConnection")
+ .getConstructor(String.class, Properties.class, String.class, Object.class, boolean.class);
+ conn = new NonClosableConnection((Connection)jdbcConnection.newInstance("jdbc:h2:file:" +
+ databaseFile.getAbsolutePath(),
+ new Properties(), "root", "erc5gmv-xvg5CZQ0nzw", false));
conn.setAutoCommit(true);
Query.use(conn);
AntiVPN.getInstance().getExecutor().log("Connection to H2 has been established.");
@@ -51,7 +58,29 @@ public class MySQL {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
AntiVPN.getInstance().getExecutor().log("No H2 library found!");
+ } catch (NoSuchMethodException | InstantiationException | IllegalAccessException e) {
+ AntiVPN.getInstance().getExecutor().log("Java exception on initialize");
+ e.printStackTrace();
+ } catch(InvocationTargetException e) {
+ if(attemptedTwice) return;
+ if(e.getCause() instanceof JdbcSQLNonTransientConnectionException) {
+ File[] files = dataFolder.listFiles();
+
+ if(files == null) {
+ e.printStackTrace();
+ return;
+ }
+
+ AntiVPN.getInstance().getExecutor().log("Upgrading h2 files...");
+ for (File file : files) {
+ if(file.getName().endsWith(".db")) {
+ file.delete();
+ }
+ }
+ initH2();
+ } else e.printStackTrace();
}
+ attemptedTwice = true;
}
public static void use() {
@@ -70,6 +99,7 @@ public class MySQL {
} else conn.close();
conn = null;
}
+ attemptedTwice = false;
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/Velocity/pom.xml b/Velocity/pom.xml
index 8ee15a2..ce7b605 100644
--- a/Velocity/pom.xml
+++ b/Velocity/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.2
+ 1.8.2.1
4.0.0
@@ -33,7 +33,7 @@
dev.brighten.antivpn
Common
- 1.8.2
+ 1.8.2.1
provided
diff --git a/pom.xml b/pom.xml
index cf6b427..d4505f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
dev.brighten.antivpn
AntiVPN
pom
- 1.8.2
+ 1.8.2.1
Common