diff --git a/src/main/java/net/knarcraft/minecraftserverlauncher/server/Server.java b/src/main/java/net/knarcraft/minecraftserverlauncher/server/Server.java index 3be1016..25432e9 100644 --- a/src/main/java/net/knarcraft/minecraftserverlauncher/server/Server.java +++ b/src/main/java/net/knarcraft/minecraftserverlauncher/server/Server.java @@ -326,9 +326,10 @@ public class Server { /** * Runs a Minecraft server * + * @param skipDelay

Whether to skip the startup delay for this server

* @return

True if nothing went wrong

*/ - public boolean runServer(boolean isFirstServer) { + public boolean runServer(boolean skipDelay) { if (ServerHandler.stoppingServers()) { gui.logMessage("Stopping servers. Cannot start yet."); return false; @@ -339,7 +340,7 @@ public class Server { return true; } //Tries to do necessary pre-start work - if (!initializeJarDownload() || (!isFirstServer && !delayStartup())) { + if (!initializeJarDownload() || (!skipDelay && !delayStartup())) { gui.logError("Failed to perform startup tasks."); this.started = false; return false; diff --git a/src/main/java/net/knarcraft/minecraftserverlauncher/server/ServerHandler.java b/src/main/java/net/knarcraft/minecraftserverlauncher/server/ServerHandler.java index 87b61bf..234efb6 100644 --- a/src/main/java/net/knarcraft/minecraftserverlauncher/server/ServerHandler.java +++ b/src/main/java/net/knarcraft/minecraftserverlauncher/server/ServerHandler.java @@ -117,9 +117,11 @@ public class ServerHandler { public static void startServers() { ServerLauncherController controller = Main.getController(); gui.setStatus("Starting servers"); - int serverNum = 0; + Server previouslyStartedServer = null; + for (Collection collection : controller.getCurrentProfile().getCollections()) { - if (!collection.getServer().runServer(serverNum++ == 0)) { + Server server = collection.getServer(); + if (!server.runServer(previouslyStartedServer == null || previouslyStartedServer.isProxy())) { gui.showError("An error occurred. Start aborted. Please check relevant log files."); try { stop(); @@ -129,6 +131,9 @@ public class ServerHandler { gui.updateGUIElementsWhenServersStartOrStop(false); return; } + if (server.isEnabled()) { + previouslyStartedServer = server; + } } }