Keep webserver running if bluemap disables due to no active maps being configured

This commit is contained in:
Lukas Rieger (Blue) 2023-02-25 12:28:07 +01:00
parent 892506f2f9
commit 631c409f79
No known key found for this signature in database
GPG Key ID: 2D09EC5ED2687FF2
1 changed files with 12 additions and 10 deletions

View File

@ -153,14 +153,6 @@ public class Plugin implements ServerEventListener {
worlds = blueMap.getWorlds();
maps = blueMap.getMaps();
//warn if no maps are configured
if (maps.isEmpty()) {
Logger.global.logWarning("There are no valid maps configured, please check your map-configs! Disabling BlueMap...");
unload();
return;
}
//create and start webserver
if (webserverConfig.isEnabled()) {
Path webroot = webserverConfig.getWebroot();
@ -209,6 +201,13 @@ public class Plugin implements ServerEventListener {
}
}
//warn if no maps are configured
if (maps.isEmpty()) {
Logger.global.logWarning("There are no valid maps configured, please check your map-configs! Disabling BlueMap...");
unload(true);
return;
}
//initialize render manager
renderManager = new RenderManager();
@ -341,6 +340,9 @@ public class Plugin implements ServerEventListener {
}
public void unload() {
this.unload(false);
}
public void unload(boolean keepWebserver) {
loadingLock.interruptAndLock();
try {
synchronized (this) {
@ -377,14 +379,14 @@ public class Plugin implements ServerEventListener {
}
renderManager = null;
if (webServer != null) {
if (webServer != null && !keepWebserver) {
try {
webServer.close();
} catch (IOException ex) {
Logger.global.logError("Failed to close the webserver!", ex);
}
webServer = null;
}
webServer = null;
//close bluemap
if (blueMap != null) {