diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitConfig.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitConfig.java
index a7f35be..03e010d 100644
--- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitConfig.java
+++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitConfig.java
@@ -14,7 +14,7 @@ public class BukkitConfig implements VPNConfig {
"license", BukkitPlugin.pluginInstance), kickStringDefault =
new ConfigDefault<>("Proxies are not allowed on our server",
"kickMessage", BukkitPlugin.pluginInstance),
- defaultDatabaseType = new ConfigDefault<>("MySQL",
+ defaultDatabaseType = new ConfigDefault<>("H2",
"database.type", BukkitPlugin.pluginInstance),
defaultDatabaseName = new ConfigDefault<>("kaurivpn",
"database.database", BukkitPlugin.pluginInstance),
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeConfig.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeConfig.java
index 89f43b5..2d3f0a5 100644
--- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeConfig.java
+++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeConfig.java
@@ -12,7 +12,7 @@ public class BungeeConfig implements VPNConfig {
"license", BungeePlugin.pluginInstance), kickStringDefault =
new ConfigDefault<>("Proxies are not allowed on our server",
"kickMessage", BungeePlugin.pluginInstance),
- defaultDatabaseType = new ConfigDefault<>("MySQL",
+ defaultDatabaseType = new ConfigDefault<>("H2",
"database.type", BungeePlugin.pluginInstance),
defaultDatabaseName = new ConfigDefault<>("kaurivpn",
"database.database", BungeePlugin.pluginInstance),
diff --git a/Common/pom.xml b/Common/pom.xml
index c1783a1..c543a95 100644
--- a/Common/pom.xml
+++ b/Common/pom.xml
@@ -61,7 +61,7 @@
com.h2database
h2
- 1.4.200
+ 2.1.210
compile
diff --git a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
index 53a0768..9a9aef4 100644
--- a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
+++ b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
@@ -53,6 +53,7 @@ public class AntiVPN {
switch(INSTANCE.config.getDatabaseType().toLowerCase()) {
case "mysql":
+ case "h2":
case "sql":{
AntiVPN.getInstance().getExecutor().log("Using databaseType MySQL...");
INSTANCE.database = new MySqlVPN();
diff --git a/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java b/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java
index af93dc8..e33fcfa 100644
--- a/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java
+++ b/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java
@@ -237,7 +237,9 @@ public class MySqlVPN implements VPNDatabase {
if (!AntiVPN.getInstance().getConfig().isDatabaseEnabled())
return;
AntiVPN.getInstance().getExecutor().log("Initializing MySQL...");
- MySQL.init();
+ if(AntiVPN.getInstance().getConfig().getDatabaseType().contains("sql")) {
+ MySQL.init();
+ } else MySQL.initH2();
AntiVPN.getInstance().getExecutor().log("Creating tables...");
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 b3dc612..bab0bc1 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,10 +1,13 @@
package dev.brighten.antivpn.database.sql.utils;
+import org.h2.jdbc.JdbcConnection;
import dev.brighten.antivpn.AntiVPN;
+import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
+import java.util.Properties;
public class MySQL {
private static Connection conn;
@@ -35,12 +38,13 @@ public class MySQL {
}
}
- /*public static void initH2() {
+ public static void initH2() {
File dataFolder = new File(AntiVPN.getInstance().getPluginFolder(), "databases" + File.separator + "database");
try {
Class.forName("org.h2.Driver");
- conn = new NonClosableConnection(new JdbcConnection("jdbc:h2:file:" +
- dataFolder.getAbsolutePath(), new Properties()));
+ conn = new NonClosableConnection(DriverManager.getConnection ("jdbc:h2:file:" +
+ dataFolder.getAbsolutePath(),
+ AntiVPN.getInstance().getConfig().getUsername(),AntiVPN.getInstance().getConfig().getPassword()));
conn.setAutoCommit(true);
Query.use(conn);
AntiVPN.getInstance().getExecutor().log("Connection to SQlLite has been established.");
@@ -50,7 +54,7 @@ public class MySQL {
} catch (ClassNotFoundException ex) {
AntiVPN.getInstance().getExecutor().log("No H2 library found!");
}
- }*/
+ }
public static void use() {
try {
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 802d907..7e6bc9a 100644
--- a/Common/src/main/java/dev/brighten/antivpn/utils/MiscUtils.java
+++ b/Common/src/main/java/dev/brighten/antivpn/utils/MiscUtils.java
@@ -15,7 +15,7 @@ import java.util.regex.Pattern;
public class MiscUtils {
- private static final Pattern ipv4 = Pattern.compile("[1-9]{1,3}\\.[1-9]{1,3}\\.[1-9]{1,3}.[1-9]{1,3}");
+ private static final Pattern ipv4 = Pattern.compile("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}");
public static void close(Closeable... closeables) {
try {
diff --git a/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityConfig.java b/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityConfig.java
index 218d306..94fe0ea 100644
--- a/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityConfig.java
+++ b/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityConfig.java
@@ -12,7 +12,7 @@ public class VelocityConfig implements VPNConfig {
"license", VelocityPlugin.INSTANCE), kickStringDefault =
new ConfigDefault<>("Proxies are not allowed on our server",
"kickMessage", VelocityPlugin.INSTANCE),
- defaultDatabaseType = new ConfigDefault<>("MySQL",
+ defaultDatabaseType = new ConfigDefault<>("H2",
"database.type", VelocityPlugin.INSTANCE),
defaultDatabaseName = new ConfigDefault<>("kaurivpn",
"database.database", VelocityPlugin.INSTANCE),