Fix Reset

Signed-off-by: Chaoscaot <max@maxsp.de>
This commit is contained in:
2026-07-05 13:51:45 +02:00
parent 7acd51fd61
commit 6fd3e6f690
+28 -5
View File
@@ -108,8 +108,10 @@ class DevCommand : CliktCommand("dev") {
if (!templateFile.exists()) { if (!templateFile.exists()) {
throw CliktError("Could not find world template: ${templateFile.absolutePath}") throw CliktError("Could not find world template: ${templateFile.absolutePath}")
} }
worldFile.parentFile?.mkdirs()
templateFile.copyRecursively(worldFile) templateFile.copyRecursively(worldFile)
} }
val worldDir = worldFile.parentFile ?: workingDir
val devFile = File("/configs/DevServer/${System.getProperty("user.name")}.$port.$version") val devFile = File("/configs/DevServer/${System.getProperty("user.name")}.$port.$version")
if (System.getProperty("user.name") != "minecraft") { if (System.getProperty("user.name") != "minecraft") {
@@ -120,10 +122,11 @@ class DevCommand : CliktCommand("dev") {
args, jvmArgs, listOf( args, jvmArgs, listOf(
jarFile, jarFile,
*(if (forceUpgrade) arrayOf("-forceUpgrade") else arrayOf()), *(if (forceUpgrade) arrayOf("-forceUpgrade") else arrayOf()),
"--log-strip-color",
"--port", port.toString(), "--port", port.toString(),
"--level-name", worldFile.name, "--level-name", worldFile.name,
"--world-dir", workingDir.absolutePath, "--world-dir", worldDir.absolutePath,
"--nogui", "nogui",
*(if (plugins != null) arrayOf("--plugins", plugins!!.absolutePathString()) else arrayOf()) *(if (plugins != null) arrayOf("--plugins", plugins!!.absolutePathString()) else arrayOf())
), serverDir ), serverDir
) )
@@ -156,6 +159,16 @@ class DevCommand : CliktCommand("dev") {
val jvmArgOverrides = arrayOf("--add-opens", "java.base/jdk.internal.misc=ALL-UNNAMED") val jvmArgOverrides = arrayOf("--add-opens", "java.base/jdk.internal.misc=ALL-UNNAMED")
val jvmNonJava8Params = arrayOf(
*jvmArgOverrides,
"-XX:-CRIUSecProvider"
)
val extendedStartupParams = arrayOf(
"-Dpaper.disablePluginRemapping=true",
"-javaagent:/jars/AccessWidener.jar=start"
)
val supportedVersionJars = mapOf( val supportedVersionJars = mapOf(
8 to "/jars/paper-1.8.8.jar", 8 to "/jars/paper-1.8.8.jar",
9 to "/jars/spigot-1.9.4.jar", 9 to "/jars/spigot-1.9.4.jar",
@@ -228,13 +241,23 @@ class DevCommand : CliktCommand("dev") {
} }
fun runServer(args: List<String>, jvmArgs: List<String>, cmd: List<String>, serverDir: File) { fun runServer(args: List<String>, jvmArgs: List<String>, cmd: List<String>, serverDir: File) {
val effectiveJvmArgs = mutableListOf<String>()
effectiveJvmArgs += jvmArgs
if (!isVelocity(server)) {
extendedStartupParams.forEach { arg ->
if (effectiveJvmArgs.none { it == arg }) {
effectiveJvmArgs += arg
}
}
}
val process = ProcessBuilder( val process = ProcessBuilder(
jvm?.absolutePath jvm?.absolutePath
?: if (isJava8(server)) "/usr/lib/jvm/openj9-8/bin/java" else "java", ?: if (isJava8(server)) "/usr/lib/jvm/openj9-8/bin/java" else "/usr/lib/jvm/openj9-21/bin/java",
*jvmArgs.toTypedArray(), *effectiveJvmArgs.toTypedArray(),
*args.toTypedArray(), *args.toTypedArray(),
*jvmDefaultParams, *jvmDefaultParams,
*(if (isJava8(server)) arrayOf() else jvmArgOverrides), *(if (isJava8(server)) arrayOf() else jvmNonJava8Params),
*(if (profile) arrayOf("-javaagent:/jars/LixfelsProfiler.jar=start") else arrayOf()), *(if (profile) arrayOf("-javaagent:/jars/LixfelsProfiler.jar=start") else arrayOf()),
"-Xshareclasses:nonfatal,name=$server", "-Xshareclasses:nonfatal,name=$server",
"-jar", "-jar",