4af62f6d1d
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 2d009e64 Update SnakeYAML javadoc link b4fd213c Switch Player#updateInventory deprecation for internal API annotation CraftBukkit Changes: f3b2b2210 SPIGOT-7376: Exception with getBlockData when hasBlockData is false 725545630 SPIGOT-7375: Fix crash breeding certain entities b9873b0d4 Update Brigadier version with fix 68b320562 SPIGOT-7266: Found typo in CraftBukkit package 98b4d2ff8 SPIGOT-7372, SPIGOT-7373: Signs can't be edited, issues with SignChangeEvent 5f7bd4d78 SPIGOT-7371: Sign does not open edit text on placement b4cf99d24 SPIGOT-7371: Fix editing signs with API a2b6c2744 PR-1200: Implement open sign by side a345bb940 SPIGOT-7368: Downgrade SpecialSource version Spigot Changes: 723951c3 Rebuild patches b655c57d Drop old collision API deprecated since 1.9.4 55b0fed4 Rebuild patches
52 Zeilen
2.5 KiB
Diff
52 Zeilen
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Noah van der Aa <ndvdaa@gmail.com>
|
|
Date: Sat, 22 Oct 2022 14:47:45 +0200
|
|
Subject: [PATCH] Detect headless JREs
|
|
|
|
Crashes caused by the missing AWT dependency come up in the support channels fairly often.
|
|
This patch detects the missing dependency and stops the server with a clear error message,
|
|
containing a link to instructions on how to install a non-headless JRE.
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/util/ServerEnvironment.java b/src/main/java/io/papermc/paper/util/ServerEnvironment.java
|
|
index 6bd0afddbcc461149dfe9a5c7a86fff6ea13a5f1..148d233f4f5278ff39eacdaa0f4f0e7d73be936a 100644
|
|
--- a/src/main/java/io/papermc/paper/util/ServerEnvironment.java
|
|
+++ b/src/main/java/io/papermc/paper/util/ServerEnvironment.java
|
|
@@ -37,4 +37,14 @@ public class ServerEnvironment {
|
|
public static boolean userIsRootOrAdmin() {
|
|
return RUNNING_AS_ROOT_OR_ADMIN;
|
|
}
|
|
+
|
|
+ public static String awtDependencyCheck() {
|
|
+ try {
|
|
+ new java.awt.Color(0);
|
|
+ } catch (UnsatisfiedLinkError e) {
|
|
+ return e.getClass().getName() + ": " + e.getMessage();
|
|
+ }
|
|
+
|
|
+ return null;
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
|
index 1147044f2c4c2e9510cb6e5c38b6abe85ec994e1..a3c400bb4ee5d8f2985f4bc7e3e35be548177cc6 100644
|
|
--- a/src/main/java/net/minecraft/server/Main.java
|
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
|
@@ -170,6 +170,18 @@ public class Main {
|
|
return;
|
|
}
|
|
|
|
+ // Paper start - Warn on headless
|
|
+ String awtException = io.papermc.paper.util.ServerEnvironment.awtDependencyCheck();
|
|
+ if (awtException != null) {
|
|
+ Main.LOGGER.error("You are using a headless JRE distribution.");
|
|
+ Main.LOGGER.error("This distribution is missing certain graphic libraries that the Minecraft server needs to function.");
|
|
+ Main.LOGGER.error("For instructions on how to install the non-headless JRE, see https://docs.papermc.io/misc/java-install");
|
|
+ Main.LOGGER.error("");
|
|
+ Main.LOGGER.error(awtException);
|
|
+ return;
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
org.spigotmc.SpigotConfig.disabledAdvancements = spigotConfiguration.getStringList("advancements.disabled"); // Paper - fix SPIGOT-5885, must be set early in init
|
|
// Paper start - fix SPIGOT-5824
|
|
File file;
|