public void run() {
		if(System.currentTimeMillis()-this.timer>this.update_time && !this.stop) {
			String heartbeat_url = "http://www.classicube.net/server/heartbeat?";
			heartbeat_url = heartbeat_url + "port="+this.updater.port;
			heartbeat_url = heartbeat_url + "&max="+this.updater.max_players;
			heartbeat_url = heartbeat_url + "&name="+this.updater.server_name;
			heartbeat_url = heartbeat_url + "&public="+this.updater.online_mode;
			heartbeat_url = heartbeat_url + "&version="+this.updater.procotol_version;
			heartbeat_url = heartbeat_url + "&salt="+this.salt;
			heartbeat_url = heartbeat_url + "&users="+this.updater.online_players;
			try {
				InputStream connection = (new URL(heartbeat_url)).openStream();
				byte[] b = new byte[connection.available()];
				connection.read(b);
				connection.close();
				this.updater.log("Sending heartbeat to classicube.net");
				if(!this.already_printed_url) {
					this.updater.log("Use this url to play: "+new String(b));
					FileOutputStream f = new FileOutputStream(new File("externalurl.txt"));
					f.write(b);
					f.close();
					this.updater.log("(Also saved in externalurl.txt)");
					this.already_printed_url = true;
				}
			} catch(Exception e) {
				this.updater.log(""+e.getMessage(),true);
			}
			this.timer = System.currentTimeMillis();
		}
	}