fix: update checker timeout
This commit is contained in:
parent
13a47fa743
commit
cf8ce5097f
3 changed files with 30 additions and 12 deletions
|
@ -43,7 +43,6 @@ Open an issue in the GitHub [issue tracker](https://github.com/Pyrbu/ZNPCsPlus/i
|
||||||
- [wiki.vg](https://wiki.vg/Main_Page) - Minecraft protocol documentation
|
- [wiki.vg](https://wiki.vg/Main_Page) - Minecraft protocol documentation
|
||||||
- [gson](https://github.com/google/gson) - JSON parsing library made by Google
|
- [gson](https://github.com/google/gson) - JSON parsing library made by Google
|
||||||
- [Mineskin.org](https://mineskin.org/) - Website for raw skin file uploads
|
- [Mineskin.org](https://mineskin.org/) - Website for raw skin file uploads
|
||||||
- [SpigotResourcesAPI](https://github.com/robertlit/SpigotResourcesAPI/) - Spigot API wrapper used for updater
|
|
||||||
- [adventure](https://docs.advntr.dev/) - Minecraft text api
|
- [adventure](https://docs.advntr.dev/) - Minecraft text api
|
||||||
- [DazzleConf](https://github.com/A248/DazzleConf) - Configuration library
|
- [DazzleConf](https://github.com/A248/DazzleConf) - Configuration library
|
||||||
- [Director](https://github.com/Pyrbu/Director) - Command library
|
- [Director](https://github.com/Pyrbu/Director) - Command library
|
||||||
|
|
|
@ -19,7 +19,6 @@ dependencies {
|
||||||
compileOnly "me.clip:placeholderapi:2.11.6" // Placeholder support
|
compileOnly "me.clip:placeholderapi:2.11.6" // Placeholder support
|
||||||
implementation "com.google.code.gson:gson:2.10.1" // JSON parsing
|
implementation "com.google.code.gson:gson:2.10.1" // JSON parsing
|
||||||
implementation "org.bstats:bstats-bukkit:3.0.2" // Plugin stats
|
implementation "org.bstats:bstats-bukkit:3.0.2" // Plugin stats
|
||||||
implementation "me.robertlit:SpigotResourcesAPI:2.0" // Spigot API wrapper for update checker
|
|
||||||
implementation "com.github.retrooper:packetevents-spigot:2.4.0" // Packets
|
implementation "com.github.retrooper:packetevents-spigot:2.4.0" // Packets
|
||||||
implementation "space.arim.dazzleconf:dazzleconf-ext-snakeyaml:1.2.1" // Configs
|
implementation "space.arim.dazzleconf:dazzleconf-ext-snakeyaml:1.2.1" // Configs
|
||||||
implementation "lol.pyr:director-adventure:2.1.2" // Commands
|
implementation "lol.pyr:director-adventure:2.1.2" // Commands
|
||||||
|
@ -40,7 +39,6 @@ shadowJar {
|
||||||
|
|
||||||
// When changing anything here remember to also update the bootstrap
|
// When changing anything here remember to also update the bootstrap
|
||||||
relocate "org.bstats", "lol.pyr.znpcsplus.libraries.bstats"
|
relocate "org.bstats", "lol.pyr.znpcsplus.libraries.bstats"
|
||||||
relocate "me.robertlit.spigotresources", "lol.pyr.znpcsplus.libraries.spigotresources"
|
|
||||||
relocate "net.kyori", "lol.pyr.znpcsplus.libraries.kyori"
|
relocate "net.kyori", "lol.pyr.znpcsplus.libraries.kyori"
|
||||||
relocate "org.checkerframework", "lol.pyr.znpcsplus.libraries.checkerframework"
|
relocate "org.checkerframework", "lol.pyr.znpcsplus.libraries.checkerframework"
|
||||||
relocate "com.google", "lol.pyr.znpcsplus.libraries.google"
|
relocate "com.google", "lol.pyr.znpcsplus.libraries.google"
|
||||||
|
|
|
@ -1,20 +1,21 @@
|
||||||
package lol.pyr.znpcsplus.updater;
|
package lol.pyr.znpcsplus.updater;
|
||||||
|
|
||||||
import me.robertlit.spigotresources.api.Resource;
|
import com.google.gson.JsonObject;
|
||||||
import me.robertlit.spigotresources.api.SpigotResourcesAPI;
|
import com.google.gson.JsonParser;
|
||||||
import org.bukkit.plugin.PluginDescriptionFile;
|
import org.bukkit.plugin.PluginDescriptionFile;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class UpdateChecker extends BukkitRunnable {
|
public class UpdateChecker extends BukkitRunnable {
|
||||||
private final static Logger logger = Logger.getLogger("ZNPCsPlus Update Checker");
|
private final static Logger logger = Logger.getLogger("ZNPCsPlus Update Checker");
|
||||||
private final static int RESOURCE_ID = 109380;
|
private static final String GET_RESOURCE = "https://api.spigotmc.org/simple/0.2/index.php?action=getResource&id=109380";
|
||||||
public final static String DOWNLOAD_LINK = "https://www.spigotmc.org/resources/znpcsplus.109380/";
|
public final static String DOWNLOAD_LINK = "https://www.spigotmc.org/resources/znpcsplus.109380/";
|
||||||
|
|
||||||
private final SpigotResourcesAPI api = new SpigotResourcesAPI(1, TimeUnit.MINUTES);
|
|
||||||
|
|
||||||
private final PluginDescriptionFile info;
|
private final PluginDescriptionFile info;
|
||||||
private Status status = Status.UNKNOWN;
|
private Status status = Status.UNKNOWN;
|
||||||
private String newestVersion = "N/A";
|
private String newestVersion = "N/A";
|
||||||
|
@ -24,9 +25,29 @@ public class UpdateChecker extends BukkitRunnable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
Resource resource = api.getResource(RESOURCE_ID).join();
|
String foundVersion = null;
|
||||||
if (resource == null) return;
|
try {
|
||||||
newestVersion = resource.getVersion();
|
URL getResource = new URL(GET_RESOURCE);
|
||||||
|
HttpURLConnection httpRequest = ((HttpURLConnection) getResource.openConnection());
|
||||||
|
httpRequest.setRequestMethod("GET");
|
||||||
|
httpRequest.setConnectTimeout(5_000);
|
||||||
|
httpRequest.setReadTimeout(5_000);
|
||||||
|
|
||||||
|
if (httpRequest.getResponseCode() == HttpURLConnection.HTTP_OK) {
|
||||||
|
try (InputStreamReader reader = new InputStreamReader(httpRequest.getInputStream())) {
|
||||||
|
JsonObject jsonObject = JsonParser.parseReader(reader).getAsJsonObject();
|
||||||
|
foundVersion = jsonObject.get("current_version").getAsString();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.warning("Failed to check for updates: HTTP response code " + httpRequest.getResponseCode());
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.warning("Failed to check for updates: " + e.getMessage());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (foundVersion == null) return;
|
||||||
|
newestVersion = foundVersion;
|
||||||
|
|
||||||
status = compareVersions(info.getVersion(), newestVersion);
|
status = compareVersions(info.getVersion(), newestVersion);
|
||||||
if (status == Status.UPDATE_NEEDED) notifyConsole();
|
if (status == Status.UPDATE_NEEDED) notifyConsole();
|
||||||
|
|
Loading…
Reference in a new issue