private void enableJMX() {
		/* Enable the JMX Portion of the System */
		//acquiring platform MBeanServer

		// Set the hostname if we need to 
		if(null != this.hostname) {
			log.info("MineJMX: Using Minecraft Server hostname of: " + this.hostname) ;
			System.setProperty("java.rmi.server.hostname", this.hostname) ; 
		}
		
		mbs = ManagementFactory.getPlatformMBeanServer();
		if( null == mbs ) {
			log.info("Platform MBean Server isnull creating a new mbs") ;
			mbs = MBeanServerFactory.createMBeanServer();
		}

		//creating JMXConnectorServer instance
		JMXServiceURL url;
		
		try {
			String addr = "127.0.0.1" ;
			if ( this.ip.equals("")) {
				addr = Bukkit.getServer().getIp() ;
				log.info("MineJMX: Using Minecraft Server IP of: " + addr) ;
			} else if (this.ip.equals("*")) {
				addr = InetAddress.getLocalHost().getHostAddress() ;
				log.info("MineJMX: Using localhostname IP of: " + addr) ;
			} else {
				addr = this.ip ;
				log.info("MineJMX: Using Configured IP of: " + addr) ;
			}
						
			url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"
			      + addr + ":" + this.port + "/jmxrmi");
			Map<String, Object> env = new HashMap<String,Object>() ;
			env.put(JMXConnectorServer.AUTHENTICATOR, auth) ;				
			log.info("Registering JMX Server On: " + url.toString()) ;
			cs = JMXConnectorServerFactory.newJMXConnectorServer(url, env , mbs);
			reg = LocateRegistry.createRegistry(this.port);

			//starting JMXConnectorServer
			cs.start();

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}