--- ../src-base/minecraft/net/minecraft/network/rcon/RConThreadClient.java +++ ../src-work/minecraft/net/minecraft/network/rcon/RConThreadClient.java @@ -41,9 +41,9 @@ public void run() { - while (true) + try { - try + while (true) { if (!this.running) { @@ -53,6 +53,12 @@ BufferedInputStream bufferedinputstream = new BufferedInputStream(this.clientSocket.getInputStream()); int i = bufferedinputstream.read(this.buffer, 0, 1460); + if (i < 10) + { + this.running = false; // Cauldron + return; + } + if (10 <= i) { byte b0 = 0; @@ -110,26 +116,23 @@ } } } + } catch (SocketTimeoutException sockettimeoutexception) { - break; + return; } catch (IOException ioexception) { - break; + return; } catch (Exception exception1) { field_164005_h.error("Exception whilst parsing RCON input", exception1); - break; } finally { this.closeSocket(); } - - return; - } } private void sendResponse(int p_72654_1_, int p_72654_2_, String p_72654_3_) throws IOException @@ -167,6 +170,7 @@ private void closeSocket() { + this.running = false; if (null != this.clientSocket) { try