9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2026-01-04 15:41:30 +00:00

Bug when on intel cpu and unstable mode and changed how SFG works

This commit is contained in:
RePixelatedMC
2023-11-29 18:04:56 +01:00
parent d830aa1d1a
commit 80d8449f02
5 changed files with 92 additions and 73 deletions

View File

@@ -770,7 +770,6 @@ public class Iris extends VolmitPlugin implements Listener {
};
String[] splash = unstablemode ? splashunstable : splashstable; // Choose the appropriate splash array based on unstablemode
OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean();
String osArch = osBean.getArch();
String osName = osBean.getName();
@@ -778,17 +777,30 @@ public class Iris extends VolmitPlugin implements Listener {
if (!passedserversoftware) {
Iris.info("Server type & version: " + C.RED + Bukkit.getVersion());
} else { Iris.info("Server type & version: " + Bukkit.getVersion()); }
if (!instance.getServer().getVersion().contains("Purpur")) {
if (instance.getServer().getVersion().contains("Spigot") && instance.getServer().getVersion().contains("Bukkit")) {
Iris.info(C.RED + " Iris requires paper or above to function properly..");
} else {
Iris.info(C.YELLOW + "Purpur is recommended to use with iris.");
}
}
Iris.info("Server OS: " + osName + " (" + osArch + ")");
if(unstablemode) Iris.info("Server Cpu: " + C.DARK_RED + getCPUModel());
if(getCPUModel().contains("Intel")) Iris.info("Server Cpu: " + C.BLUE + getCPUModel());else {
if (getCPUModel().contains("Ryzen")) Iris.info("Server Cpu: " + C.RED + getCPUModel()); else {
Iris.info("Server Cpu: " + C.DARK_GRAY + getCPUModel());
try {
if (getCPUModel().contains("Intel")) {
Iris.info("Server Cpu: " + C.BLUE + getCPUModel());
}
if (getCPUModel().contains("Ryzen")) {
Iris.info("Server Cpu: " + C.RED + getCPUModel());
}
if (!getCPUModel().contains("Ryzen") && !getCPUModel().contains("Intel")) {
Iris.info("Server Cpu: " + C.GRAY + getCPUModel());
}
} catch (Exception e){
Iris.info("Server Cpu: " + C.DARK_RED + "Failed");
}
if(!getCPUModel().contains("Intel") && !getCPUModel().contains("Ryzen")) Iris.info("Server Cpu: " + C.DARK_GRAY + getCPUModel());
Iris.info("Process Threads: " + getCPUThreads());
Iris.info("Process Memory: " + getHardware.getProcessMemory() + " MB");

View File

@@ -6,6 +6,7 @@ import com.volmit.iris.util.format.C;
public class IrisSafeguard {
public static boolean unstablemode = false;
public static boolean stablemode = false;
public static void IrisSafeguardSystem() {
Iris.info("Enabled Iris SafeGuard");
ServerBootSFG.BootCheck();

View File

@@ -1,27 +1,26 @@
package com.volmit.iris.core.safeguard;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.nms.INMS;
import com.volmit.iris.core.nms.v1X.NMSBinding1X;
import com.volmit.iris.util.SFG.WorldHandlerSFG;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.plugin.Plugin;
import java.io.File;
import java.util.*;
import static com.volmit.iris.Iris.instance;
import static com.volmit.iris.core.safeguard.IrisSafeguard.stablemode;
import static com.volmit.iris.core.safeguard.IrisSafeguard.unstablemode;
import static com.volmit.iris.core.tools.IrisToolbelt.access;
public class ServerBootSFG {
public static final Map<String, Boolean> incompatiblePlugins = new HashMap<>();
public static boolean unsuportedversion = false;
protected static boolean safeguardPassed;
public static boolean passedserversoftware = true;
protected static byte count;
protected static int count;
protected static byte severityLow;
protected static byte severityMedium;
protected static byte severityHigh;
public static String allIncompatiblePlugins;
public static void BootCheck() {
@@ -40,7 +39,7 @@ public class ServerBootSFG {
pluginName = plugin.getName();
Boolean flag = incompatiblePlugins.get(pluginName);
if (flag != null && !flag) {
count++;
severityHigh++;
incompatiblePlugins.put(pluginName, true);
}
}
@@ -60,17 +59,22 @@ public class ServerBootSFG {
{
passedserversoftware = false;
joiner.add("Server Software");
count++;
severityHigh++;
}
if (INMS.get() instanceof NMSBinding1X) {
unsuportedversion = true;
joiner.add("Unsupported Minecraft Version");
count++;
severityHigh++;
}
allIncompatiblePlugins = joiner.toString();
safeguardPassed = (count == 0);
safeguardPassed = (severityHigh == 0 && severityMedium == 0 && severityLow == 0);
count = severityHigh + severityMedium + severityLow;
if(safeguardPassed){
stablemode = true;
Iris.safeguard("Stable mode has been activated.");
}
if(!safeguardPassed){
unstablemode = true;
Iris.safeguard("Unstable mode has been activated.");

View File

@@ -0,0 +1,56 @@
package com.volmit.iris.core.safeguard;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.util.format.C;
public class UnstableModeSFG {
public static void selectMode(){
if (IrisSafeguard.unstablemode) {
Iris.safeguard(C.DARK_RED + "Iris is running in Unstable Mode");
unstable();
} else {
stable();
}
}
public static void stable(){
Iris.safeguard(C.BLUE + "Iris is running Stable");
}
public static void unstable() {
UtilsSFG.printIncompatibleWarnings();
if (IrisSafeguard.unstablemode) {
Iris.info("");
Iris.info(C.DARK_GRAY + "--==<" + C.RED + " IMPORTANT " + C.DARK_GRAY + ">==--");
Iris.info(C.RED + "Iris is running in unstable mode which may cause the following issues:");
Iris.info(C.DARK_RED + "Server Issues");
Iris.info(C.RED + "- Server won't boot");
Iris.info(C.RED + "- Data Loss");
Iris.info(C.RED + "- Unexpected behavior.");
Iris.info(C.RED + "- And More...");
Iris.info(C.DARK_RED + "World Issues");
Iris.info(C.RED + "- Worlds can't load due to corruption.");
Iris.info(C.RED + "- Worlds may slowly corrupt until they can't load.");
Iris.info(C.RED + "- World data loss.");
Iris.info(C.RED + "- And More...");
Iris.info(C.DARK_RED + "ATTENTION: " + C.RED + "While running Iris in unstable mode, you won't be eligible for support.");
Iris.info(C.DARK_RED + "CAUSE: " + C.RED + UtilsSFG.MSGIncompatibleWarnings());
if (IrisSettings.get().getGeneral().bootUnstable) {
Iris.info(C.DARK_RED + "Boot Unstable is set to true, continuing with the startup process.");
} else {
Iris.info(C.DARK_RED + "Go to plugins/iris/settings.json and set ignoreUnstable to true if you wish to proceed.");
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// Handle interruption
}
}
}
Iris.info("");
}
}
}

View File

@@ -1,29 +1,13 @@
package com.volmit.iris.core.safeguard;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.util.format.C;
public class UtilsSFG {
public static void splash(){
UtilsSFG.unstableMode();
UtilsSFG.supportedServerSoftware();
UtilsSFG.printIncompatibleWarnings();
UtilsSFG.unstablePrompt();
}
public static void unstableMode(){
if (IrisSafeguard.unstablemode) {
Iris.safeguard(C.DARK_RED + "Iris is running in Unstable Mode");
} else {
Iris.safeguard(C.BLUE + "Iris is running Stable");
}
}
public static void supportedServerSoftware(){
if (!ServerBootSFG.passedserversoftware) {
Iris.safeguard(C.DARK_RED + "Server is running unsupported server software");
Iris.safeguard(C.RED + "Supported: Purpur, Pufferfish, Paper, Spigot, Bukkit");
}
UnstableModeSFG.selectMode();
}
public static void printIncompatibleWarnings(){
// String SupportedIrisVersion = getDescription().getVersion(); //todo Automatic version
@@ -31,7 +15,6 @@ public class UtilsSFG {
Iris.safeguard(C.BLUE + "0 Conflicts found");
} else {
Iris.safeguard(C.DARK_RED + "" + ServerBootSFG.count + " Conflicts found");
IrisSafeguard.unstablemode = true;
if (ServerBootSFG.incompatiblePlugins.get("Multiverse-Core")) {
Iris.safeguard(C.RED + "Multiverse");
@@ -62,41 +45,4 @@ public class UtilsSFG {
public static String MSGIncompatibleWarnings() {
return ServerBootSFG.allIncompatiblePlugins;
}
public static void unstablePrompt() {
if (IrisSafeguard.unstablemode) {
Iris.info("");
Iris.info(C.DARK_GRAY + "--==<" + C.RED + " IMPORTANT " + C.DARK_GRAY + ">==--");
Iris.info(C.RED + "Iris is running in unstable mode what may cause the following issues.");
Iris.info(C.DARK_RED + "Server Issues");
Iris.info(C.RED + "- Server wont boot");
Iris.info(C.RED + "- Data Loss");
Iris.info(C.RED + "- Unexpected behavior.");
Iris.info(C.RED + "- And More..");
Iris.info(C.DARK_RED + "World Issues");
Iris.info(C.RED + "- Worlds cant load due to corruption..");
Iris.info(C.RED + "- Worlds may slowly corrupt till they wont be able to load.");
Iris.info(C.RED + "- World data loss.");
Iris.info(C.RED + "- And More..");
Iris.info(C.DARK_RED + "ATTENTION:" + C.RED + " While running iris in unstable mode you wont be eligible for support.");
Iris.info(C.DARK_RED + "CAUSE: " + C.RED + MSGIncompatibleWarnings());
Iris.info("");
if (IrisSettings.get().getGeneral().bootUnstable) {
Iris.info(C.DARK_RED + "Boot Unstable is set to true, continuing with the startup process.");
}
if (!IrisSettings.get().getGeneral().isBootUnstable()) {
Iris.info(C.DARK_RED + "Go to plugins/iris/settings.json and set ignoreUnstable to true if you wish to proceed.");
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// No
}
}
}
Iris.info("");
}
}
}