LagAssist is a plugin that provides tools to prevent, analyse or resolve lag.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.8 KiB

package cx.sfy.LagAssist.safety;
import java.io.File;
import java.io.IOException;
import org.bukkit.Bukkit;
import cx.sfy.LagAssist.Main;
public class SafetyManager {
public static boolean enabled = false;
public static boolean crash_debug = false;
public static void Enabler(boolean reload) {
enabled = Main.config.getBoolean("safety-manager.enabled");
crash_debug = Main.config.getBoolean("safety-manager.anti-crasher.settings.debug");
if (!enabled) {
return;
}
if (!reload) {
try {
long bytes = new File(".").getCanonicalFile().getUsableSpace();
if (Main.config.getLong("safety-manager.no-space.startup-space") > bytes) {
Bukkit.getLogger().warning("NOT ENOUGH MEMORY TO START SERVER. SHUTTING DOWN.");
Bukkit.getServer().shutdown();
}
} catch (IOException e) {
e.printStackTrace();
}
// SafetyAnticrash.startTask();
startTask();
}
Bukkit.getLogger().info(" §e[§a✔§e] §fSafety Manager.");
}
public static void startTask() {
Bukkit.getScheduler().runTaskTimerAsynchronously(Main.p, new Runnable() {
@Override
public void run() {
long bytes;
try {
bytes = new File(".").getCanonicalFile().getUsableSpace();
if (Main.config.getLong("safety-manager.no-space.shutdown-space") < bytes) {
return;
}
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.p, new Runnable() {
@Override
public void run() {
Bukkit.getLogger().warning(
"Server doesn't have enough memory to keep running. Shutting down server!");
Bukkit.getServer().shutdown();
}
}, 0L);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 60L, 1L);
}
}