- Implimented classic client code
This commit is contained in:
@@ -6,7 +6,6 @@ import github.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
import lombok.Getter;
|
||||
import me.finn.unlegitlibrary.network.system.client.NetworkClient;
|
||||
import me.finn.unlegitlibrary.network.system.client.events.ClientDisconnectedEvent;
|
||||
import me.finn.unlegitlibrary.network.system.server.NetworkServer;
|
||||
import me.finn.unlegitlibrary.utils.DefaultMethodsOverrider;
|
||||
|
||||
import java.io.File;
|
||||
@@ -17,11 +16,11 @@ public class ProtocolClient extends DefaultMethodsOverrider {
|
||||
@Getter
|
||||
private final NetworkClient networkClient;
|
||||
|
||||
public ProtocolVersion getServerVersion() {
|
||||
public final ProtocolVersion getServerVersion() {
|
||||
return serverVersion == null ? ProtocolVersion.PV_1_0_0_CLASSIC : serverVersion;
|
||||
}
|
||||
|
||||
public void setServerVersion(ProtocolVersion serverVersion) {
|
||||
public final void setServerVersion(ProtocolVersion serverVersion) {
|
||||
if (serverVersion == null) this.serverVersion = serverVersion;
|
||||
}
|
||||
|
||||
@@ -29,11 +28,11 @@ public class ProtocolClient extends DefaultMethodsOverrider {
|
||||
serverVersion = null;
|
||||
}
|
||||
|
||||
public boolean isStableServer() {
|
||||
public final boolean isStableServer() {
|
||||
return !isBetaServer() && !isClassicServer();
|
||||
}
|
||||
|
||||
public boolean serverSupportStable() {
|
||||
public final boolean serverSupportStable() {
|
||||
boolean yes = false;
|
||||
for (ProtocolVersion compatibleVersion : getServerVersion().getCompatibleVersions()) {
|
||||
yes = compatibleVersion.getProtocolType() == ProtocolVersion.ProtocolType.STABLE;
|
||||
@@ -43,11 +42,11 @@ public class ProtocolClient extends DefaultMethodsOverrider {
|
||||
return isStableServer() || yes;
|
||||
}
|
||||
|
||||
public boolean isBetaServer() {
|
||||
public final boolean isBetaServer() {
|
||||
return getServerVersion().getProtocolType() == ProtocolVersion.ProtocolType.BETA;
|
||||
}
|
||||
|
||||
public boolean serverSupportBeta() {
|
||||
public final boolean serverSupportBeta() {
|
||||
boolean yes = false;
|
||||
for (ProtocolVersion compatibleVersion : getServerVersion().getCompatibleVersions()) {
|
||||
yes = compatibleVersion.getProtocolType() == ProtocolVersion.ProtocolType.BETA;
|
||||
@@ -57,11 +56,11 @@ public class ProtocolClient extends DefaultMethodsOverrider {
|
||||
return isBetaServer() || yes;
|
||||
}
|
||||
|
||||
public boolean isClassicServer() {
|
||||
public final boolean isClassicServer() {
|
||||
return getServerVersion().getProtocolType() == ProtocolVersion.ProtocolType.CLASSIC;
|
||||
}
|
||||
|
||||
public boolean serverSupportClassic() {
|
||||
public final boolean serverSupportClassic() {
|
||||
boolean yes = false;
|
||||
for (ProtocolVersion compatibleVersion : getServerVersion().getCompatibleVersions()) {
|
||||
yes = compatibleVersion.getProtocolType() == ProtocolVersion.ProtocolType.CLASSIC;
|
||||
@@ -71,15 +70,19 @@ public class ProtocolClient extends DefaultMethodsOverrider {
|
||||
return isClassicServer() || yes;
|
||||
}
|
||||
|
||||
public boolean isPacketSupported(OACPacket packet) {
|
||||
public final boolean isPacketSupported(OACPacket packet) {
|
||||
return isVersionSupported(packet.getProtocolVersion());
|
||||
}
|
||||
|
||||
public boolean isVersionSupported(ProtocolVersion targetVersion) {
|
||||
public final boolean isVersionSupported(ProtocolVersion targetVersion) {
|
||||
return getServerVersion() == targetVersion || getServerVersion().getCompatibleVersions().contains(targetVersion);
|
||||
}
|
||||
|
||||
public ProtocolClient(File caFolder, File certificatesClientFolder, File certificatesKeyFolder) {
|
||||
if (!caFolder.exists()) caFolder.mkdirs();
|
||||
if (!certificatesClientFolder.exists()) certificatesClientFolder.mkdirs();
|
||||
if (!certificatesKeyFolder.exists()) certificatesKeyFolder.mkdirs();
|
||||
|
||||
networkClient = new NetworkClient.ClientBuilder().setLogger(ProtocolBridge.getInstance().getLogger()).
|
||||
setHost(ProtocolBridge.getInstance().getProtocolSettings().host).setPort(ProtocolBridge.getInstance().getProtocolSettings().port).
|
||||
setPacketHandler(ProtocolBridge.getInstance().getProtocolSettings().packetHandler).setEventManager(ProtocolBridge.getInstance().getProtocolSettings().eventManager).
|
||||
|
@@ -1,26 +1,42 @@
|
||||
package github.openautonomousconnection.protocol.side.server;
|
||||
|
||||
import github.openautonomousconnection.protocol.ProtocolBridge;
|
||||
import github.openautonomousconnection.protocol.versions.v1_0_0.beta.Domain;
|
||||
import lombok.Getter;
|
||||
import me.finn.unlegitlibrary.file.ConfigurationManager;
|
||||
import me.finn.unlegitlibrary.network.system.server.NetworkServer;
|
||||
import me.finn.unlegitlibrary.utils.DefaultMethodsOverrider;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ProtocolServer {
|
||||
public abstract class ProtocolServer extends DefaultMethodsOverrider {
|
||||
@Getter
|
||||
private final NetworkServer networkServer;
|
||||
|
||||
@Getter
|
||||
private List<ConnectedProtocolClient> clients;
|
||||
|
||||
public ConnectedProtocolClient getClientByID(int clientID) {
|
||||
private ConfigurationManager configurationManager;
|
||||
|
||||
public final ConnectedProtocolClient getClientByID(int clientID) {
|
||||
for (ConnectedProtocolClient client : clients) if (client.getConnectionHandler().getClientID() == clientID) return client;
|
||||
return null;
|
||||
}
|
||||
|
||||
public ProtocolServer(File caFolder, File certFile, File keyFile) {
|
||||
public ProtocolServer(File caFolder, File certFile, File keyFile, File configFile) throws IOException {
|
||||
if (!caFolder.exists()) caFolder.mkdirs();
|
||||
if (!certFile.exists() || !keyFile.exists()) throw new FileNotFoundException("Certificate or Key is missing!");
|
||||
|
||||
configurationManager = new ConfigurationManager(configFile);
|
||||
configurationManager.loadProperties();
|
||||
|
||||
if (!configurationManager.isSet("server.site.info")) configurationManager.set("server.site.info", "DNS-SERVER INFO SITE IP");
|
||||
if (!configurationManager.isSet("server.site.register")) configurationManager.set("server.site.register", "SERVER IP TO DNS-FRONTENT WEBSITE");
|
||||
|
||||
ProtocolBridge protocolBridge = ProtocolBridge.getInstance();
|
||||
this.clients = new ArrayList<>();
|
||||
|
||||
@@ -31,4 +47,17 @@ public abstract class ProtocolServer {
|
||||
setRequireClientCertificate(false).setRootCAFolder(caFolder).setServerCertificate(certFile, keyFile).
|
||||
build();
|
||||
}
|
||||
|
||||
public final String getDNSInfoSite() {
|
||||
return configurationManager.getString("server.site.info");
|
||||
}
|
||||
|
||||
public final String getDNSRegisterSite() {
|
||||
return configurationManager.getString("server.site.register");
|
||||
}
|
||||
|
||||
public abstract List<Domain> getDomains();
|
||||
public abstract String getDomainDestination(Domain domain);
|
||||
public abstract String getSubnameDestination(Domain domain, String subname);
|
||||
public abstract String getTLNInfoSite(String topLevelName);
|
||||
}
|
||||
|
Reference in New Issue
Block a user