Updated to latest Protocol Version

This commit is contained in:
Finn
2026-01-18 22:01:14 +01:00
parent 63ac0c2d89
commit 6589160632
3 changed files with 85 additions and 54 deletions

View File

@@ -6,7 +6,7 @@
<groupId>org.openautonomousconnection</groupId> <groupId>org.openautonomousconnection</groupId>
<artifactId>INSServer</artifactId> <artifactId>INSServer</artifactId>
<version>1.0.0-BETA.1.1</version> <version>1.0.0-BETA.1.2</version>
<organization> <organization>
<name>Open Autonomous Connection</name> <name>Open Autonomous Connection</name>
<url>https://open-autonomous-connection.org/</url> <url>https://open-autonomous-connection.org/</url>
@@ -104,7 +104,7 @@
<dependency> <dependency>
<groupId>org.openautonomousconnection</groupId> <groupId>org.openautonomousconnection</groupId>
<artifactId>Protocol</artifactId> <artifactId>Protocol</artifactId>
<version>1.0.0-BETA.5.4</version> <version>1.0.0-BETA.6.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>

View File

@@ -4,7 +4,6 @@ import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager;
import org.openautonomousconnection.protocol.side.ins.ProtocolINSServer; 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.INSRecord;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecordType; 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.File;
import java.io.IOException; import java.io.IOException;
@@ -24,48 +23,18 @@ public final class DatabaseINSServer extends ProtocolINSServer {
private final String jdbcUser; private final String jdbcUser;
private final String jdbcPassword; private final String jdbcPassword;
private final ConfigurationManager config;
/** /**
* Creates a new database-backed INS server. * Creates a new database-backed INS server.
* *
* @throws IOException If the base server initialization fails. * @throws IOException If the base server initialization fails.
* @throws CertificateException If required certificate files are missing or invalid. * @throws CertificateException If required certificate files are missing or invalid.
*/ */
public DatabaseINSServer() throws Exception { public DatabaseINSServer(String insInfoSite, String insFrontendSite, int tcpPort, int udpPort, String jdbcUrl, String jdbcUser, String jdbcPassword) throws Exception {
super(new File("config.properties")); super(insInfoSite, insFrontendSite, tcpPort, udpPort);
config = new ConfigurationManager(new File("config.properties")); this.jdbcUrl = jdbcUrl;
config.loadProperties(); this.jdbcUser = jdbcUser;
this.jdbcPassword = jdbcPassword;
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");
} }
private Connection openConnection() throws SQLException { 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 // recurse on the target name to fetch the original requested type
List<INSRecord> resolvedTarget = resolveInternal( List<INSRecord> resolvedTarget = resolveInternal(
target.tln(), target.tln,
target.name(), target.name,
target.sub(), target.sub,
requestedType, requestedType,
depth + 1, depth + 1,
visited visited
@@ -363,4 +332,17 @@ public final class DatabaseINSServer extends ProtocolINSServer {
return new TargetName(tln, name, sub); 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;
}
}
} }

View File

@@ -4,12 +4,12 @@ import dev.unlegitdqrk.unlegitlibrary.command.CommandExecutor;
import dev.unlegitdqrk.unlegitlibrary.command.CommandManager; import dev.unlegitdqrk.unlegitlibrary.command.CommandManager;
import dev.unlegitdqrk.unlegitlibrary.command.CommandPermission; import dev.unlegitdqrk.unlegitlibrary.command.CommandPermission;
import dev.unlegitdqrk.unlegitlibrary.event.EventManager; import dev.unlegitdqrk.unlegitlibrary.event.EventManager;
import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager;
import dev.unlegitdqrk.unlegitlibrary.network.system.packets.PacketHandler; import dev.unlegitdqrk.unlegitlibrary.network.system.packets.PacketHandler;
import lombok.Getter; import lombok.Getter;
import org.openautonomousconnection.protocol.ProtocolBridge; 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.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.handlers.builtin.INSClassic;
import java.io.File; import java.io.File;
import java.util.Scanner; import java.util.Scanner;
@@ -23,21 +23,70 @@ public class Main {
private static ProtocolBridge protocolBridge; private static ProtocolBridge protocolBridge;
@Getter @Getter
private static ProtocolSettings settings; private static ProtocolValues values;
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
settings = new ProtocolSettings(); values = new ProtocolValues();
settings.packetHandler = new PacketHandler(); values.packetHandler = new PacketHandler();
settings.eventManager = new EventManager(); values.eventManager = new EventManager();
settings.eventManager.registerListener(Listener.class); values.eventManager.registerListener(Listener.class);
settings.port = 1023;
DatabaseINSServer server = new DatabaseINSServer(); ConfigurationManager config = new ConfigurationManager(new File("config.properties"));
protocolBridge = new ProtocolBridge(server, settings, ProtocolVersion.PV_1_0_0_BETA, new File("logs"));
protocolBridge.setClassicHandlerINSServer(new INSClassic(protocolBridge));
server.getPipelineServer().start();
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); Scanner scanner = new Scanner(System.in);
while (true) { while (true) {