diff --git a/launcher/dependency-reduced-pom.xml b/launcher/dependency-reduced-pom.xml
index 728e240..15c2fc1 100644
--- a/launcher/dependency-reduced-pom.xml
+++ b/launcher/dependency-reduced-pom.xml
@@ -42,6 +42,12 @@
META-INF/*.RSA
+
+ org.openjfx:javafx-*
+
+ **/*-linux.jar
+
+
/
@@ -85,11 +91,16 @@
../server/builds/ZernMCLauncher-${project.version}.exe
../server/builds/ZernMCLauncher.jar
- console
+ gui
false
jre21
21
+
+ --module-path=lib-javafx
+ --add-modules=javafx.controls,javafx.web
+ --add-reads=javafx.graphics=ALL-UNNAMED
+
${project.version}.0
diff --git a/launcher/pom.xml b/launcher/pom.xml
index 4185558..1df6b72 100644
--- a/launcher/pom.xml
+++ b/launcher/pom.xml
@@ -187,11 +187,16 @@
../server/builds/ZernMCLauncher-${project.version}.exe
../server/builds/ZernMCLauncher.jar
- console
+ gui
false
jre21
21
+
+ --module-path=lib-javafx
+ --add-modules=javafx.controls,javafx.web
+ --add-reads=javafx.graphics=ALL-UNNAMED
+
${project.version}.0
@@ -227,10 +232,10 @@
-
+
diff --git a/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java b/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java
index 23f981a..f50ddab 100644
--- a/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java
+++ b/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java
@@ -34,6 +34,7 @@ public class Main {
startWebUI(args);
} catch (Exception e) {
System.err.println(ZAnsi.red("UI не запустился: " + e.getMessage()));
+ e.printStackTrace();
System.out.println(ZAnsi.yellow("Переключаюсь на режим TUI..."));
runTUI(args);
}
@@ -70,14 +71,16 @@ public class Main {
// Даем серверу время запуститься
Thread.sleep(1000);
- // Проверяем headless перед запуском JavaFX
- boolean isHeadless = java.awt.GraphicsEnvironment.isHeadless();
- String display = System.getenv("DISPLAY");
- if (isHeadless && (display == null || display.isEmpty())) {
- System.out.println(ZAnsi.yellow("Дисплей недоступен, переключаюсь на TUI..."));
- WebServer.stop();
- runTUI(args);
- return;
+ // Проверяем headless перед запуском JavaFX (только для не-Windows систем)
+ if (!System.getProperty("os.name").toLowerCase().contains("win")) {
+ boolean isHeadless = java.awt.GraphicsEnvironment.isHeadless();
+ String display = System.getenv("DISPLAY");
+ if (isHeadless && (display == null || display.isEmpty())) {
+ System.out.println(ZAnsi.yellow("Дисплей недоступен, переключаюсь на TUI..."));
+ WebServer.stop();
+ runTUI(args);
+ return;
+ }
}
// Проверка обновлений лаунчера