Fixed Server Address Update Shenanigans #403

This commit is contained in:
Rsl1122 2017-11-01 10:14:00 +02:00
parent c331036771
commit 74a94a81d5
4 changed files with 23 additions and 12 deletions

View File

@ -175,6 +175,7 @@ public class Plan extends BukkitPlugin<Plan> implements IPlan {
if (!webServer.isEnabled()) {
Log.error("WebServer was not successfully initialized. Is the port (" + Settings.WEBSERVER_PORT.getNumber() + ") in use?");
}
serverInfoManager.updateServerInfo();
Benchmark.stop("Enable", "WebServer Initialization");

View File

@ -80,8 +80,9 @@ public class PlanBungee extends BungeePlugin<PlanBungee> implements IPlan {
serverInfoManager = new BungeeServerInfoManager(this);
infoManager = new BungeeInformationManager(this);
webServer.initServer();
serverInfoManager.loadServerInfo();
if (!webServer.isEnabled()) {
Log.error("WebServer was not successfully initialized.");

View File

@ -42,15 +42,8 @@ public class BukkitServerInfoManager {
} catch (IOException e) {
throw new PlanEnableException("Failed to read ServerInfoFile.yml", e);
}
Optional<UUID> serverUUID = serverInfoFile.getUUID();
try {
if (serverUUID.isPresent()) {
updateDbInfo(serverUUID.get());
} else {
registerServer();
}
updateServerInfo();
} catch (SQLException e) {
throw new PlanEnableException("Failed to update Database server info", e);
} catch (IOException e) {
@ -58,6 +51,15 @@ public class BukkitServerInfoManager {
}
}
public void updateServerInfo() throws SQLException, IOException {
Optional<UUID> serverUUID = serverInfoFile.getUUID();
if (serverUUID.isPresent()) {
updateDbInfo(serverUUID.get());
} else {
registerServer();
}
}
private void updateDbInfo(UUID serverUUID) throws SQLException, IOException {
Optional<Integer> serverID = serverTable.getServerID(serverUUID);
if (!serverID.isPresent()) {

View File

@ -40,13 +40,20 @@ public class BungeeServerInfoManager {
this.db = plugin.getDB();
serverTable = db.getServerTable();
try {
bukkitServers = new HashMap<>();
onlineServers = new HashSet<>();
bukkitServers = new HashMap<>();
onlineServers = new HashSet<>();
}
public void loadServerInfo() throws PlanEnableException {
try {
Optional<ServerInfo> bungeeInfo = db.getServerTable().getBungeeInfo();
if (bungeeInfo.isPresent()) {
serverInfo = bungeeInfo.get();
String accessAddress = plugin.getWebServer().getAccessAddress();
if (!accessAddress.equals(serverInfo.getWebAddress())) {
serverInfo.setWebAddress(accessAddress);
serverTable.saveCurrentServerInfo(serverInfo);
}
} else {
serverInfo = registerBungeeInfo();
}