diff --git a/pom.xml b/pom.xml
index 858390b..3ee5921 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.openautonomousconnection
INSServer
- 1.0.0-BETA.1.1
+ 1.0.0-BETA.1.2
Open Autonomous Connection
https://open-autonomous-connection.org/
@@ -104,7 +104,7 @@
org.openautonomousconnection
Protocol
- 1.0.0-BETA.5.4
+ 1.0.0-BETA.6.0
org.projectlombok
diff --git a/src/main/java/org/openautonomousconnection/insserver/DatabaseINSServer.java b/src/main/java/org/openautonomousconnection/insserver/DatabaseINSServer.java
index 6042265..d2e1733 100644
--- a/src/main/java/org/openautonomousconnection/insserver/DatabaseINSServer.java
+++ b/src/main/java/org/openautonomousconnection/insserver/DatabaseINSServer.java
@@ -4,7 +4,6 @@ import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager;
import org.openautonomousconnection.protocol.side.ins.ProtocolINSServer;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecord;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecordType;
-import org.openautonomousconnection.protocol.versions.v1_0_0.classic.helper.TargetName;
import java.io.File;
import java.io.IOException;
@@ -24,48 +23,18 @@ public final class DatabaseINSServer extends ProtocolINSServer {
private final String jdbcUser;
private final String jdbcPassword;
- private final ConfigurationManager config;
-
/**
* Creates a new database-backed INS server.
*
* @throws IOException If the base server initialization fails.
* @throws CertificateException If required certificate files are missing or invalid.
*/
- public DatabaseINSServer() throws Exception {
- super(new File("config.properties"));
+ public DatabaseINSServer(String insInfoSite, String insFrontendSite, int tcpPort, int udpPort, String jdbcUrl, String jdbcUser, String jdbcPassword) throws Exception {
+ super(insInfoSite, insFrontendSite, tcpPort, udpPort);
- config = new ConfigurationManager(new File("config.properties"));
- config.loadProperties();
-
- if (!config.isSet("db.url")) {
- config.set(
- "db.url",
- "jdbc:mysql://localhost:3306/ins?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"
- );
- config.saveProperties();
- }
-
- if (!config.isSet("db.user")) {
- config.set("db.user", "username");
- config.saveProperties();
- }
-
- if (!config.isSet("db.password")) {
- config.set("db.password", "password");
- config.saveProperties();
- }
-
- if (!config.isSet("port")) {
- config.set("port", 1023);
- config.saveProperties();
- }
-
- jdbcUrl = config.getString("db.url");
- jdbcUser = config.getString("db.user");
- jdbcPassword = config.getString("db.password");
-
- Main.getSettings().port = config.getInt("port");
+ this.jdbcUrl = jdbcUrl;
+ this.jdbcUser = jdbcUser;
+ this.jdbcPassword = jdbcPassword;
}
private Connection openConnection() throws SQLException {
@@ -200,9 +169,9 @@ public final class DatabaseINSServer extends ProtocolINSServer {
// recurse on the target name to fetch the original requested type
List resolvedTarget = resolveInternal(
- target.tln(),
- target.name(),
- target.sub(),
+ target.tln,
+ target.name,
+ target.sub,
requestedType,
depth + 1,
visited
@@ -363,4 +332,17 @@ public final class DatabaseINSServer extends ProtocolINSServer {
return new TargetName(tln, name, sub);
}
+
+ private static final class TargetName {
+ final String tln;
+ final String name;
+ final String sub;
+
+ TargetName(String tln, String name, String sub) {
+ this.tln = tln;
+ this.name = name;
+ this.sub = sub;
+ }
+ }
+
}
diff --git a/src/main/java/org/openautonomousconnection/insserver/Main.java b/src/main/java/org/openautonomousconnection/insserver/Main.java
index b9ed53f..5c3ccac 100644
--- a/src/main/java/org/openautonomousconnection/insserver/Main.java
+++ b/src/main/java/org/openautonomousconnection/insserver/Main.java
@@ -4,12 +4,12 @@ import dev.unlegitdqrk.unlegitlibrary.command.CommandExecutor;
import dev.unlegitdqrk.unlegitlibrary.command.CommandManager;
import dev.unlegitdqrk.unlegitlibrary.command.CommandPermission;
import dev.unlegitdqrk.unlegitlibrary.event.EventManager;
+import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager;
import dev.unlegitdqrk.unlegitlibrary.network.system.packets.PacketHandler;
import lombok.Getter;
import org.openautonomousconnection.protocol.ProtocolBridge;
-import org.openautonomousconnection.protocol.ProtocolSettings;
+import org.openautonomousconnection.protocol.ProtocolValues;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
-import org.openautonomousconnection.protocol.versions.v1_0_0.classic.handlers.builtin.INSClassic;
import java.io.File;
import java.util.Scanner;
@@ -23,21 +23,70 @@ public class Main {
private static ProtocolBridge protocolBridge;
@Getter
- private static ProtocolSettings settings;
+ private static ProtocolValues values;
public static void main(String[] args) throws Exception {
- settings = new ProtocolSettings();
- settings.packetHandler = new PacketHandler();
- settings.eventManager = new EventManager();
- settings.eventManager.registerListener(Listener.class);
- settings.port = 1023;
+ values = new ProtocolValues();
+ values.packetHandler = new PacketHandler();
+ values.eventManager = new EventManager();
+ values.eventManager.registerListener(Listener.class);
- DatabaseINSServer server = new DatabaseINSServer();
- protocolBridge = new ProtocolBridge(server, settings, ProtocolVersion.PV_1_0_0_BETA, new File("logs"));
- protocolBridge.setClassicHandlerINSServer(new INSClassic(protocolBridge));
- server.getPipelineServer().start();
+ ConfigurationManager config = new ConfigurationManager(new File("config.properties"));
- commandManager = new CommandManager(protocolBridge.getProtocolSettings().eventManager);
+
+ if (!config.isSet("db.url")) {
+ config.set(
+ "db.url",
+ "jdbc:mysql://localhost:3306/ins?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"
+ );
+ config.saveProperties();
+ }
+
+ if (!config.isSet("db.user")) {
+ config.set("db.user", "username");
+ config.saveProperties();
+ }
+
+ if (!config.isSet("db.password")) {
+ config.set("db.password", "password");
+ config.saveProperties();
+ }
+
+ if (!config.isSet("port.udp")) {
+ config.set("port.udp", 1025);
+ config.saveProperties();
+ }
+
+ if (!config.isSet("port.tcp")) {
+ config.set("port.tcp", 1026);
+ config.saveProperties();
+ }
+
+ if (!config.isSet("ins.info")) {
+ config.set("ins.info", "INS INFO SITE (HOST:IP)");
+ config.saveProperties();
+ }
+
+ if (!config.isSet("ins.frontend")) {
+ config.set("ins.frontend", "INS FRONTEND SITE (HOST:IP)");
+ config.saveProperties();
+ }
+
+ String url = config.getString("db.url");
+ String user = config.getString("db.user");
+ String password = config.getString("db.password");
+
+ int tcpPort = config.getInt("port.tcp");
+ int udpPort = config.getInt("port.udp");
+
+ String info = config.getString("ins.info");
+ String frontend = config.getString("ins.frontend");
+
+ DatabaseINSServer server = new DatabaseINSServer(info, frontend, tcpPort, udpPort, url, user, password);
+ protocolBridge = new ProtocolBridge(server, values, ProtocolVersion.PV_1_0_0_BETA, new File("logs"));
+ server.getNetwork().start();
+
+ commandManager = new CommandManager(values.eventManager);
Scanner scanner = new Scanner(System.in);
while (true) {