Archiviert
13
0

Fix crash from console-commands throwing exception. Fixes BUKKIT-2479

When 1.3.1 was released, a try-catch block was removed from the tick
loop that called the method in NMS to handle commands. This restores a
try-catch to prevent the console from crashing the server.
Dieser Commit ist enthalten in:
Wesley Wolfe 2012-09-06 22:11:17 -05:00
Ursprung c710ca827f
Commit 4d5894e4cb
2 geänderte Dateien mit 14 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -106,7 +106,14 @@ public class NetServerHandler extends NetHandler {
this.h = false; this.h = false;
++this.f; ++this.f;
// this.minecraftServer.methodProfiler.a("packetflow"); // CraftBukkit - not in production code // this.minecraftServer.methodProfiler.a("packetflow"); // CraftBukkit - not in production code
this.networkManager.b(); // CraftBukkit start
try {
this.networkManager.b();
} catch (Exception ex) {
logger.log(Level.WARNING, "Exception from " + this.player.name, ex);
this.disconnect(ex.getClass().getName());
}
// CraftBukkit end
// this.minecraftServer.methodProfiler.c("keepAlive"); // CraftBukkit - not in production code // this.minecraftServer.methodProfiler.c("keepAlive"); // CraftBukkit - not in production code
if ((long) this.f - this.l > 20L) { if ((long) this.f - this.l > 20L) {
this.l = (long) this.f; this.l = (long) this.f;

Datei anzeigen

@ -485,7 +485,12 @@ public final class CraftServer implements Server {
return true; return true;
} }
} }
return dispatchCommand(sender, serverCommand.command); try {
return dispatchCommand(sender, serverCommand.command);
} catch (Exception ex) {
getLogger().log(Level.WARNING, "Unexpected exception while parsing console command \"" + serverCommand.command + '"', ex);
return false;
}
} }
public boolean dispatchCommand(CommandSender sender, String commandLine) { public boolean dispatchCommand(CommandSender sender, String commandLine) {