summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java9
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftServer.java7
2 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index 6087692c..f11d2b27 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -106,7 +106,14 @@ public class NetServerHandler extends NetHandler {
this.h = false;
++this.f;
// 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
if ((long) this.f - this.l > 20L) {
this.l = (long) this.f;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 500c4909..f11f7329 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -485,7 +485,12 @@ public final class CraftServer implements Server {
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) {