Skip to content
This repository was archived by the owner on Nov 24, 2018. It is now read-only.

Commit ff8aace

Browse files
committed
Server and upgrade enchances
You can not have the server only open packages without upgrading nodes You can now set a minimum minute limit for the bot to use boosters Fixed a bug if the server was not installed
1 parent 687400f commit ff8aace

File tree

4 files changed

+65
-28
lines changed

4 files changed

+65
-28
lines changed

src/main/java/net/olympiccode/vhackos/bot/core/server/ServerConfigValues.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@
44

55
public class ServerConfigValues {
66

7-
@ConfigOption(path = "networking.enabled", defaultValue = "true", options = {"true", "false"})
7+
@ConfigOption(path = "server.enabled", defaultValue = "true", options = {"true", "false"})
88
public static boolean enabled;
99

10+
@ConfigOption(path = "server.upgradeNodes", defaultValue = "true", options = {"true", "false"})
11+
public static boolean upgradeNodes;
12+
13+
@ConfigOption(path = "server.addNewNodes", defaultValue = "true", options = {"true", "false"})
14+
public static boolean addNewNodes;
15+
1016
}

src/main/java/net/olympiccode/vhackos/bot/core/server/ServerService.java

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.olympiccode.vhackos.bot.core.server;
22

33
import io.sentry.Sentry;
4+
import net.olympiccode.vhackos.api.entities.AppType;
45
import net.olympiccode.vhackos.api.server.Server;
56
import net.olympiccode.vhackos.bot.core.BotService;
67
import net.olympiccode.vhackos.bot.core.vHackOSBot;
@@ -35,7 +36,9 @@ public void setup() {
3536
if (serverService.isTerminated() || serverService.isShutdown()) {
3637
serverService = Executors.newScheduledThreadPool(1, new ServerServiceFactory());
3738
}
38-
serverService.scheduleAtFixedRate(() -> runService(), 0, 330000, TimeUnit.MILLISECONDS);
39+
if (vHackOSBot.api.getAppManager().getApp(AppType.Server).isInstalled()) {
40+
serverService.scheduleAtFixedRate(() -> runService(), 0, 330000, TimeUnit.MILLISECONDS);
41+
}
3942
}
4043

4144
@Override
@@ -48,30 +51,47 @@ public void runService() {
4851
LOG.info("Opened " + server.getPackages() + " server packages, got " + result.getServer() + " server, " + result.getAv() + " av, " + result.getFw() + " fw and " + result.getBoost() + " boosters.");
4952
}
5053
server.update();
51-
while (server.getServerPieces() > 9 && (server.getServerStrength() < server.getServerStrengthMax())) {
52-
LOG.info("Upgrading server's server...");
53-
if (server.upgrade(Server.NODE_TYPE.SERVER, 1)) LOG.info("Upgraded server's server.");
54-
else LOG.info("Failed to upgrade server's server...");
55-
}
56-
server.update();
57-
int fwNodes = (int) Arrays.stream(server.getFirewallStrength()).filter(value -> value != 0).count();
58-
for (int i = 0; i < fwNodes; i++) {
59-
LOG.info("Upgrading server's firewall node " + (i + 1) + "...");
60-
while (server.getFirewallPieces() > 9 && (server.getFirewallStrength()[i] < server.getFirewallStrengthMax()[i])) {
61-
if (server.upgrade(Server.NODE_TYPE.FW, i + 1))
62-
LOG.info("Upgraded server's firewall node " + (i + 1) + ".");
63-
else LOG.info("Failed to upgrade server's firewall node " + (i + 1) + ".");
54+
if (ServerConfigValues.upgradeNodes) {
55+
if (server.getServerPieces() > 9) {
56+
int times = 0;
57+
int cur = server.getServerStrength();
58+
LOG.info("Upgrading server's server...");
59+
while (server.getServerPieces() > 9 && (server.getServerStrength() < server.getServerStrengthMax())) {
60+
if (server.upgrade(Server.NODE_TYPE.SERVER, 1)) times++;
61+
}
62+
server.update();
63+
LOG.info("Upgraded server's server " + times + " times. (" + cur + "->" + server.getServerStrength() + ")");
6464
}
65-
}
6665

67-
server.update();
68-
int avNodes = (int) Arrays.stream(server.getAntivirusStrength()).filter(value -> value != 0).count();
69-
for (int i = 0; i < avNodes; i++) {
70-
LOG.info("Upgrading server's antivirus node " + (i + 1) + "...");
71-
while (server.getAntivirusPieces() > 9 && (server.getAntivirusStrength()[i] < server.getAntivirusStrengthMax()[i])) {
72-
if (server.upgrade(Server.NODE_TYPE.AV, i + 1))
73-
LOG.info("Upgraded server's antivirus node " + (i + 1) + ".");
74-
else LOG.info("Failed to upgrade server's antivirus node " + (i + 1) + ".");
66+
server.update();
67+
int fwNodes = (int) Arrays.stream(server.getFirewallStrength()).filter(value -> value != 0).count();
68+
for (int i = 0; i < fwNodes; i++) {
69+
if (server.getFirewallPieces() > 9) {
70+
LOG.info("Upgrading server's firewall node " + (i + 1) + "...");
71+
int times = 0;
72+
int cur = server.getFirewallStrength()[i];
73+
while (server.getFirewallPieces() > 9 && (server.getFirewallStrength()[i] < server.getFirewallStrengthMax()[i])) {
74+
if (server.upgrade(Server.NODE_TYPE.FW, i + 1)) times++;
75+
}
76+
server.update();
77+
LOG.info("Upgraded server's firewall node " + (i + 1) + " " + times + " times. (" + cur + "->" + server.getFirewallStrength()[i] + ")");
78+
}
79+
}
80+
81+
82+
server.update();
83+
int avNodes = (int) Arrays.stream(server.getAntivirusStrength()).filter(value -> value != 0).count();
84+
for (int i = 0; i < avNodes; i++) {
85+
if (server.getAntivirusPieces() > 9) {
86+
LOG.info("Upgrading server's antivirus node " + (i + 1) + "...");
87+
int times = 0;
88+
int cur = server.getAntivirusStrength()[0];
89+
while (server.getAntivirusPieces() > 9 && (server.getAntivirusStrength()[i] < server.getAntivirusStrengthMax()[i])) {
90+
if (server.upgrade(Server.NODE_TYPE.AV, i + 1)) times++;
91+
}
92+
server.update();
93+
LOG.info("Upgraded server's antivirus node " + (i + 1) + " " + times + " times. (" + cur + "->" + server.getAntivirusStrength()[i] + ")");
94+
}
7595
}
7696
}
7797

src/main/java/net/olympiccode/vhackos/bot/core/updating/UpdateConfigValues.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,7 @@ public class UpdateConfigValues {
3131
@ConfigOption(path = "update.list", defaultValue = "[]", options = {""})
3232
public static String[] updateList;
3333

34+
@ConfigOption(path = "update.boostMinimumMinutes", defaultValue = "20", options = {""})
35+
public static int boostMinimumMinutes;
36+
3437
}

src/main/java/net/olympiccode/vhackos/bot/core/updating/UpdateService.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,18 @@ public void runService() {
137137

138138
void proccessBoosts() {
139139
if (UpdateConfigValues.useBoosters && vHackOSBot.api.getTaskManager().getBoosters() > UpdateConfigValues.minBoosters) {
140-
if (vHackOSBot.api.getTaskManager().boostAll()) {
141-
LOG.info("Boosted the update.");
142-
} else {
143-
LOG.error("Failed to boost the update.");
140+
final long[] bigger = {0L};
141+
vHackOSBot.api.getTaskManager().getActiveTasks().forEach(task -> {
142+
if (task.getEndTimestamp() > bigger[0]) bigger[0] = task.getEndTimestamp();
143+
});
144+
bigger[0] = bigger[0] - System.currentTimeMillis();
145+
int mins = (int) (bigger[0] / 1000 / 60);
146+
if (mins > UpdateConfigValues.boostMinimumMinutes) {
147+
if (vHackOSBot.api.getTaskManager().boostAll()) {
148+
LOG.info("Boosted the update.");
149+
} else {
150+
LOG.error("Failed to boost the update.");
151+
}
144152
}
145153
}
146154
if (UpdateConfigValues.finishWithNetcoins) {

0 commit comments

Comments
 (0)