diff --git a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch index a5150d8bb..d67492126 100644 --- a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch +++ b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch @@ -167,7 +167,15 @@ final DedicatedServer dedicatedserver = new DedicatedServer(new File(s), serverpropertiesprovider, DataFixesManager.func_210901_a(), yggdrasilauthenticationservice, minecraftsessionservice, gameprofilerepository, playerprofilecache, LoggingChunkStatusListener::new, s1); dedicatedserver.func_71224_l(optionset.valueOf(optionspec7)); dedicatedserver.func_71208_b(optionset.valueOf(optionspec10)); -@@ -948,7 +975,7 @@ +@@ -904,6 +931,7 @@ + Thread thread = new Thread("Server Shutdown Thread") { + public void run() { + dedicatedserver.func_71263_m(true); ++ LogManager.shutdown(); // we're manually managing the logging shutdown on the server. Make sure we do it here at the end. + } + }; + thread.setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(field_147145_h)); +@@ -948,7 +976,7 @@ } public ServerWorld func_71218_a(DimensionType p_71218_1_) { @@ -176,7 +184,7 @@ } public Iterable func_212370_w() { -@@ -987,7 +1014,7 @@ +@@ -987,7 +1015,7 @@ } public String getServerModName() { @@ -185,7 +193,7 @@ } public CrashReport func_71230_b(CrashReport p_71230_1_) { -@@ -1529,6 +1556,31 @@ +@@ -1529,6 +1557,31 @@ public abstract boolean func_213199_b(GameProfile p_213199_1_); diff --git a/src/fmllauncher/resources/log4j2.xml b/src/fmllauncher/resources/log4j2.xml index a4988b7a8..85ade7641 100644 --- a/src/fmllauncher/resources/log4j2.xml +++ b/src/fmllauncher/resources/log4j2.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java b/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java index 1a04a8103..a932b5771 100644 --- a/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java +++ b/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java @@ -86,6 +86,8 @@ public class ClientModLoader public static void begin(final Minecraft minecraft, final ResourcePackList defaultResourcePacks, final IReloadableResourceManager mcResourceManager, DownloadingPackFinder metadataSerializer) { + // force log4j to shutdown logging in a shutdown hook. This is because we disable default shutdown hook so the server properly logs it's shutdown + Runtime.getRuntime().addShutdownHook(new Thread(LogManager::shutdown)); loading = true; ClientModLoader.mc = minecraft; SidedProvider.setClient(()->minecraft);