diff --git a/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java b/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java index f2cdc0615..127a94a7f 100644 --- a/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java +++ b/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java @@ -20,7 +20,12 @@ public class FMLSecurityManager extends SecurityManager { String callingClass = classContexts.length > 3 ? classContexts[4].getName() : "none"; String callingParent = classContexts.length > 4 ? classContexts[5].getName() : "none"; // FML is allowed to call system exit and the Minecraft applet (from the quit button) - if (!(callingClass.startsWith("net.minecraftforge.fml.") || ( "net.minecraft.client.Minecraft".equals(callingClass) && "net.minecraft.client.Minecraft".equals(callingParent)) || ("net.minecraft.server.dedicated.DedicatedServer".equals(callingClass) && "net.minecraft.server.MinecraftServer".equals(callingParent)))) + if (!(callingClass.startsWith("net.minecraftforge.fml.") + || "net.minecraft.server.dedicated.ServerHangWatchdog$1".equals(callingClass) + || "net.minecraft.server.dedicated.ServerHangWatchdog".equals(callingClass) + || ( "net.minecraft.client.Minecraft".equals(callingClass) && "net.minecraft.client.Minecraft".equals(callingParent)) + || ("net.minecraft.server.dedicated.DedicatedServer".equals(callingClass) && "net.minecraft.server.MinecraftServer".equals(callingParent))) + ) { throw new ExitTrappedException(); }