mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-17 17:00:45 +08:00
Fixed Server Address Update Shenanigans #403
This commit is contained in:
parent
c331036771
commit
74a94a81d5
@ -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");
|
||||
|
||||
|
@ -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.");
|
||||
|
@ -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()) {
|
||||
|
@ -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();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user