aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0787-Improve-logging-and-errors.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0787-Improve-logging-and-errors.patch')
-rw-r--r--patches/server/0787-Improve-logging-and-errors.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/patches/server/0787-Improve-logging-and-errors.patch b/patches/server/0787-Improve-logging-and-errors.patch
new file mode 100644
index 0000000000..243a962373
--- /dev/null
+++ b/patches/server/0787-Improve-logging-and-errors.patch
@@ -0,0 +1,117 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Wed, 14 Dec 2022 15:52:11 -0800
+Subject: [PATCH] Improve logging and errors
+
+Co-authored-by: Jason Penilla <[email protected]>
+
+diff --git a/src/main/java/net/minecraft/advancements/AdvancementTree.java b/src/main/java/net/minecraft/advancements/AdvancementTree.java
+index 2665170b8391a77d6b3fb7ae7b5ccfc0be65acd7..e00d4e0896c0163c43d79af63338de67c7cb0dc4 100644
+--- a/src/main/java/net/minecraft/advancements/AdvancementTree.java
++++ b/src/main/java/net/minecraft/advancements/AdvancementTree.java
+@@ -35,7 +35,7 @@ public class AdvancementTree {
+ this.remove(advancementnode1);
+ }
+
+- AdvancementTree.LOGGER.info("Forgot about advancement {}", advancement.holder());
++ AdvancementTree.LOGGER.debug("Forgot about advancement {}", advancement.holder()); // Paper - Improve logging and errors
+ this.nodes.remove(advancement.holder().id());
+ if (advancement.parent() == null) {
+ this.roots.remove(advancement);
+@@ -77,7 +77,7 @@ public class AdvancementTree {
+ }
+ }
+
+- // AdvancementTree.LOGGER.info("Loaded {} advancements", this.nodes.size()); // CraftBukkit - moved to AdvancementDataWorld#reload
++ // AdvancementTree.LOGGER.info("Loaded {} advancements", this.nodes.size()); // CraftBukkit - moved to AdvancementDataWorld#reload // Paper - Improve logging and errors; you say it was moved... but it wasn't :) it should be moved however, since this is called when the API creates an advancement
+ }
+
+ private boolean tryInsert(AdvancementHolder advancement) {
+diff --git a/src/main/java/net/minecraft/server/ServerAdvancementManager.java b/src/main/java/net/minecraft/server/ServerAdvancementManager.java
+index 3255578c8c37d977bb6e89d27194a4dbff822014..2172e23b22b411fe79e930128bd43ac07becb620 100644
+--- a/src/main/java/net/minecraft/server/ServerAdvancementManager.java
++++ b/src/main/java/net/minecraft/server/ServerAdvancementManager.java
+@@ -69,6 +69,7 @@ public class ServerAdvancementManager extends SimpleJsonResourceReloadListener {
+ AdvancementTree advancementtree = new AdvancementTree();
+
+ advancementtree.addAll(this.advancements.values());
++ LOGGER.info("Loaded {} advancements", advancementtree.nodes().size()); // Paper - Improve logging and errors; moved from AdvancementTree#addAll
+ Iterator iterator = advancementtree.roots().iterator();
+
+ while (iterator.hasNext()) {
+diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+index aa39bdb0a4ba8fedf5052ea9700afa7d4d2a4300..b4af03c4bdd1ce0861f36c3b75fc7e89d701c46a 100644
+--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
++++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+@@ -282,6 +282,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
+ DedicatedServer.LOGGER.warn("**** FAILED TO BIND TO PORT!");
+ DedicatedServer.LOGGER.warn("The exception was: {}", ioexception.toString());
+ DedicatedServer.LOGGER.warn("Perhaps a server is already running on that port?");
++ if (true) throw new IllegalStateException("Failed to bind to port", ioexception); // Paper - Propagate failed to bind to port error
+ return false;
+ }
+
+diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+index 3b1e231c637750821a756c877c9c6b7150b184b8..e5b466f71d4c65eb31210ccad05a9fb603d53098 100644
+--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+@@ -3400,7 +3400,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+
+ this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator));
+ } catch (ProfilePublicKey.ValidationException profilepublickey_b) {
+- ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage());
++ // ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage()); // Paper - Improve logging and errors
+ this.disconnect(profilepublickey_b.getComponent(), profilepublickey_b.kickCause); // Paper - kick event causes
+ }
+
+diff --git a/src/main/java/net/minecraft/server/packs/PathPackResources.java b/src/main/java/net/minecraft/server/packs/PathPackResources.java
+index ed1d3d30404dfc6303e746f31295b6b1aa40f204..8d7565eda4536e8aa42dd3dcbcfac38cbf16020a 100644
+--- a/src/main/java/net/minecraft/server/packs/PathPackResources.java
++++ b/src/main/java/net/minecraft/server/packs/PathPackResources.java
+@@ -103,6 +103,12 @@ public class PathPackResources extends AbstractPackResources {
+ try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(path)) {
+ for (Path path2 : directoryStream) {
+ String string = path2.getFileName().toString();
++ // Paper start - Improve logging and errors
++ if (!Files.isDirectory(path2)) {
++ LOGGER.error("Invalid directory entry: {} in {}.", string, this.root, new java.nio.file.NotDirectoryException(string));
++ continue;
++ }
++ // Paper end - Improve logging and errors
+ if (ResourceLocation.isValidNamespace(string)) {
+ set.add(string);
+ } else {
+diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
+index 3270bb6fe1c8b08411e6cad14d48cec886085ee7..407f3c1938b5b5d893b09705fe4930dbdafa3c8e 100644
+--- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
++++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
+@@ -79,7 +79,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener {
+ this.byType = LinkedHashMultimap.create(builder.build());
+ this.byName = Maps.newHashMap(com_google_common_collect_immutablemap_builder.build());
+ // CraftBukkit end
+- RecipeManager.LOGGER.info("Loaded {} recipes", this.byType.size());
++ RecipeManager.LOGGER.info("Loaded {} recipes", this.byName.size()); // Paper - Improve logging and errors; log correct number of recipes
+ }
+
+ // CraftBukkit start
+diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
+index b2812cc8d35074fdcff88beef088d9f63ebbe1a8..dc591702d1ad41209bb80e8d05f4ca11f20816f2 100644
+--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
++++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
+@@ -44,6 +44,7 @@ import org.bukkit.material.MaterialData;
+ */
+ @Deprecated
+ public final class CraftLegacy {
++ private static final org.slf4j.Logger LOGGER = com.mojang.logging.LogUtils.getLogger(); // Paper - Improve logging and errors
+
+ private static final Map<Byte, Material> SPAWN_EGGS = new HashMap<>();
+ private static final Set<String> whitelistedStates = new HashSet<>(Arrays.asList("explode", "check_decay", "decayable", "facing"));
+@@ -264,7 +265,7 @@ public final class CraftLegacy {
+ }
+
+ static {
+- System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!");
++ LOGGER.warn("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!"); // Paper - Improve logging and errors; doesn't need to be an error
+ if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
+ new Exception().printStackTrace();
+ }