diff --git a/pom.xml b/pom.xml
index 545a337..a823386 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
org.strassburger
mcrun-maven-plugin
- 0.0.15
+ 0.0.16
maven-plugin
MCRun Maven Plugin
diff --git a/src/main/java/org/strassburger/mcrun/RunServerMojo.java b/src/main/java/org/strassburger/mcrun/RunServerMojo.java
index d923743..fbfb8b8 100644
--- a/src/main/java/org/strassburger/mcrun/RunServerMojo.java
+++ b/src/main/java/org/strassburger/mcrun/RunServerMojo.java
@@ -17,12 +17,20 @@ import java.util.List;
@Mojo(name = "run")
public class RunServerMojo extends AbstractMojo {
/**
- * Heap size passed to both {@code -Xmx} and {@code -Xms}.
- * Accepts standard JVM memory notation, e.g. 2G, 512M.
+ * Minimum heap size passed to {@code -Xms}.
+ * Accepts standard JVM memory notation, e.g. 512M, 1G.
+ * Defaults to 512M.
+ */
+ @Parameter(defaultValue = "512M")
+ private String minMemory;
+
+ /**
+ * Maximum heap size passed to {@code -Xmx}.
+ * Accepts standard JVM memory notation, e.g. 2G, 4G.
* Defaults to 2G.
*/
@Parameter(defaultValue = "2G")
- private String memory;
+ private String maxMemory;
/**
* Additional JVM arguments to pass to the server process.
@@ -84,7 +92,7 @@ public class RunServerMojo extends AbstractMojo {
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
Step> step = new ServerRunStep(getLog(),
- new ServerRunStepConfig(memory, jvmArgs, remoteDebug, debugPort, port, serverDirectory, serverJarName)
+ new ServerRunStepConfig(minMemory, maxMemory, jvmArgs, remoteDebug, debugPort, port, serverDirectory, serverJarName)
);
try {
step.run();
diff --git a/src/main/java/org/strassburger/mcrun/StartServerMojo.java b/src/main/java/org/strassburger/mcrun/StartServerMojo.java
index 19d965e..876616d 100644
--- a/src/main/java/org/strassburger/mcrun/StartServerMojo.java
+++ b/src/main/java/org/strassburger/mcrun/StartServerMojo.java
@@ -56,12 +56,20 @@ public class StartServerMojo extends AbstractMojo {
private String mcVersion;
/**
- * Heap size passed to both {@code -Xmx} and {@code -Xms}.
- * Accepts standard JVM memory notation, e.g. 2G, 512M.
+ * Minimum heap size passed to {@code -Xms}.
+ * Accepts standard JVM memory notation, e.g. 512M, 1G.
+ * Defaults to 512M.
+ */
+ @Parameter(defaultValue = "512M")
+ private String minMemory;
+
+ /**
+ * Maximum heap size passed to {@code -Xmx}.
+ * Accepts standard JVM memory notation, e.g. 2G, 4G.
* Defaults to 2G.
*/
@Parameter(defaultValue = "2G")
- private String memory;
+ private String maxMemory;
/**
* When {@code true}, automatically creates {@code eula.txt} with {@code eula=true}
@@ -133,7 +141,7 @@ public class StartServerMojo extends AbstractMojo {
new ServerInstallConfig(serverDirectory, pluginJar, serverJarName, serverSoftware, mcVersion, acceptEula)
));
steps.add(new ServerRunStep(getLog(),
- new ServerRunStepConfig(memory, jvmArgs, remoteDebug, debugPort, port, serverDirectory, serverJarName)
+ new ServerRunStepConfig(minMemory, maxMemory, jvmArgs, remoteDebug, debugPort, port, serverDirectory, serverJarName)
));
return steps;
}
diff --git a/src/main/java/org/strassburger/mcrun/config/ServerRunStepConfig.java b/src/main/java/org/strassburger/mcrun/config/ServerRunStepConfig.java
index 0ae0642..a8d4d4c 100644
--- a/src/main/java/org/strassburger/mcrun/config/ServerRunStepConfig.java
+++ b/src/main/java/org/strassburger/mcrun/config/ServerRunStepConfig.java
@@ -3,7 +3,8 @@ package org.strassburger.mcrun.config;
import java.io.File;
import java.util.List;
-public record ServerRunStepConfig(String memory,
+public record ServerRunStepConfig(String minMemory,
+ String maxMemory,
List jvmArgs,
boolean remoteDebug,
int debugPort,
diff --git a/src/main/java/org/strassburger/mcrun/steps/ServerRunStep.java b/src/main/java/org/strassburger/mcrun/steps/ServerRunStep.java
index f8f96e0..9b6c1ca 100644
--- a/src/main/java/org/strassburger/mcrun/steps/ServerRunStep.java
+++ b/src/main/java/org/strassburger/mcrun/steps/ServerRunStep.java
@@ -20,8 +20,8 @@ public class ServerRunStep extends Step {
private List buildCommand() {
List cmd = new ArrayList<>();
cmd.add("java");
- cmd.add("-Xmx" + getConfig().memory());
- cmd.add("-Xms" + getConfig().memory());
+ cmd.add("-Xmx" + getConfig().maxMemory());
+ cmd.add("-Xms" + getConfig().minMemory());
if (getConfig().remoteDebug() && getConfig().debugPort() > 0) {
cmd.add(String.format("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:%d", getConfig().debugPort()));
}