From d1542ad12d599d8fab2ff8fcf38be27de5ac8bc3 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Wed, 24 Aug 2022 20:45:18 -0500 Subject: [PATCH] make pufferfish.yml relocatable --- .../server/0002-Fix-pufferfish-issues.patch | 47 ++++++++++++++++++- patches/server/0003-Rebrand.patch | 4 +- patches/server/0004-Purpur-config-files.patch | 22 ++++----- .../0027-Disable-outdated-build-check.patch | 4 +- ...e-config-options-per-projectile-type.patch | 4 +- patches/server/0125-Implement-TPSBar.patch | 4 +- .../server/0233-UPnP-Port-Forwarding.patch | 6 +-- ...counts-in-beehives-to-Purpur-clients.patch | 4 +- patches/server/0288-Remove-Timings.patch | 6 +-- 9 files changed, 71 insertions(+), 30 deletions(-) diff --git a/patches/server/0002-Fix-pufferfish-issues.patch b/patches/server/0002-Fix-pufferfish-issues.patch index e3c1d92a1..f6ced8897 100644 --- a/patches/server/0002-Fix-pufferfish-issues.patch +++ b/patches/server/0002-Fix-pufferfish-issues.patch @@ -4,8 +4,32 @@ Date: Sun, 12 Jun 2022 09:18:57 -0500 Subject: [PATCH] Fix pufferfish issues +diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +index 38cb29c646ff496ffaa6553f98a565b71155c464..e03dd590b0c6c8e85d0f78f9ec48168753a92a48 100644 +--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java ++++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +@@ -36,6 +36,7 @@ public class PufferfishConfig { + + private static final YamlFile config = new YamlFile(); + private static int updates = 0; ++ public static File pufferfishFile; // Purpur + + private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) { + ConfigurationSection newSection = new MemoryConfiguration(); +diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +index 519883c5549744e047a8a96afee142746fcb49cd..7cf328cf8d31f1041cb964a5a6289c27fd65d3bd 100644 +--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java ++++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +@@ -223,6 +223,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface + thread.start(); // Paper - start console thread after MinecraftServer.console & PaperConfig are initialized + io.papermc.paper.command.PaperCommands.registerCommands(this); + com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); ++ gg.pufferfish.pufferfish.PufferfishConfig.pufferfishFile = (java.io.File) options.valueOf("pufferfish-settings"); // Purpur + com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now + io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider + // Paper end diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f58873ef4362bfcc618ead099be94ba2dd4d86ed..e4a341351a5f4e1f3ffed1708eb3a1fd81b94f0f 100644 +index e3ba1f8f90b5cb8c8bf315f43dae63cd5ba0d77e..d5b17e284c7305b51f21f908bc2b12b3927d7790 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -770,7 +770,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -18,7 +42,7 @@ index f58873ef4362bfcc618ead099be94ba2dd4d86ed..e4a341351a5f4e1f3ffed1708eb3a1fd private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a2a0bc4874a031c964a5cdb5bc26494cd01351eb..817c501bdf31d8247d0d8d0743c67578184dd0fd 100644 +index 0681a7499755b573c191804b38ac8783eb7d0f32..b6f5d2aa4c6edb61421a553211ce71592d8c767a 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -43,3 +67,22 @@ index 0b08a91ae9dc73c011dbb5f517becac7d08fd1e9..6fbf26eb7da8df2f0a4158ff9f120225 } public org.bukkit.Chunk bukkitChunk; +diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java +index 56a784e943cb5d8b15b41e3e66545ebf166c221c..d9882b1211aea28de4890aa8b121e69a539a7aa0 100644 +--- a/src/main/java/org/bukkit/craftbukkit/Main.java ++++ b/src/main/java/org/bukkit/craftbukkit/Main.java +@@ -164,6 +164,14 @@ public class Main { + .describedAs("Jar file"); + // Paper end + ++ // Purpur Start ++ acceptsAll(asList("pufferfish", "pufferfish-settings"), "File for pufferfish settings") ++ .withRequiredArg() ++ .ofType(File.class) ++ .defaultsTo(new File("pufferfish.yml")) ++ .describedAs("Yml file"); ++ // Purpur end ++ + // Paper start + acceptsAll(asList("server-name"), "Name of the server") + .withRequiredArg() diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index 639ba64aa..2d6b953e4 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -199,10 +199,10 @@ index 92f685b1b6015cdd3e6c50fd39a79e2ad187fc91..98a166edfda01f5e07a144a34fd57f0e public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 519883c5549744e047a8a96afee142746fcb49cd..7c09182f465b66979e1981222d20fa4f574680d5 100644 +index 7cf328cf8d31f1041cb964a5a6289c27fd65d3bd..8a42d36d450c024b1c465d134649a6db6d97bdc3 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -285,11 +285,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -286,11 +286,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!"); DedicatedServer.LOGGER.warn("The server will make no attempt to authenticate usernames. Beware."); // Spigot start diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index c2c401556..4255cbbfb 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -64,10 +64,10 @@ index dd0143f319d4adef8834c513af34b1cce7a94a84..40f6d9845d2405c6e54c5213618e1b21 if (this.source.acceptsSuccess() && !this.silent) { this.source.sendSystemMessage(message); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 7c09182f465b66979e1981222d20fa4f574680d5..629024e5c3f480bd50ae2df9dadb72f06a62c3bf 100644 +index 8a42d36d450c024b1c465d134649a6db6d97bdc3..956e21a45e82e288efa40100d7b4f0f05f5aa6e5 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -223,6 +223,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -223,7 +223,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface thread.start(); // Paper - start console thread after MinecraftServer.console & PaperConfig are initialized io.papermc.paper.command.PaperCommands.registerCommands(this); com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); @@ -79,6 +79,7 @@ index 7c09182f465b66979e1981222d20fa4f574680d5..629024e5c3f480bd50ae2df9dadb72f0 + return false; + } + org.purpurmc.purpur.PurpurConfig.registerCommands(); + gg.pufferfish.pufferfish.PufferfishConfig.pufferfishFile = (java.io.File) options.valueOf("pufferfish-settings"); // Purpur + // Purpur end com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider @@ -152,24 +153,21 @@ index 27b2416f725a57fcdc14378e7c14713978e51783..14669d51d624e7af1a06cff07f451524 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 56a784e943cb5d8b15b41e3e66545ebf166c221c..64489713611840abb069957dcdb495c60c990059 100644 +index d9882b1211aea28de4890aa8b121e69a539a7aa0..323c0e2e96b6900206eed5a42a977c06f0364da3 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -164,6 +164,14 @@ public class Main { - .describedAs("Jar file"); - // Paper end - -+ // Purpur Start +@@ -170,6 +170,11 @@ public class Main { + .ofType(File.class) + .defaultsTo(new File("pufferfish.yml")) + .describedAs("Yml file"); + acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings") + .withRequiredArg() + .ofType(File.class) + .defaultsTo(new File("purpur.yml")) + .describedAs("Yml file"); -+ // Purpur end -+ + // Purpur end + // Paper start - acceptsAll(asList("server-name"), "Name of the server") - .withRequiredArg() diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..6dbb2e10ed244845fe9f857b237589900ea3cf40 diff --git a/patches/server/0027-Disable-outdated-build-check.patch b/patches/server/0027-Disable-outdated-build-check.patch index 8bd4a12f5..d7745c749 100644 --- a/patches/server/0027-Disable-outdated-build-check.patch +++ b/patches/server/0027-Disable-outdated-build-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 64489713611840abb069957dcdb495c60c990059..420300ce19d01f36f071eae44efd4cb32beb0ed6 100644 +index 323c0e2e96b6900206eed5a42a977c06f0364da3..ee15a1f29b7af499ccedb3ff37413d68fb98d270 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -276,7 +276,7 @@ public class Main { +@@ -281,7 +281,7 @@ public class Main { System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } diff --git a/patches/server/0098-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0098-Despawn-rate-config-options-per-projectile-type.patch index 3344177a2..12be50c7d 100644 --- a/patches/server/0098-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0098-Despawn-rate-config-options-per-projectile-type.patch @@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim The config remains for migration purposes. diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java -index 38cb29c646ff496ffaa6553f98a565b71155c464..e077a43cf3f06207234cb445b58dff79eabcb9c6 100644 +index e03dd590b0c6c8e85d0f78f9ec48168753a92a48..da5bcc3c9a650612f832d3e39fea68613ad9e16b 100644 --- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java -@@ -121,6 +121,22 @@ public class PufferfishConfig { +@@ -122,6 +122,22 @@ public class PufferfishConfig { config.setComment(key, String.join("\n", comment), CommentType.BLOCK); } } diff --git a/patches/server/0125-Implement-TPSBar.patch b/patches/server/0125-Implement-TPSBar.patch index fea70bbc4..f753ca329 100644 --- a/patches/server/0125-Implement-TPSBar.patch +++ b/patches/server/0125-Implement-TPSBar.patch @@ -29,10 +29,10 @@ index eb12fed7ee6d7d3a5f5b9e99d8f11b38122cac7e..872632875d1569dd348c78983b260ebe this.hasLoggedStop = true; // Paper if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 629024e5c3f480bd50ae2df9dadb72f06a62c3bf..19bf680e222d7f91a0e7f67b29e3a5e38a35c1e7 100644 +index 956e21a45e82e288efa40100d7b4f0f05f5aa6e5..4bd120ab4d19052ed769c4dd8a682650f0020bbc 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -351,6 +351,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -352,6 +352,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish diff --git a/patches/server/0233-UPnP-Port-Forwarding.patch b/patches/server/0233-UPnP-Port-Forwarding.patch index bf2f23555..91df38556 100644 --- a/patches/server/0233-UPnP-Port-Forwarding.patch +++ b/patches/server/0233-UPnP-Port-Forwarding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6767bf0dfc55092144f2c24139ab65fcc274d045..4503261e2a7b5bdff09212b5ab540c5544287908 100644 +index d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa7d30f25f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -296,6 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop