fix: исправляем баг с версией сборки
раньше latestVersion вычислялся как currentVersion + 1 теперь честно получаем версию с сервера через PackDownloader.checkForUpdates() так же обновили места в LaunchMenu и UpdateMenu где используется этот метод
This commit is contained in:
@@ -65,13 +65,14 @@ public class InstallService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PackDownloader downloader = new PackDownloader(instance);
|
PackDownloader downloader = new PackDownloader(instance);
|
||||||
boolean hasUpdate = downloader.checkForUpdates(instance.getServerPackName());
|
int serverVersion = downloader.checkForUpdates(instance.getServerPackName());
|
||||||
|
boolean hasUpdate = serverVersion > 0;
|
||||||
|
|
||||||
return ApiResponse.success(new UpdateCheckResult(
|
return ApiResponse.success(new UpdateCheckResult(
|
||||||
hasUpdate,
|
hasUpdate,
|
||||||
true,
|
true,
|
||||||
instance.getServerVersion(),
|
instance.getServerVersion(),
|
||||||
hasUpdate ? instance.getServerVersion() + 1 : instance.getServerVersion()
|
serverVersion
|
||||||
));
|
));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return ApiResponse.error("Ошибка проверки обновлений: " + e.getMessage());
|
return ApiResponse.error("Ошибка проверки обновлений: " + e.getMessage());
|
||||||
|
|||||||
@@ -351,7 +351,8 @@ public class LaunchMenu {
|
|||||||
System.out.println(ZAnsi.cyan("Проверка обновлений для " + instance.getName()));
|
System.out.println(ZAnsi.cyan("Проверка обновлений для " + instance.getName()));
|
||||||
|
|
||||||
PackDownloader downloader = new PackDownloader(instance);
|
PackDownloader downloader = new PackDownloader(instance);
|
||||||
boolean hasUpdate = downloader.checkForUpdates(instance.getServerPackName());
|
int serverVersion = downloader.checkForUpdates(instance.getServerPackName());
|
||||||
|
boolean hasUpdate = serverVersion > 0;
|
||||||
|
|
||||||
if (!hasUpdate) {
|
if (!hasUpdate) {
|
||||||
System.out.println(ZAnsi.green("Сборка актуальна (v" + instance.getServerVersion() + ")"));
|
System.out.println(ZAnsi.green("Сборка актуальна (v" + instance.getServerVersion() + ")"));
|
||||||
|
|||||||
@@ -66,7 +66,8 @@ public class UpdateMenu {
|
|||||||
PackDownloader downloader = new PackDownloader(instance);
|
PackDownloader downloader = new PackDownloader(instance);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
boolean hasUpdate = downloader.checkForUpdates(instance.getServerPackName());
|
int serverVersion = downloader.checkForUpdates(instance.getServerPackName());
|
||||||
|
boolean hasUpdate = serverVersion > 0;
|
||||||
if (hasUpdate) {
|
if (hasUpdate) {
|
||||||
System.out.println(ZAnsi.yellow(instance.getName() + " - Есть обновление!"));
|
System.out.println(ZAnsi.yellow(instance.getName() + " - Есть обновление!"));
|
||||||
updatableInstances.add(instance);
|
updatableInstances.add(instance);
|
||||||
|
|||||||
@@ -225,15 +225,16 @@ public class PackDownloader {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Проверить наличие обновлений для серверной сборки
|
* Проверить наличие обновлений для серверной сборки
|
||||||
|
* @return версия на сервере, или 0 если нет обновлений
|
||||||
*/
|
*/
|
||||||
public boolean checkForUpdates(String packName) throws Exception {
|
public int checkForUpdates(String packName) throws Exception {
|
||||||
if (!instance.isServerPack()) return false;
|
if (!instance.isServerPack()) return 0;
|
||||||
|
|
||||||
PackManifest manifest = getPackManifest(packName);
|
PackManifest manifest = getPackManifest(packName);
|
||||||
int serverVersion = manifest.getVersion();
|
int serverVersion = manifest.getVersion();
|
||||||
int localVersion = instance.getServerVersion();
|
int localVersion = instance.getServerVersion();
|
||||||
|
|
||||||
return serverVersion > localVersion;
|
return serverVersion > localVersion ? serverVersion : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user