@Override public void forceLoad(ICommandSender sender) { config.load(); String cat = "Snooper"; ModuleSnooper.port = config.get(cat, "port", 25565, "The query port").getInt(); ModuleSnooper.hostname = config.get(cat, "hostname", "", "The query hostname/IP").value; ModuleSnooper.autoReboot = config .get( cat, "autoReload", true, "Automatically reload the query system if a fatal error occurs") .getBoolean(true); ModuleSnooper.enable = config.get(cat, "enable", false, "This one is obvious, don't you think?").getBoolean(false); for (Response response : ResponseRegistry.getAllresponses()) { String subCat = cat + "." + response.getName(); response.allowed = config .get( subCat, "enable", true, "If false, this response won't be allowed on this server.") .getBoolean(true); response.readConfig(subCat, config); } ModuleSnooper.startQuery(); }
@Override public void forceSave() { String cat = "Snooper"; config.get(cat, "port", 25565, "").value = "" + ModuleSnooper.port; config.get(cat, "hostname", "", "The query hostname/IP").value = ModuleSnooper.hostname; config.get( cat, "autoReload", true, "Automatically reload the query system if a fatal error occurs") .value = "" + ModuleSnooper.autoReboot; config.get(cat, "enable", false, "This one is obvious, don't you think?").value = "" + ModuleSnooper.enable; for (Response response : ResponseRegistry.getAllresponses()) { String subCat = cat + "." + response.getName(); config.get(subCat, "enable", true, "If false, this response won't be allowed on this server.") .value = "" + response.allowed; response.writeConfig(subCat, config); } config.save(); }
/** Parses an incoming DatagramPacket, returning true if the packet was valid */ private boolean parseIncomingPacket(DatagramPacket par1DatagramPacket) throws IOException { byte[] var2 = par1DatagramPacket.getData(); int var3 = par1DatagramPacket.getLength(); SocketAddress var4 = par1DatagramPacket.getSocketAddress(); logDebug("Packet len " + var3 + " [" + var4 + "]"); if (3 <= var3 && -2 == var2[0] && -3 == var2[1]) { logDebug("Packet \'" + RConUtils.getByteAsHexString(var2[2]) + "\' [" + var4 + "]"); if (var2[2] == 9) { sendAuthChallenge(par1DatagramPacket); logDebug("Challenge [" + var4 + "]"); return true; } else { if (!verifyClientAuth(par1DatagramPacket).booleanValue()) { logDebug("Invalid challenge [" + var4 + "]"); return false; } else { Response response = ResponseRegistry.getResponse(var2[2]); if (response == null) { return false; } byte[] bt = response.getResponceByte( getRequestId(par1DatagramPacket.getSocketAddress()), par1DatagramPacket); logDebug(new String(bt)); sendResponsePacket(bt, par1DatagramPacket); logDebug("Case " + var2[2] + " [" + var4 + "] "); return true; } } } else { logDebug("Invalid packet [" + var4 + "]"); return false; } }